RPGの村人との会話、ADVのキャラクターの語り、チュートリアルの説明——ゲームで「文章を見せる」場面は驚くほど多いものです。ところがUnityで会話ウィンドウを作ろうとすると、テキスト表示・送り・演出・分岐がバラバラに絡まって、意外と手が止まります。実は、 データとUIを分離 して考えると、会話システムはとてもすっきり作れます。
この記事では、最小構成の会話エンジンを1本組み立てます。セリフを ScriptableObject で定義し、TextMeshPro で 1文字ずつ表示するタイプライター演出、クリックで送る 仕組み、そして 選択肢による分岐 まで。ADVの会話パート、RPGのイベントシーン、ノベルゲームの本文——どれもこの土台から作れます。
この記事でわかること
- セリフを ScriptableObject で定義する(データとUIの分離)
- TextMeshPro で1文字 ずつ出す タイプライター演出
- クリックで送る(演出中は全文表示 → 次のセリフ)
- 選択肢による分岐(ボタン生成 → 次の会話へ)
- 実践:村人との会話+選択肢で反応が変わる
動作確認環境: Unity 2022.3 LTS / Unity 6
目次
Sponsored
データとUIを分離する
会話システムでいちばん大事な考え方は、 「何を喋るか(データ)」と「どう見せるか(UI)」を分ける ことです。ここがごちゃ混ぜになると、セリフを1つ直すたびにコードをいじる羽目になります。
