2024:03:20
文書の過去の版を表示しています。
3/20日記
ゲーム開発
- 昨日今日で5面ボスのモーション制御について実装した。
- 今のところボスのパーツ制御は以下の2種類でどうにかするのが早い。
- 点を定義して、それに向かうように移動する
- 点と点の間を補間するように配置する
- 1.については発展した形が各種モデルとかを構築するツールだと思うんだよね。
- 2.はIKとかそういうのが近い気がしてる。
- 勿論ツール使えば同じようなことはできるんだけど、プログラムでの制御になるとモデルのうちどこの点を取得して動かすだったり、IKはどの部分が反映対象なんだ、とかそういうのを実装するのに前提知識が多すぎる。
- また、元々プログラムで思いっきり敵がプレイヤーを狙ってくるという要素を入れることを考慮してたため、上記がネックになっていたこともあり、1から簡易的にモーション制御システムを構築した。
- 元々2020年頃ProjectActressというCryPic.の前身になるゲームを作っていたときに3Dモデルを制御するために同じようなシステムを作っていたんだけど、まさかもう一回作ることになるとは思ってなかった。その時はScriptableObject上でどのタイミングでどの点に移動する・攻撃する等を定義できるようにしたんだけど、結果UnityEditorが使ってられないレベルで強制終了するようになったため継続利用を諦めた経緯がある。あと変数が使えない・分岐を辿るのが大変等弱点も多かったので。
- 今回はスクリプト上で制御と補間関数作っており、言語仕様を有効活用した連続的なモーションの制御について自由度が高くなっている。
- おまけに合間に攻撃とかの命令を出すことができるようになったので、ソースコードの書き方を簡易的にする前提だと自由度は高い。
- 追加でこっそりイージング関数も実装してあるのでスクリプトに紐づければ細かい緩急をつけることもできる。
- 今回はこだわると時間かかりすぎるのもあって直線と停止でどうにかする予定。
- このシステムを活用してExtraステージも構成する予定。
2024/03/20.1710941264.txt.gz · 最終更新: 2024/03/20 22:27 by machiaworx