コンポーネント構成 †
- StaticMesh : ボールのメッシュ(Normal、Metal、Fire共通)
- SpringArm, Camera : カメラ用
- Sphere : 敵へのヒット用球コリジョン。(後述)
- P_FireBall : Fire時の炎パーティクル。
- Fire_Cue : Fire時の環境音
- ChargeWidget : チャージゲージ用のUMG。
- StaticMesh1 : 地面マーカー(後述)
コリジョン †
- コンポーネントでボールのStatic Meshとは別にヒット用の球コリジョンを持っているのは、見た目(StaticMesh)よりも大きくヒット範囲を取りたかったから。
地面マーカー †
- ジャンプ中に真下に落ちるプレス機能があるけど、クォータービューだとどこに落ちるか分かりにくい。
- ので地面にマーカー置いた。
移動 †
- 物理挙動で動かしているので、「Add Force」で移動させている。
- ただ、進行方向と逆方向にコントローラーを入れて進もうとすると物凄くもっさりする切返しになって、軽快に動かせない。
(既存のVelocityをAdd Forceで中々消せない)
- 重量感を出すにはいいが、プレイヤーコントロールという点ではストレスに感じた。
なので、切返し時は入力係数を大きくして動きやすくした。
- Velocityと、コントローラーの入力値が逆方向の時に入力スケールが大きくなる。
- 「Input Reverse」変数は入力時の「Add Force」に係数として乗算される
ジャンプ †
- 「Add Impulse」で上方向に力を与えて飛ばしている
- 連続ジャンプが可能な仕様なので、ジャンプする毎にカウンターを増やして力を減らしていく
チャージ †
- チャージ中はVelocityを0.0に補間して打ち消してる。
- 下記は「Tick」内で呼んでいる。
- 重力方向へのVelocityとかは残るので、空中でチャージするとゆっくりと落ちながらチャージするといった形が出来る。
- ボタンを離した後のダッシュは「Add Impluse」で飛ばしている。
|