Dialogue Voice と Dialogue Wave を使用する

様々なリスナー向けおよびダイアログのコンテキストで、ダイアログを設定する方法を学習します。

このチュートリアルでは、MetaHuman をインゲームのキャラクターとして使用して、Unreal Engine で基本的なダイアログ設定を作成する方法について説明します。Dialogue VoiceDialogue Wave を使用して、話している相手に応じてキャラクターのトーンを調整する方法についても説明します。

長めの会話では、会話マネージャー システムの作成が必要になる場合があります。

必要な知識と設定

このページでは、Unreal Engine の アニメーション ブループリント の基本的な知識があることを前提としています。

このページで説明する手順を実行するには、サードパーソン テンプレート をベースとして使用して新しい Unreal Engine プロジェクトを作成します。

MetaHuman をダウンロードおよびエクスポートする

Quixel Bridge を開いて、3 つの MetaHuman をダウンロードします。このチュートリアルでは、AdaCooper および Hana プリセットを使用します。同時に複数の MetaHuman をダウンロードすることができます。

ローカル マシンにダウンロードした後で、MetaHuman をプロジェクトにインポートします。

Import MetaHumans to your Project

ダウンロードした MetaHuman ファイルは、コンテンツ ブラウザ 内の「MetaHumans > [MetaHumanName]」フォルダにあります。たとえば、Ada の場所は、「MetaHumans > Ada」になります。

Ada Blueprint in the Content Browser

この手順の実行方法については、「MetaHuman の使用を開始する」のページを参照してください。

MetaHuman をアニメーション化する

MetaHuman を正常にインポートした後、インゲーム キャラクターとして使用するためにこれを設定できます。「ランタイム時にアニメーションをリターゲティングする」のガイドに従って、ランタイム時に UE5 マネキンから MetaHuman キャラクターにアニメーションをリターゲティングする方法を説明します。

ガイドの完了後、レベルでプレイアブル キャラクターとして使用できる、制御可能なブループリントを MetaHuman ごとに使用できます。

画像をクリックするとフルサイズで表示されます。

MetaHuman のアニメーション化の詳細については、ドキュメントの「MetaHuman をアニメーション化する」のセクションを参照してください。このセクションには、アニメーション ブループリントとアセットの作成、アニメーションのリターゲティング、コントロール リグの使用とフェイシャル リグの使用についてのガイドが記載されています。

Dialogue Voice を作成する

このチュートリアルでは、Ada は Quest NPC であり、Cooper と Hana はプレイアブル キャラクターです。

今回の例のデザイン ドキュメントを簡単に示すとこのようになります。

  • Cooper は、直接対決よりもステルスの方を好む傭兵。

  • Hana は元軍人。直近の大戦闘である Galactic Skirmish 後に Cooper のチームに参加。

  • Ada は戦士。補給護衛任務支援員を Cooper のチームから雇いたいと考えている。

Ada is a Quest NPC

Cooper is a Playable Character

Hana is a Playable Character

Ada (Quest NPC)

Cooper

Hana

  1. 最初に、Dialogue Voice 変数を各 MetaHuman キャラクターに追加する必要があります。コンテンツ ブラウザ で、前のセクションで作成した Ada のブループリントをダブルクリックします。この例では、ブループリント名は「BP_AdaCharacter」です。

    Open Ada's Blueprint

  2. [Add (追加) (+)] ボタンをクリックして、新しい 変数 を追加します。

    Add new Variable to the Blueprint

  3. 新しい変数に「DialogueVoice」と名前を付けて、そのタイプを DialogueVoice Object Reference に設定します。ブループリントをコンパイルして保存します。他のキャラクターのブループリントに対してプロセスを繰り返します。

    Rename the Variable and Set Type to Object Reference

  4. 各キャラクターに使用する Dialogue Voice アセットを作成します。コンテンツ ブラウザ で右クリックし、[Sounds (サウンド)] > [Dialogue (ダイアログ)] > [Dialogue Voice] を選択します。

  5. 新しいアセットに「Ada」と名前を付け、ダブルクリックして開きます。

    Rename new Asset and Open it

  6. デザイン ドキュメントを参照して、Ada の音声は 女性単数 です。ドロップダウンをクリックして、適宜 [Gender (性別)][Plurality (複数)] を設定します。

    Set a Dialogue Voice Asset for Ada

  7. あと 2 回プロセスを繰り返し、Cooper 用に Masculine (男性) かつ Singular (単数)Dialogue Voice アセットを作成します。さらに Hana 用に Feminine (女性)Singular (単数)Dialogue Voice アセットを作成します。

    Set a Dialogue Voice Asset for Cooper Set a Dialogue Voice Asset for Hana

  8. すべての Dialogue Voice アセットを保存して閉じます。

Dialogue Voice アセットを各 MetaHuman に関連付けます。

  1. BP_AdaCharacter ブループリントに切り替えます。DialogueVoice 変数を選択し、[Details (詳細)] パネルに移動します。Dialogue Voice プロパティを Ada に設定します。

    Set a Dialogue Voice property to Ada

  2. プロセスを繰り返して、Dialogue Voice プロパティを Cooper と Hana に設定します。

    Set a Dialogue Voice property to Cooper Set a Dialogue Voice property to Hana

  3. (オプション) カスタム サムネイルを各 Dialogue Voice アセットに追加します。

ワールドにキャラクターを配置して、ビューポートでフレーム化します。コンテンツ ブラウザDialogue Voice アセットを右クリックします。[Asset Actions] > [Capture Thumbnail] の順に選択します。これにより、MetaHuman が各 Dialogue Voice アセットのサムネイルに追加されます。

Add a Custom Thumbnail to the Dialogue Asset

Dialogue Waves をビルドする

この例では、Ada が Cooper と Hana にあいさつします。ダイアログの各行では、これに関連付けられた Dialogue Wave アセットが必要です。

  1. コンテンツ ブラウザ で右クリックし、[Audio (オーディオ)] > [Dialogue (ダイアログ)] > [Dialogue Wave] を選択して、新しい Dialogue Wave を作成します。

  2. 新しいアセットに「QuestGreeting」と名前を付け、ダブルクリックして開きます。

  3. Spoken Text に、「Hey!Could you come over here?I need your help with something important.」と入力します。Ada が Cooper と Hana に話しかけているテキストは同じものですが、ゲーム デザイン ドキュメントには、テキストの話し方がリスナーごとに異なるようにするためのヒントが記載されています。これは、2 種類の Dialogue Context をセットアップする必要があるという意味です。

    Fill the Spoken Text Field

  4. デフォルトでひとつのコンテキストがすでに作成されています。Speaker エントリに、Ada を入力します。[追加 (+)] ボタンをクリックして新しいリスナーを追加します。Directed At プロパティを Cooper に設定します。

    Set a Dialogue Context for Cooper

  5. [Add Dialogue Context (Dialogue Context の追加)] をクリックして、[Dialogue Context] を新たに追加します。

    Add a New Dialogue Context

  6. このコンテキストの SpeakerAda に、Directed AtHana に設定します。

    Set a Dialogue Context for Hana

  7. Hana に対しては共通の軍隊の経歴があるため、フレンドリーに話しかけるようにし、Cooper に対しては傭兵の過去があるため信頼できないとして、乱暴に話しかけるように声優に指示を用意することもできます。このような指示を [Voice Actor Direction (声優への指示)] フィールドに入力します。

    Add comments to the Voice Actor Direction field

  8. 最後に、声優の録音後に、これを Sound Waves (音声波形) としてインポートし、各コンテキストの [Sound Wave] フィールドに設定します。Sound Waves を新たに作成することも、テストのために Starter Content から Sound Waves を使用することができます。

    Set a Sound Wave for each Dialogue Context

Dialogue Wave でも Subtitle Override を設定できます。これは、プレイヤーがわからない外国語でキャラクターが話しかける場合などに便利です。

コンテキストを設定する

これで、Dialogue VoicesDialogue Wave がセットアップされました。Ada のブループリントに何らかのロジックを与えて、あいさつに適切なコンテキストを作成します。

Dialogue Context には、少なくとも 2 つの Dialogue Voice、ひとりの Speaker およびダイアログが Directed At である Dialogue Voice が少なくとも 1 つあります。

  1. Box コンポーネントを BP_AdaCharacter ブループリントに追加します。

    Add a Box Component to the Blueprint

  2. ビューポートBox コンポーネントを 調整 し、キャラクターの高さぐらいになるようにし、彼女の前の距離を延ばします。彼女にオーバーラップしないようにします。そうしないと、彼女が自分で会話ロジックをトリガーしてしまいます。

    Adjust the Box Component in the Viewport

  3. Greeting という名前の新規 Dialogue Wave 変数を追加します。

    Add a New Dialogue Wave Variable

  4. ブループリントをコンパイルし、以前作成した QuestGreeting Dialogue WaveGreetingデフォルト値 を設定します。

    Set Dialogue Wave Default Value to QuestGreeting

  5. 以下のブループリント グラフを設定します。

画像をクリックするとフルサイズで表示されます。

このグラフは以下を行います。

    • 何かが Box コンポーネントにオーバーラップした後、実行します。

  • Dialogue Voice 変数を追加した BP_HanaCharacterBP_CooperCharacterOverlapping Actor をキャストします。

  • Overlapping Actor からの音声を取得し、それを Dialogue ContextTarget として使用します。

  • Dialogue ContextSpeaker に Ada の声を使用します。

  • 正しい Dialogue Context を使って Ada の場所で Greeting という名前の Dialogue Wave を再生します。

上記のブループリントのグラフは例を示す目的でのみ使用され、ベスト プラクティスではありません。ブループリント インターフェース または アクタ通信 の別の方法を使用して、この機能を実行することをお勧めします。

[World Settings (ワールド設定)] を開き、[Game Mode (ゲーム モード)] セクションの Selected GameMode オプションを展開します。Default Pawn ClassBP_CooperCharacter または BP_HanaCharacter に設定します。

Set Cooper or Hana as the Default Pawn Class

Quest NPC をレベルに配置すると、Cooper または Hana でそれらに向かい、ダイアログをトリガーすることができます。

字幕を有効にする

字幕はデフォルトで有効になっていますが、これを確認する必要がある場合、次の手順を実行します。

  1. [Settings (設定)] > [Project Settings (プロジェクト設定)] をクリックして [Project Settings] を開きます。

    Open Project Settings

  2. [General Settings (一般設定)][Subtitles (字幕)] セクションを探して、[Subtitles Enabled (字幕を有効にする)] チェックボックスを オン にします。

    Make Sure Subtitles Enabled is True

Quest NPC のダイアログをトリガーする場合、付随する字幕テキストが画面下部に表示されます。

Subtitles Appear on the Screen

現在起こっているコンテキストの [Dialogue Wave]Sound Wave セットが、入っていない限り、字幕は表示されません。

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル