大規模言語モジュール (LLM) を利用した会話を通じて、体験内で動的なキャラクター インタラクションを作成しましょう。
UEFN のシーン グラフ persona_component と ペルソナ モディファイア を組み合わせることで、プレイヤーがボイス チャットを通じてあなたの島で連携できる LLM が提供されます。 音声付きのアイデンティティは、ユーザー インターフェース (UI) 上のアイコンで表され、島内での一種のノンプレイヤーキャラクター (NPC) として機能します。
動的なキャラクターを作成するこれらの機能の組み合わせは、会話として知られています。
LLM インターフェースにより、プレイヤーはこれらの NPC とオーダーメイドの会話やインタラクションを行うことができ、プレイごとにユニークな体験を生み出します。 これらの体験は、プレイヤーがカフェで競争心のあるバリスタとやり取りする場合から、不機嫌な猫が飼い主を見つける手助けをする場合まで、多岐にわたります。 入力したキャラクター プロンプトにより、それらのキャラクターのペルソナを定義することができます。
大規模言語モデル (LLM) について
LLM は、人間の言語を処理して出力するようにトレーニングされたモデルです。 膨大なテキスト データセットから学習します。これは、言語がどのように使用されるかを示す大規模なライブラリと考えることができます。
モデルは、次のテキストの単位 (トークンと呼ばれます) を段階的に予測することで言語を生成し、プロンプトに対する完全なレスポンスをビルドします。 トレーニング中に、アルゴリズム を使用して、言語のパターンと関係を学習します。 このトレーニングのシステムは機械学習と呼ばれます。
LLM の機能
LLM:
言語を処理して理解する。
テキストを生成する。
質問に答える。
テキストを要約して翻訳する。
UEFN のペルソナ コンポーネントと組み合わせることで、以下のことが可能になります。
プレイヤーにインタラクティブな LLM セッションを提供する。
入力からパーソナリティを作成する。
プレイヤーと NPC の間で即興の会話を可能にする仕組みを提供する。
テキストから音声を生成してプレイヤーがペルソナを聞けるようにし、また音声をテキストに変換して LLM がプレイヤーの発話を理解できるようにする。
プログラムの応答に基づいてイベントを生成する。
何ができるのか
LLLM を搭載した機能を使用することで、以下のことが可能になります。
ペルソナを作成するための入力の説明。
LLM の応答に基づいてトリガーされるイベントを追加する。
NPC キャラクター定義を使用して、ペルソナを物理的な NPC にバインドします。
LLM 会話は、スクリプト化された言葉に依存するキャラクター作りの障壁を取り除き、応答性がありながら適応可能なキャラクターを作成する手段を提供します。
この動的な動作は、会話の仕掛けで作成する所定の会話やオプションとは異なります。 会話の仕掛けでも、NPC がどのように反応するかの基本動作を手動で設定する必要がありますが、LLM は自然で即興の会話を生成します。
また、この機能には、プレイヤーがペルソナ ベースの NPC を識別し、会話の開始方法を理解し、実際に会話していることを認識できる、デフォルトの UI が含まれています。
キャラクター プロンプトを使用してペルソナを定義する
ペルソナは、島内の LLM キャラクターのパーソナリティと特性をまとめたものです。 ペルソナを作成する上で重要なポイントは、仕掛け内のプロンプトと事実情報です。 プロンプトと事実情報は、NPC が誰であるか (演じる役割) や何を知っているかの文脈を提供します。 LLM は、ユーザーが定義したペルソナとそのプレイヤー入力を登録し、それに基づいてどのように応答するかをロールプレイします。
たとえば、以下のようなペルソナを作成できます。
プレイヤーにボタンを押すように誘導する謎めいた宇宙エンティティ。
競争相手をけん制するミッションを遂行する激しいバリスタ。
エイリアンに飼い主を連れ去られたと思っている不機細な猫。
プレイヤーにフォートナイトでの建築の基本を教えるコメディアンのインストラクター。
ウサギ盗賊に見つかりたくないと心配するニンジン。
Mr. Buttons LLM のゲームプレイ例については、「State of Unreal 2025」 のプレゼンテーションをチェックしてください。
キャラクター定義ごとに 1 つのペルソナを作成できます。 プロンプトを通じて、島内の別のペルソナの存在を認識させることができます。
以下は、プロンプトを作成する際のヒントです。
ペルソナを、明確なアイデンティティ、価値観、特性で定義することで、LLM が果たすべき役割を理解できるようにする。
プロンプトをモジュール化されたセクションに分けることで、LLM がアイデアを明確な塊として分類し、より効果的に参照できるようにする。 アイデンティティ、原点、モチベーション、対話、ゲームプレイなどのセクションを検討する。
説明は短く、具体的で、関連性のある内容にまとめるようにする。
重要な詳細については、多少の繰り返しを活用して強調する。 事実情報を繰り返し呼び出すと、LLM が重要な点をうまく理解できる。
LLM に口調やリズム、繰り返し可能な言語パターンを与えるために、対話例やキャッチフレーズを提供する。
LLM は、マークダウン構文と呼ばれる文章スタイルを通じて訓練されます。 この学習スタイルのため、プロンプトを書く際には、マークダウン構文を意識すると効果的です。 例えば、強調したい用語には、二重アスタリスク (**) を使って太字にします。
パターン認識では一貫性が重要です。 LLM が初めて構文を処理する際に登録されます。 同じ構文を認識するたびに、LLM のパターン処理はその構文をより適切に強調し、意味を割り当てるように訓練されます。
パーソナリティ プロンプト
キャラクターのコア パーソナリティ属性と、そのキャラクターが知っている情報を定義するには、パーソナリティ プロンプトを追加します。 これらのプロンプトには、LLM が処理する際の制約を含めることができ、例えば、レスポンスを 10 単語に制限するといったルールを設定できます。
追加するパーソナリティを考える際は、LLM 搭載のキャラクターをどのように使用したいか、そしてキャラクターがどのように体験を向上させられるかを考慮してください。 プレイヤーが尋ねる可能性のある質問 (例:「なぜここにいる?」) を予測します。
提供できる事実情報の数に制限はありません。 LLM は、あなたが設定した事実情報に加え、プレイヤーからのプロンプトも受け取り、プレイ セッション中に処理します。 こういった情報は全て、プレイヤーに応答する前に LLM によってパースされます。
以下の表は、パーソナリティ プロンプトの例です。
| ペルソナ NPC | プロンプトの例 |
|---|---|
謎めいた宇宙エンティティ (Mr. Buttons) |
|
隠れるニンジン |
|
イベント中にアクティブ化される追加のプロンプトには Verse を使用できます。たとえば、プレイヤーがボタンを押さずに部屋を出ようとする時のプロンプト応答です。
キャラクター定義からのプロンプトは、ランタイム時にのみ利用可能です。 Verse を使用すると、プロンプトを動的に理解するために、プロンプトを追加することができます。
プロンプト エディタ ツールを使うか、島をプレイテストして、ペルソナがどのように反応するかを確認し、その後、より良い結果が得られるようにプロンプトを改善します。
音声モデル
36 個のフォートナイト コスチュームには、一貫した声とペルソナがあり、今後さらに追加される予定です。 これらのフォートナイト キャラクターは、そのままで期待どおりの声で話し、反応します。
フォートナイト キャラクターを選択すると、パーソナリティ プロンプトには、コミュニケーション スタイル、声のトーン、キャラクター アーキタイプ、ユーモアのスタイルなど、キャラクターに関する情報が事前に入力されます。
フォートナイト キャラクターを選択すると、次のことが可能になります。
[Play (再生)] ボタンを選択して、キャラクターの音声を聞きます。
フェイシャル アニメーションを追加します。
中断ルールを追加します。
フォートナイト キャラクターの大半は編集可能なパーソナリティを持っており、既存のパーソナリティ特性と音声特性のリストに追加したり、パーソナリティ プロンプトでパーソナリティを完全に編集したりできます。
41.30 以降、フォートナイト IP のキャラクターは編集できません。 編集できないフォートナイト IP のキャラクターの完全なリストは以下のとおりです。
エージェント ジョンジー
ピーリー
レッド・ルイン ジョニ
フィッシュスティック
ヘイリー・スカイ
コル
マンケーキ
ピンクのメカクマちゃん
マイダス
イマジンド
レイブン
トリガーフィッシュ
ジギー
トマトヘッド
ブライトボンバー
ピンクのクマちゃん
ヒロイック ホープ
ルールと審査
Conversations (会話) を使用するときは、ペルソナ、プロンプト、キャラクター デザインは、フォートナイト デベロッパー規約、Epic コミュニティ規約、Epic コンテンツ ガイドラインを遵守する必要があります。キャラクターの反応がフォートナイト デベロッパー規約に準拠するよう、モデルに安全対策を追加しました。
会話を使用するためのルールについて詳しくは、フォートナイト デベロッパー規約のルール 1.22 を参照してください。
これらの規則に違反したデベロッパーに対しては、最大でアカウント停止を含む措置が科されます。
LLM 会話は現在、どのブランドの島でもサポートされていません。 ブランドの島をビルドする方法について詳しくは、「ゲーム コレクション」を参照してください。
プロンプト エディタ ツールと Verse API
システム プロンプトとキャラクター プロンプトは、プロンプト エディタ ツールと Verse を通じて機能します。
プロンプトの編集を開始するには、NPC キャラクター定義 を作成し、ペルソナ モディファイアを追加する必要があります。 モディファイアは、LLM がコントロールするペルソナ コンポーネントを追加します。 このモディファイアは、カスタム NPC キャラクター タイプでのみ利用可能です。 キャラクター定義を作成し、ビューポートにドラッグして、NPC スポナーの仕掛けに自動的にアタッチします。 キャラクター定義について詳しくは、NPC キャラクター定義を参照してください。
モディファイアには、パーソナリティ プロンプトを追加するための [Character Facts (キャラクターの事実情報)] ドロップダウンが含まれています。 このセクションには、プロンプト エディタ ツールへのアクセスも含まれます。
キャラクター プロンプトをキャラクター定義ウィンドウまたは NPC スポナーの仕掛けの詳細パネルのいずれかに追加して、プロンプトのオーバーライドを防ぎます。
プロンプト エディタ ツールを使用すると、ペルソナをテストするためにセッションを起動する必要がないため、キャラクター デザインを迅速にイテレートして、目的のペルソナを作成できます。 たとえば、ペルソナにプロンプトを追加して、レストランのレジ係として定義します。 レスポンスでは、それがキッチンでクラフトを完成させていることに言及していることがわかります。 レジのみを担当する行と、キッチンで働いている人を表す行を追加することで、調整できます。
プレイヤーがペルソナと会話するには、キャラクター定義でカスタム Verse 動作を設定する必要があります。
コンポーネントの Verse API には、定義と同じ設定が含まれていますが、以下の追加オプションがあります。
デフォルト ランタイムの外部でプロンプトを作成します。 これにより、イベント プロンプトのオプションが提供されます。
ランタイム時にプロンプトを追加または削除します。 これは、人格の変化や知識の汚染といった進化する物語をさらに構築するのに役立ちます。
構造的出力を作成します。 ゲームプレイをさらに制御します (ゲームをいつ終了するかなど)。
プレイヤーのペルソナ コンポーネントは永続的ではありません。 そのゲーム内で各ラウンドが終了すると、LLM セッションはクリアされます。
エディタと Verse について詳しくは、プロンプト エディタ ツールを使うおよび会話モジュール Verse API リファレンスを参照してください。
次
独自の没入型ペルソナ ベース NPC の作成を開始し、カスタム動作の作成について学びながら進めましょう!