前書き
ゲームシステムにクエストや会話システムを追加するアセットとして「Dialogue System for Unity」というアセットがあります。こちらの評価やレビューを見てみるとかなりの高評価ですが…お値段に対応してかなり難しいアセットとなっています。
Dialogue System for Unityの使い方を触り程度分かってきたので、導入から簡単なクイックスタートまでを今回紹介していこうと思います。
Topdown Engineへの適用について
Dialogue System for UnityのドキュメントページでTopdown Engineに適応する方法がすでに記載されています。以下のURLになります。
とはいえ、書いてあることはDialogue System for Unityをちょっとかじってないと分からない内容になっているので、今回はクイックスタートから実装してみてある程度の理解が深まったらTopdown Engineに適用していこうと思います。
導入
いつも通り、Package Manager からDialogue System for UnityをImportしていきましょう。
![Dialogue System for UnityのImport](https://aquaregia31.com/wp-content/uploads/2023/12/image-8.png)
無事にImportが完了すると以下のWelcome画面が表示されます。TextMeshProや2DPhysicsを使用している場合、以下のチェックボックスにチェックを入れることでDialogue System for Unityと連携していくれるようになります。(ただし、このチェックを入れることで具体的にどのように連携されているかまだ分かってないです…)
![Dialogue System for UnityのWelcome画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-9.png)
クイックスタートについて
Dialogue System for Unityのクイックスタートは以下のURLになっています。まずはこちらのクイックスタートを見ながらダイアログが表示されるところまでやっていきます。
Dialogue Managerの場所とヒエラルキーに設定
Dialogue Managerは以下の場所に格納されています。このDialogue Managerをヒエラルキーに子コピーしましょう
![Dialogue Managerの保存場所](https://aquaregia31.com/wp-content/uploads/2023/12/image-10.png)
以下のように新規作成したSceneにDialogue Managerを配置するだけでOKです。
![Dialogue Managerの設定場所](https://aquaregia31.com/wp-content/uploads/2023/12/image-11.png)
Dialogue System Controllerの設定
Dialogue Managerのオブジェクトを見るとDialogue System Controllerのスクリプトが付与されています。初期設定では以下の状態ですが、このままではダイアログが実行できないため修正する必要があります。
![Dialogue System Controllerの初期設定](https://aquaregia31.com/wp-content/uploads/2023/12/image-12.png)
Initial DatabaseがNoneになっているため、ここを設定する必要があります。初めて使うときはDatabaseがないと思うので、隣にある”Edit“ボタンを押下して新しく作って大丈夫です。
![Initial Databaseの設定](https://aquaregia31.com/wp-content/uploads/2023/12/image-17.png)
新しくDialogue Databaseを作ると以下のようにDialogue Databaseの詳細設定をすることができるTabが表示されます。
![Dialogue Databaseの画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-13.png)
とりあえず、まずは動くことを確認したいため、以下の2か所を設定してみてください。
- ActorsでPlayerとActorを追加(以下は参考なので何でも大丈夫です)
- Conversationsで適当に会話を作成
![Dialogue DatabaseのActors画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-19.png)
![Dialogue DatabaseのConversations画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-14.png)
Dialogue System Triggerの設定
空のオブジェクトを追加し、Dialogue System Triggerを付与してください。その後、Actionsにある「Add Action」から「Start Conversation」を選択してください。
![Dialogue System Triggerの画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-22.png)
今回は実行した時にダイアログを使えるようにしたいため
- Trigger
- Actions
- Start Conversation
を以下のように修正してください。
PlayerとNPCを追加していますが、こちらは特に設定など不要で空のオブジェクトを作成し、Conversation Actor と Conversation Conversant にアタッチしてください。
![Dialogue System Triggerにパラメータを設定した画面](https://aquaregia31.com/wp-content/uploads/2023/12/image-20.png)
動かしてみる
いままでの設定で実行すると以下の動画のようになります。
実行すると画面上部にActorのメッセージ(test)が表示され、そのメッセージに応答する形でPlayerのメッセージ(test2)が表示されるようになります。
まとめ
今回はDialogue System for Unityの導入から簡単なクイックスタートについて紹介しました。
駆け足での説明になりましたが、最低限のDialogue System for Unityの動かし方になります。次回はそれぞれのパラメータの設定内容や会話の組み立て方、Eventの設定の仕方など紹介出来たらいいなと思います。(第2回まで終わればやっとTopdown Engineに適応する方法が説明できるかなと思います。)
コメント