ちゃんぽん 2023/02/28 20:00

2月 進捗のご報告

前置き

まだまだ寒い日が続きますね。これから気温の寒暖差が激しくなりそうなので体調には十分気をつけましょう。特に睡眠は重要なので、眠れる時はしっかり寝るようにしましょう。今月はドット絵関連の進捗は特になしですごめんなさい。主にUnityの作業が中心だったのでシステム進捗がメインです。

キーコンフィグ機能を実装

アクションゲームなら欲しいところのキーコンフィグ機能を実装しました。今作もキーボードとゲームパッド(Xbox)に対応するにあたり、デバイスに応じてキーマップを切り替えるようにしてます。

拠点の構築中

今月の作業工数のほぼ全部を持っていかれた内容がこちらです。主人公のお部屋からお屋敷の全体、そしてその周りに存在するお店、住宅を含めた街を丸々1シーンに入れるという暴挙に出ております。一応負荷軽減のための対策は行ってますが、配置しているオブジェクト数がえげつないために動作に必要なCPU、グラフィック性能は相当なものが必要かと思います。おそらくこのシーンがゲーム中最大負荷のシーンとなる予定+体験版に含まれるので動作確認用としても良い役割を果たしてくれそうです。

街のモブお姉さんの実装

街を歩いてまわるモブお姉さんの仕組みを作りました。とは言っても移動先のアドレスを行動毎にランダムに切り替えているだけですね。それでもある程度移動先のポイントを作ってモブを大量に並べるとそれっぽくなります。モブのお姉さんに話しかけることもでき、話しかけると足を止めて会話してくれます。現状プレゼントを渡して親愛レベルを一定以上にすると仲間になり、引き続きプレゼントやスキンシップを重ねていくことでえっちな行動が開放されていくような方向性で考えてます。

仲間の最大上限数についても現在検討中です。キャラクターデータ自体は軽量なため、セーブデータ化しても大した容量は食わないと踏んでます。ですがキャラクターが多くなるとソートや絞り込みに時間がかかることが予想されるため上限は設ける予定です。

来月の目標

引き続き体験版のリリースを優先的に作業を進めます。特に戦闘システム、敵キャラの挙動などを本格的に進めていこうかと思います。併せて体験版に含まれるステージ1の制作も進めていこうと思います。

実装の備忘録Tip_キーコンフィグ編

ここからは技術ネタになりますので興味のない方はスキップしてください。主にVisual Scripting布教の小ネタになります。
今作キーコンフィグ対応するために試行錯誤をやっておりました。「Unity キーコンフィグ 作り方」と検索するといくつか出てきますが、VisualScriptingで実装している内容は見かけなかったので、その方法について少々お話しようと思います。
UnityInputSystemを使用していることを前提の上で進めますのでご了承ください。

シンプルにご説明すると
InputBindingにPathとOverridePathをセットしてApplyBindingOverrideする
になります。

例として「キーボード「xキー」で攻撃する処理を「yキー」に変更する」場合は以下の内容だけで済みます。

なんだか簡単そうでね。もう少し深掘りしてみましょう。まず今回のゲームのInputSystemのマップから確認します。

ActionMaps「Player」内のActionで「Fire」の項目にキーボードのXと、ゲームパッドのWest(十字配列されたボタンの西(左)に対応)が割り当てられていますね。つまり、キーボードのXキーを押すか、XboxコンのXボタンを押すと攻撃処理を発火させてくれるという状況です。この「Fire」というActionはUnityのディレクトリ内でも確認することができます。

ここで改めて最初のVisualScriptを確認してみましょう。

処理は左から右へ、白い矢印で流れていきます。
最初にカスタムイベントを定義してスタートします

次にInputBinding「Create」で入力割り当て情報を作ります

パラメーターには「Path」という、現在割り当てられているキー情報を入力できる項目があるので、こちらに現在の「Xキー」をセットします

同じく「OverridePath」という、上書きするキー情報の項目があるのでこちらに変更したい「Yキー」をセットします

最後にApplyBindingOverrideにて、「Player/FireのAction」に対して「※0番目の割り当て情報」を「Createで作った新しい割り当て情報」に上書きしますよーという流れで一連の流れは完了です。

※1番目はXboxコントローラーのXボタン割り当てが該当。アドレスはマップに準拠してます。

ご紹介した方法は「Yキー」固定でしたが、入力したキー情報を受け取る処理を追加することで自由な割り当てができるようになったり、変更内容をセーブデータに仕込ませて永続化したりと色々できそうです。

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索