お久しぶりです。 Unityを始めてから2ヶ月、ようやくUNREAL LIFEの基盤がほぼ完成してきたので、様子をお見せします。 ●新UIデザイン 新しく、ボタンのグラフィックデザイン・配置などを行いました。ロード画面、メニューなどの複雑な操作を一貫した操作でできるように、画面右側にボタンを配置しています。上から順に ⏫TOPボタン 🔼UPボタン 🔶OKボタン 🔽DOWNボタン ⏬BOTTOMボタン という感じです。 ↩️BACKボタンは画面左上に表示しています。(Safari等の"戻る"UIの配置を意識) ●ロード画面の実装 これがたぶん一番の鬼門だったのですが、とてもうまくできました。数ヶ月前に扱っていたデータセーブが設計通り動いてくれているので嬉しいです。(参照:【UNREAL LIFE】Unity移植〜現在の進捗) ロード画面では各セーブデータのサマリー(概要)データのみを先読みしています。セーブ時点の状況もサムネイルと背景に全面表示しています。 ●シーケンスイベントの実装 Twitterにもあげていましたが、具体的なイベントではプログラミングを不要にするために処理の実行順を自由に定義できるようにしました。RPGツクールのイメージにかなり寄せています。 【大まかな仕組み】 メソッド:処理内容をあらかじめ定義 メソッドのパラメータ:Unityのインスペクタ 上でイベントごとに定義 あとはどんなメソッドをどの順で実行するか、決定するだけです。 ▷停止系 ・WAIT(実装済) 指定時間ストップ ・SKIP_FRAME(実装済) 指定フレーム分ストップ ・ONE_FRAME_INTERVAL(実装済) 1フレーム分ストップ ▷会話系 ・TALK_TEXT(実装済) テキストIDから会話を再生する。(複数追加可能) ▷音再生系 ・PLAY_SE 効果音の再生 ・PLAY_BGM BGMの再生 ・STOP_SE 効果音の停止 ・STOP_BGM BGMの停止 ・CHANGE_VOLUME, 音量の変更 ▷フラグ変更 ・SET_BOOL_FLAG(実装済) 真偽値フラグのON/OFF ・SET_INT_FLAG(実装済) 整数値フラグの設定 ・SET_FLOAT_FLAG(実装済) 少数値フラグの設定 ・SET_STRING_FLAG(実装済) 文字列フラグの設定 ▷オブジェクト移動処理 ・MOVE_PHYSICS 対象のオブジェクトに物理挙動を与える ・MOVE_TWEEN 対象オブジェクトをTweeningで移動させる。 ▷オブジェクトの撮影 ・CAPTURE_OBJECT(実装済) 対象のオブジェクトを撮影。 ▷スクリーン変更 ・CHANGE_SCREEN(実装済) 今のスクリーンを閉じて、次のスクリーンを開く ・CHANGE_ACTIVE(実装済) 対象のUIのON/OFFを切り替える。 ・TOGGLE_ACTIVE(実装済) 対象のUIがONだったらOFFにし、OFFだったらONにする。 ▷別イベント呼び出し===== ・NEST_EVENT(実装済) 別で定義したイベントを実行する。 この処理によって共通処理の切り出しが可能、またネストイベントに発生条件を入れておけばifイベントとしても動作。 ・NEST_PREFB_EVENT, NEST_EVENTのPrefab版 UNREAL_LIFEの独自イベント ・TAKE_MEMORY(実装済) 記憶を入手する。キオクの読み取り対象となるオブジェクトを撮影し、瞑想画面を開き、195にキオクの説明をしてもらう。 ・CAPTURE_GALLERY(実装済) GALLERY機能(アルバムっぽいもの)のためにスクリーンショットをとる。 ▷カメラ操作 ・CAMERA_CHANGE_TARGET_TRANSFORM(実装済) Transform型のオブジェクトを対象に、カメラを注目させる。(オフセット指定可能) ・CAMERA_CHANGE_TARGET_DIORAMA(実装済) 探索可能オブジェクトを対象に、カメラを注目させる。(オフセット指定可能) ・CAMERA_FOCUSON(実装済) あらかじめ設定されているターゲットに瞬時にカメラをフォーカスさせる。 ・CAMERA_RESET_TARGET(実装済) カメラの追従対象をハルちゃんに戻す。 ▷アニメーション ・PLAY_ANIMATION(実装済) 対象のオブジェクトのアニメーションを再生する。 ・STOP_ANIMATION(実装済) 対象のオブジェクトのアニメーションを停止する。 ▷セーブ ・ SAVE(実装済) 現在までのデータ断面をセーブする。 1:オートセーブ:autoフォルダへ上書き保存 2:バックアップセーブ:autoフォルダへ上書き後、セーブフォルダをコピーしてバックアップする。(章の区切りなどに設定) ▷入力制御 ・INPUT_REQUEST_VOID(実装済) 入力リクエストを行う(ボタンの発火など) ・INPUT_REQUEST_INT(実装済) 整数付き入力リクエストを行う ・INPUT_REQUEST_FLOAT(実装済) 少数付き入力リクエストを行う ・INPUT_REQUEST_STRING(実装済) 整数付き入力リクエストを行う 基盤実装はあと1つ ・音再生基盤(来週中) 画面実装はあと4つ ・アイテム画面の実装(今週中) ・重要イベントシーン再生画面の作成(今週中) ・コンフィグ画面の実装(今週中) ・タイトル画面での選択メニュー実装 2ヶ月掛かってようやく土台作成に終わりが見えてきました!! 本編作成は7月頭から一気に進めていこうと思います!