Unityで0からADV #4

開発進捗

Unityで0からアドベンチャーゲームを作ってます。
引き続き「会話」ギミックの実装を試行錯誤してました。

そして、Unityツール「」カスタマイズの断念と共に「Unity6」にも挫折しました(´・ω・`)
これからは大人しく「2022.3.37f1」のLTSを使っていこうと思います。

よく知りもしないで「Unity6・URP」(←どっちも新し目)でプロジェクトを作成していたのですが、
Unity6」でのエラーなどが「Unity6」特有のエラーなのか「LTS」でもエラーになるのかが分からなかったり、
Built-in Render pipeline(BRP)」と「Universal Render Pipeline(URP)」の罠にもはまり、
Universal Render Pipeline(URP)」に対応していないからうまくいかない、ということに気が付けずに無駄な時間を浪費しました。
宴もURPの方には対応してないみたいで表示がおかしかったです。

ということで安定性の「LTS・BRP」でプロジェクトを作成する方針に変えました。

会話システム再構築

というわけで、また1から会話システムを作り上げることになりました。

Unityでの会話やキャラクターの連結がいまいちよく分かっておらず、ピンポイントでのテストプレイの方法も分からなかったので、自分のやりやすいように構築してみることにしました。

1. キャラクター登場(演出含む) →
2. 会話が流れる →
3. 次のキャラクター登場(もしくは会話開始) →
4. 会話が最後なら次のシーンへ

と、一つずつオブジェクトにスクリプト設定して流れを作ってしまおうと考えました。
キャラオブジェクトに会話スクリプトをアタッチしてテキスト流す、終わったら次のキャラオブジェクトをアクティブにして会話を流す、という構築です。
一つずつなので面倒ですが、これのメリットはキャラと会話の流れがヒエラルキー上で視覚的に分かりやすくなる(上から順)のと、テストプレイしたい個所をアクティブにすればそこから始めることができる、ということでしょうか。

後々気が付くことは多々あると思いますが、とりあえず遠回りでも分かりやすさ優先でやってみようと思います。
(これはノベルゲームエンジンでの作り方が抜けてないからだと思われます。)

まずは基本の一文字ずつテキストを流すスクリプトを作成しました。
機能を盛りすぎると混乱するので、ここから一つ一つ様子見ながら追加をしていきます。

一文字ずつ流れた!
次は口パク追加! → ポポポ音追加! →待機アイコン追加! → ウインドウ可変にしてみたい!
キャラの名前表示を忘れてた!追加!

と地道に積み立てていきました。もちろんC#はChatGPTに全力サポートしてもらってます。
ChatGPTがなかったらUnity使えてなかったと思います(´・ω・`)
時代のタイミング的に良かったのか悪かったのか・・・

やりたいことが表現できている会話システムが一応できあがったので一安心しています。
欲がでるとまた機能を追加削除の繰り返しにはなりそうですが・・・

あとはオブジェクトの配置や構築が独自すぎて、コンフィグの「オート」「スキップ」「テキストスピード」などの設定を作り上げることができるのかが不安です。
出来ないとなると根本から見直すはめになりますが、それだけは避けたいところです。

テストプレイ

もう少し基本形にするつもりでしたが、ついついやりたいように組み立ててしまいました。
テキストは一行や一言にして、吹き出しみたいに重なっていくようなものを考えていたので、少しは近づけたのではないかと今の段階では満足しています。

コメント