ゲームシステム改善(Input System,Save Load,ロード画面)
今回はゲームシステムを改善しました。
●Input System
Unityの新入力システムであるInput Systemを導入しました。
キーボードとマウスだけしか対応しないゲームなら今まで通り
Input Managerで作っていても構わないと思いますが、
今後もゲームパッド対応のアクションゲームを作っていきたいので
いろんなコントローラーに対応できるInput Systemを導入しました。
システムを理解するのに結構苦労しました。
書き換えとか大変でしたけど…今後は簡単に対応ボタン追加出来て
Input Managerみたいにシンプルに使えるようにできたので満足。
XBOXコントローラーとPS4コントローラーの動作確認OK
ただそれ以外のコントローラーで唯一もっていたELECOMのJS-U3312SBKは
まともに動きませんでした。
Input Systemに対応のボタン追加しようとしましたが
Listenでボタンを取得したら入力の候補がおかしい…
ボタン①がトリガーだったり…
ELECOMのこのコントローラーだけなのかわかりませんが追加保留にします。
追加したことで変な動きをされても困りますので。
XBOXコントローラーと同じボタン配置のコントローラー(XInput)や
PS4コントローラーと同じボタン配置のコントローラー(DirectInput)なら
問題ないと思われます。
●セーブロードシステム変更
いままでセーブロードはPlayerPrefsを使っていましたが
今後はjson形式でセーブロードを行いたいと思います。
PlayerPrefsだとゲームのフォルダーを消してもセーブデータは
PC上にまだ残ったままになってしまうからです。
セーブデータを消す方法はありますがPCに不慣れな人には
勝手が悪いためこちらの方法を導入。
やり方がきちんとあっているかどうかわかりませんが
うまく導入できました。
ゲームシステムの記録にもPlayerPrefsで記録していたので
書き換え作業が大変でした。
ファイルが目に見えて管理しやすいのでデバッグにも使えますね。
暗号化もできるようですが対人ゲームでもないしそこまでしなくてもいいかなっておもっています。
●ロード画面
ロード中に画面が止まっていたらフリーズしてると勘違いしそうなので
ロード画面にアニメーションを追加しました。
まぁすでにプログレスバーを導入していますが。
それもあって意外に簡単にできました。
というか難しく考えてました。
Unityのエディタだとシーンとシーンの切り替えが遅い?ので
止まっているものだと思っていました。
ビルドして実行してみるときちんとアニメーションしてました。
次回までに改善したかった3点ができたので
そろそろ作品作りに行こうと思っていましたが、
よくよく新しいキャラクターモデルを見てみると髪の見え方がおかしい…
光の当たり具合によって暗くなるべきところが明るいなど…
やっぱり髪は裏側まで作らなければだめかもしれないですね。
できるだけポリゴン数は抑えて裏側も作ろうと思います。
あと、腕IKで動かしてて思ったんですけど
モデルの体のデフォルトポージングはAスタンスよりTスタンスの方が良いのかなぁと感じました。
まだ比べていないので何とも言えませんが…
今のモデルはAスタンスで作ってますが変更となると修正が結構出てくるかもしれないので考え中。
とりあえずモデルの髪の修正・追加を行います。
そして、どんな作品を作るか考えをまとめます。
そして来月から本格的に次回作の制作に取り掛かろうと思います。