Unityで探索パートを作っていきます。
作り方(構築方法)は、いままで遊んできた探索ゲームを思い出しながら参考にさせてもらいます。
基本的には「場所移動」「画面探索(ポインタ探索・ボタン探索etc)」、
必要ならば「キャラクターとの会話」で成り立ちそうです。
そして探索終了ボタンで絞めれば、探索パートの完成と思われます。
移動ボタン・探索ボタン

選択型アドベンチャーらしく「移動ボタン」「探索ボタン」を選んだ後に、各行動ターンに移行と考えていました。
もちろんそれでも良いのですが、「できるだけシンプルな操作性にしたい」というのも開発理念にあることを思い出し、
メイン画面の表示時に各ボタンも表示してしまおうと舵を切ります。

「矢印ボタン」でその方向に移動し、「透明ボタン」でそこを探索するように各ボタンを配置します。


UnityでのUI配置は独特で、
いままでのメイン画面「Scene」でのオブジェクト配置とUI配置オブジェクト「Canvas」内のカメラが違うので、
テスト画面(Game)を見ながらの操作となります。(メイン画面カメラとUIカメラを1つにする方法もあります。)
最初は不便そうな感覚でしたが、
これがデフォルトなので、毎回設定を変えるのも面倒だし、慣れていこうと思いました。
「Canvas」内でも「整列」や「位置決め」などが楽にできるので、きっちり決めたい場合に便利です。
「ボタン」クリックで指定の非アクティブオブジェクトをアクティブにする際、(bool型でのスイッチ方法)
注意点として、オブジェクトと関数を指定した後、チェックボックスのチェックをしておかないとオンにならない、
というのがあります。(クリック時にオンにするのかオフにするのかという設定項目ですね)

ボタンのロールオーバー設定などは、ボタンスクリプト内のものを使わず「Event Trigger」を使って、
4つの挙動での指定をしました。
ボタンスクリプトの方は、自分の想定している動きと若干違くなるから、という理由なだけです。

「Event Trigger」については【3D】2Dボタンのマウスオーバー【Unity6】で詳しく解説しています。
「探索ボタン」のデモです。
画面が白くなるのは「画面全体透明ボタン」のオンオフを視認しやすくするため、透明度を一時的に変えているからです。
ボタンを押したら、メッセージを流す。
基本的な動きを実装しました。
場所移動(カメラ移動)
今回は簡単に、東西南北の4方向の画面を移動場所としました。
各場所ごとでメインカメラ位置を換えることで、その場所を保っています。
デフォルト場所「シンク・窓前」
オブジェクトは「CENTER」とし、その場面で必要なオブジェクトを詰め込んでいます。

「冷蔵庫前」
オブジェクト名は「LEFT」としています。

ここで「探索ボタン」の大きさを1つに固定しました。
調べる対象毎にサイズ変更するよりも、データ的にも作成的にも効率が良いなと気がつきました。
上記の画像だと「9スライス」方式でも良いかなと思っていましたが、「+」の部分をどうしようかなと迷ったので、
とりあえず固定型での変更にしました。
「廊下側」
オブジェクト名は「CENTER_BACK」としています。

ここには「キャラクター」を配置して、探索パート終了ができるようにと考えています。
「黒板前」
オブジェクト名は「RIGHT」としています。

「移動ボタン」のデモです。
「←」「→」ボタンを押したら、カメラ移動で場所が変わる動きを実装しました。
「探索パート」の動き自体はシンプルなもので、これで完成となります。
しかしまだ「変数」の組み込みが残っています。
- あるボタンを押しているか、押していないかによるセリフの違い。
- あるボタンを押すのが何回目かによるセリフの違い。
条件によっての挙動の違いというものを実装していきます。
探索パートでの「成果」を、次のパートへ持ち越すためにも「変数」構築から逃れることはできません。
次回は、地獄の「変数構築」回になります ((;゚Д゚)

コメント