なめジョン / excessm 2024/06/29 00:00

【ちょうえつゆうぎ】 会話システムを刷新せよ!

最新作「超悦誘妓 -ちょうえつゆうぎ-」の開発記事です。


Unityに開発環境を移して以降、「廻るハゴコロ」で制作した
会話システムをずっと流用していました。
少しずつ改良していますが基本的には同じです。

今回はこれにも手を加えることにします。

今のゲームの会話シーンでよくある「立ち絵が複数表示される」
やつにしたいと考えています!



手法を適当に検索してみたところ、色々あるみたいです。
キャラクターモデルそのものを立ち絵として使う手法、あらかじめ
表示するための枠を3つほど用意しておいて、そこに該当するキャラクターの
画像を当てはめる方法…

今回はあらかじめ表示用の枠を複数用意する方法を採用です。

表示用の枠として、5キャラ分用意。


5つにしたのは、これだけあれば十分だろうという判断です。
あとある理由により最低限ほしい枠数ということで5枠。

テキストイベントのデータを読み込んだ時に、
発言キャラクターの数字をもとに紐づいたキャラ画像が
あればそれを表示する…という仕組みを採ります。




前回紹介したNPCたちでお試しの会話シーンを作成。
すると…


おおっ!!今のゲームっぽい…
発言者以外は暗くするという挙動もイメージ通りできています。

「未登場のキャラがいたら空いてる枠に表示させる」という仕組みに
しているので画面がどんどん賑やかに。


しかし



か、隠れてる…

大男「岩肩」大兄の図体がでかすぎて
ちっちゃい門下生「跳児」が隠れてしまっています。

つまり「最後に喋ったキャラを最前面に表示させる」
仕組みが必要ということです。これも確かに一般ゲームの会話シーンで
見かけるシステムですね。


幸いunityにはその処理を実行する命令が最初からあるみたいです。

<RectTransform>().SetAsLastSibling();
効果:対象のオブジェクトをヒエラルキーの一番下に移動する。


画像を表示させるときにこれを一緒に実行すればいけるはず。
実装して再度試行。果たして…!?





うまくいきました!


さらに吹き出しによるエフェクトも実装。
だーいぶそれっぽくできました。

実装成功です!実際の戦闘中や特殊CG表示中など立ち絵を
省略したい状況も発生するためそれ用の処理も必要ですがとりあえず
あとから加工しやすいように組めたので良いでしょう

やはり巷のゲームで見かける仕組みを自分で組めると楽しいですね。
また次回ですありがとうございました



以下、無料フォロー登録限定記事です。

・会話シーンのテスト動画
・制作者の近況

フォロワー以上限定無料

発売予定の新作に関する情報やCi-enのコースそのものに関する連絡の記事を掲載するプランです。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索