MRが楽しい

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

DialogueSystemのクィックスタートを試す その1

本日は DialogueSystem の勉強枠です。
DialogueSystemのクィックスタートを試してみたので手順を記事にします。

Dialogue System for Unity

Dialogue System for Unity は会話イベントや吹き出しを Unity で簡単に実装できる有料アセットです。
Cinemachine や Input System などのライブラリにも対応しており、様々な機能やサンプルUIを提供します。
assetstore.unity.com

Dialogue Systemのクィックスタート

DialogueSystem には開発に役立つドキュメントページが用意されています。
今回は以下のクィックスタートのページを翻訳しつつ、実際に手順を試したものを記事にします。
www.pixelcrushers.com

動画版ページもありますので、動画で確認したい方はこちらもおススメです。
www.youtube.com

前提条件

事前に Dialogue System のインポートを行った Unity プロジェクトを作成してください。
詳細な手順は以下の記事のアセットのインポートを参照ください。
bluebirdofoz.hatenablog.com

クィックスタート

このセクションでは Dialogue System を使用して会話を作成します。
本セクションで以下のことを学ぶことができます。

・Dialogue System データベースを作成し、会話を記述する。
・Dialogue System Manager コンポーネントを設定する。
・会話を開始する。
・オブジェクトとの対話を行う。
・会話中のプレイヤー操作を無効にする。

Dialogue Systemをセットアップする

初めに新しいシーンを作成します。
メニューから[File -> New Scene]を実行します。

Dialogue System Manager をシーンに配置します。
以下のプレハブをシーンにドラッグして追加します。

Assets/Plugins/Pixel Crushers/Dialogue System/Prefabs/Dialogue Manager.prefab

会話を登録するための Dialogue System データベースを作成する必要があります。
配置した Dialogue Manager オブジェクトを選択し、[initial Database]フィールドの横にある[Create]をクリックします。

データベースファイルの作成ダイアログが開くので、出力先にするフォルダを選択して[保存]をクリックします。

データベースファイルを作成または作成したデータベースファイルをダブルクリックすると、以下の[Dialogue]ウィンドウが開きます。

会話を作成する

次にデータベース内に会話データを作成していきます。
[Dialogue]ウィンドウの[Conversations]タブを開き、[+]ボタンをクリックして新しい会話データを追加します。

[START]ノードを右クリックして[Create Child Node]を選択します。
これで初めに再生される会話ノードが作成されます。

作成された会話ノードを選択して[Dialogue Text]に[Hello]と入力します。

もう一度作成した会話ノードから右クリックして[Create Child Node]を選択し、次の会話ノードを作成します。
こちらの会話ノードには[Dialogue Text]に[Goodby]と入力します。

これで会話の一連の流れを作成できました。
デフォルトでは灰色のノードはNPC(相手)が、青色のノードはPlayer(自分)が話している会話です。

会話をシーンに組み込む

実際に作成した会話データをシーンに組み込んで会話を発生させてみます。
Hierarchy 上で右クリックから[Create Empty]を選択してシーンに Player(自分) オブジェクトを作成します。

次にHierarchy 上で右クリックから[3D Object -> Cube]を選択してシーンに NPC(相手) オブジェクトを作成します。

[Game]ビューで確認できるように NPC オブジェクトの位置(Position)を X:0, Y:0, Z:0 に設定します。

次に NPC オブジェクトに会話を設定します。
NPC オブジェクトを選択し、Inspector ビューの[Add Component]から Dialogue System Trigger を追加します。

Dialogue System Trigger コンポーネントの[Add Action]のプルダウンを開き、[Start Conversation]を実行します。

追加された[Conversation]のプルダウンを開き、先ほど作成した会話データを選択します。

[Conersation Actor]に Player オブジェクトを、[Conversation Conversant]に NPC オブジェクトを設定します。
これで Player と NPC の会話を設定できました。

会話を発生させる

実際に会話を発生させて確認してみます。[Trigger]ドロップダウンを[On Start]に設定します。
これはシーンの開始時に自動で会話を実行する指定になります。

[再生]ボタンをクリックしてシーンを再生します。
再生と同時に NPC の Hello という会話と、それに答える Goodbye という選択肢が表示されれば成功です。

記事が長くなったので分けます。
次は会話の再生タイミングの変更と会話中の制御の設定です。
bluebirdofoz.hatenablog.com