音を再生しても敵キャラには耳がないので、敵キャラの脳みそに伝えられるようシステムを整える必要があります。
ゲームにおいてキャラからキャラ、あるいはシステムからキャラといった流れで情報を伝達するには「メッセージ」を使うと便利です。
メッセージベースによるゲーム駆動
http://tech.cygames.co.jp/archives/2820/
ざっくり説明すると、キャラとキャラは分離した関係にあるが、関係性を繋ぐためにメッセージを使おう。世界に発せられたメッセージをキャラクターそれぞれの思考によって解釈し、行動(振る舞い)を変化させよう。
という感じです。
メッセージを実際にやり取りするシステムにはMessageBrokerを導入するとスムーズに実装出来るようになるかと思います。
UniRxのMessageBrokerが便利という話
https://qiita.com/CST_negi/items/6f9e692df4e4847cf8a9
メッセージを実際に組み込む流れとしては、まずは「音を発した」というメッセージデータを作成します。例えば、
- 発したキャラのID
- 音量
- 位置
- 属性(敵かプレイヤーか弾丸か、等)
などがあればいいでしょうか。表現したいこと次第だと思うので適宜やっていきましょう。
次にプレイヤー側で「音を発した」というメッセージを作成、配信(Publish)します。
敵キャラは、敵キャラが生成されたタイミングで「音を発したというメッセージを受け取るための購読(Subscribe)」を開始し、敵キャラのインスタンスが破棄される、または倒されるまで購読を継続します。
敵キャラは音のメッセージを受け取ったら(聞き取り範囲内かなどの判定を入れつつ)音に反応したアクションを実行します。
といった流れになろうかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/24 15:06