株式会社ヒストリアさん主催の第13回UE4ぷちコンの作業進捗。
2/19(水)、20(木)とドタバタしていて更新できなかったので、そこまでの内容のまとめ。
これを書き終わったら今日の作業に着手するつもり。
ゲームパッドで動かす
この二足歩行の恐竜、Paragon Minionsの中でのアセット名はBuff_Black。だが、Buffという言葉がプログラミング用語のバッファを連想して混乱しそうだったので、勝手に「サウルス(Saurus)」と命名。日本語的には「地竜」とでもしようか。
さて、前回やったテキトーにゲームパッドで動かす周りを、ちゃんと物理を使って実装しなおした。
移動について
- Saurusの「地面に沿った前方向」に、スティック入力の量に応じたForceを与えて、前向きに走らせた。
- Saurusの速度ベクトルのうち、水平方向(地面に沿った前後左右方向)には粘性抵抗を与えた。
- 粘性抵抗:空気抵抗とか、筋肉はそんなに早く動けませんとか、そういう類のものをひっくるめて粘性抵抗と言ってしまう。
- この粘性抵抗のおかげで、スティックを離すと勝手に速度がゼロにまで落ちていく。
- いわゆる摩擦抵抗はやっていない。
- 方向転換をトルクでやってみたが、気持ちよくターンしてくれなかったのでやめた。
- 純粋にスティックを入れた方向に向くようにした。
- とはいえ、スティック入力に敏感に反応しすぎないように、補間を入れている。
- 急に向きを変えると慣性で滑った感じになる …ように係数を調整。
- 個人的に動きがちょっと重たい感じ(鈍感な感じ)が好きなので。
アニメーションについて
- Blend Space 2DでIdle, Run Forward, Run Left, Run Right を混ぜてみたが、あまりいい動きをしてくれなかった。
- もともと、Run Left/Right はターンする動きじゃなくて、平行移動する動きだったので、当然といえば当然。
- 結局、IdleとRun ForwardをブレンドするBlend Space 1Dにした。
- ターンするときに先んじて首を振るのは、Aim Offset。試しに入れてみたらええ感じだったので採用。偶然の産物。
Aim Offsetをいじっているうちにぶっ壊れて、Saurusが巨大かつポリゴンがぐちゃぐちゃに壊れる事件があったのだが…まあ気にしないことにしよう。
さて、今日の作業に入ろうかな。