MRが楽しい

MRやVRについて学習したことを書き残す

Dialogue System for Unityを使ってUnityで会話イベントを作ってみる その2

本日は Unity の小ネタ枠です。
Dialogue System for Unityを使ってUnityで会話イベントを作ってみるまでの手順を記事にします。

前回記事

以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

NPCに近づいたときに会話イベントを発生させる

NPC オブジェクトに近づいたのをキッカケに作成した会話イベントを発生させてみます。
キャラクターの代わりになる Capsule オブジェクトをシーンに配置します。

Player キャラクターが近づいたことを判定するための Collider を子オブジェクトに設定します。
物理判定は不要なので[Is Trigger]にチェックを入れておきます。

トリガーから会話イベントを呼び出すため、同オブジェクトに Dialogue System Trigger コンポーネントをシーンに追加します。

[Trigger]を[On On Trigger Enter]に変更します。これで Collider のトリガーで会話イベントが呼び出されるようになります。

このとき、意図しない衝突判定に対してトリガーが発生しないように[Player]タグのみを監視することを推奨するメッセージが表示されます。
案内に従って[Add 'Player' Tag]をクリックすると[Accepted Tags]に[Player]タグが追加されます。

StarterAssets のサンプルシーンはプレイヤーモデルに[Player]タグが設定されているのでプレイヤー側の設定はそのままで問題ありません。
これでプレイヤーが近づいたときのみトリガーが発生するようになります。

次に[Add Action -> Start Conversation]をクリックして会話イベントの呼び出しを設定します。

作成された Action に先ほど作成した会話イベントを設定します。

これで会話イベントの設定は完了です。

動作確認

シーンを再生して動作を確認します。

Capsule オブジェクトに近づくと、以下の通り会話イベントが発生しました。