【Dialogue System for Unity】の使い方~その2(ActorとConversationsについて)~

会話の構成 Unity
スポンサーリンク

前書き

前回はDialogue System for Unityの導入からクイックスタートまでを簡単に紹介しましたが、今回はダイアログで必要となるActor(会話するキャラクタ)とConversations(会話)について説明していこうと思います。第1回は以下になります。

Actor(会話するキャラクタ)について

Actorは実際に会話を行うキャラクタを設定することができます。以下に現在私が作成中のゲームで実際に設定しているPlayerとMonkを参考に簡単に説明していこうと思います。

PlayerのActorステータス
MonkのActorステータス

ID

Dialogue System for Unityがユニークに振る番号です。特に使用することはないです。

Use Display Name

デフォルトは無効ですが、有効にすることで画面上に表示する名前を設定することができます。無効のままだとNameで設定した文字が画面上に表示されます。

Portrait Textures/Portrait Sprites

ダイアログメッセージ上に表示する画像を設定できます。TexturesとSpritesの2つがありますが、Dialogue System for UnityのDocumentを読むと、どちらか一方のみの設定が推奨されているようです。(試しにどちらも設定してみましたがエラーなどにならず普通に使えました。とはいえ、推奨設定ではないのため素直にどちらかのみ設定すればよいかと思います)

Custom Node Color

有効にすることでConversationsのNodeに指定の色を設定することができます。いろいろなActorが会話に参加する場合は有効にしたほうがいいと思いますが、Playerと1対1の会話のみであれば無効のままでもよいかと思います。

Is Player

有効にすることで会話の選択をすることができます。以下の例のようにIs Playerが有効のActor(左側の黒くないキャラクタを指します)が会話の選択をできるActorになります。

All Fields

いままで設定した項目の内容を確認できます。設定した内容をコピーしたり貼り付けしたりすることができます。

まとめると

最低限以下の設定を行っていれば会話をするためのActorの下準備は完了です。

  • Plyaerの場合はIs Playerを有効にする。NPCの場合はIs Playerを有効にしない。
  • キャラクタの画像を表示したい場合はPortrait Textures または Poertait Spritesに画像を設定する。

Conversations(会話)について

ConversationsはDialogue Systemの根幹部分になります。Conversationsを設定することでActorが指定の会話をすることができます。以下が簡単に作った一例になります。

Conversationsのインスペクター

Actor/Conversant

会話の受け答えをするキャラクタを設定することができます。参考例だとMonk[2]とPlyaer[1]のみの設定ですが、2人以上指定することも可能です。

Menu Text

Node上に表示するテキストです。未入力の場合、Dialogue Textの内容がNode上に表示されます。

Dialogue Text

会話上で表示されるテキストになります。参考とする画像ではja(日本語)とen(英語)で2つありますが、設定によってローカライズすることも可能です。

まとめると

  • Actor/Conversantでどのキャラクタが会話をするのか
  • Dialogue Textで実際にどんな会話をするのか

という形で設定することができます(ほかにもいろいろとパラメータがありますが、いまだにどういう意味だか分かっていないため分かっている部分のみ記載している形です。)

Conversationsを作ってみた時の動画

以下にConversationsを作った時の動画になります。最小限の会話の作り方になるのでまずはこのレベルまで作れればよいと思います。

動画で行っている操作

  1. Create a New Conversations を押下して新しい会話を作成する
  2. STARTのNodeを選択した状態で右クリックから Create Child Node で新しいNodeを作成する
  3. Create Child Nodeで作成したNodeに対してさらにCreate Child Nodeで新しいNodeを作成する
  4. 何もない空間で右クリックを行い、Arrange Nodes -> Vertically でNodeを整列する
  5. I understand.Edit anyway. をクリック
  6. それぞれのNodeに対してDialogue Textを入力するなど微修正

会話をしたときの動画

作成したConversationsを実行してみました。実行方法がOn Playなので実行したとたんに会話が始まっている関係上「こんにちは」が見えていません。例えば、「ボタンをクリックしたとき」、「指定の範囲に入ったとき」などを会話の開始にすればちゃんと「こんにちは」表示されてくれます。

それぞれのNodeを見てみると順々に実行されることが分かります。今回は条件分岐など入れずに一直線の会話になっていますが、条件分岐を入れても上から下に流れる動きは変わらないため分かりやすいかなと思います。

まとめ

今回はDialogue System for UnityのActorとConversationsについて紹介しました。

会話をする上で最低限必要となる設定の紹介になります。上記2つを設定できるようにあったらある程度会話を作ることが可能になるのかなと思います。他にもDialogue System for Unityにはクエスト機能や時間制限機能などありますが、そちらについてはまた後日紹介勝と思います(と、いいならが私自身やり方が分からないというのもあります…)

次回はTopdown Engineに組み込むためにはどうしたらよいか?を紹介しようと思います。

またTopDown Engineは使わないけどテンプレートを先に見てみたいという方は第4回もご確認ください。

コメント

タイトルとURLをコピーしました