VelとPhysics


※解説修正情報※
2014-04-13:Ctrl=1+方向キー↓の屈み移行での速度変化は100番からでは起きない。
2013-01-12:Physics=Aによる自動着地の部分。誤→ステート開始時 正→速度処理直後


■Vel・Velocity(速度)について

キャラごとにT-/Vel XT-/Vel Yを持ち、SC-/VelSetや物理状態などによって変動する。
ステートコントローラーについては一覧のVel系などを参照→ステートコントローラーの一覧

速度用トリガー
速度用ステートコントローラー

  • VelはVelのオプション・ステートコントローラーによってのみ設定される。
    • Velで動かし終わった後は0にリセットをしないとずっと動き続ける。
    • 例外的にStateNo!=100&&StateType=S&&Ctrl=1のとき方向キー↓(屈む)でVel Xが0になる。
      • StateNo=100(前ダッシュ)からは例外的にVel Xが0にならない。
  • Velは毎フレーム、自身のステート処理後にその数値分キャラの座標を移動させる。
    • ※検証不足※Bindなど行なっている場合、行われないというかVel自体が消える?
    • 順番は「ステート処理>速度を座標に加算>速度に物理状態の影響を与える>次のキャラorフレーム」
    • 物理状態(Shysics)については後述
  • SC-/PosFreezeなどの影響を受けている場合はVelによる移動を行わない。

  • SC-/ExplodもVelを設定できる。
    • ExplodはPhysicsが無い代わりに、Acccel(加速度)を設定できる。
    • Accelは毎フレーム、Accelの数値分Velに加算される。
  • SC-/ProjectileもVelを設定できる
    • Explod同様Accelの他、VelMul(速度倍率)を設定できる。
    • VelMulは毎フレーム、Velの数値を「Vel*VelMul」にする。


■Physics(物理状態)について

ステート冒頭のオプション、あるいはSC-/StateTypeSetで指定する。
状態によって、Velに影響を与える他、状態・状況によってはステートの移行も行う。
なおPhysicsを参照できるトリガー情報は無い。

Physicsの種類
  • Physics = N
    • 影響無し。Velに影響を与えない一定のVelを保って処理をしたい場合はコレ。
  • Physics = S
  • Physics = C
  • Physics = A
    • 空中状態。毎フレーム、Y速度をVel Y+Const(Movement.yaccel)にする。
    • この状態で速度移動処理の後、Vel Y > 0(落下中)でPos Y> >= 0(地面から下)だった場合
      52番ステートへ移動し再度番号ステートを読み込み直すという自動着地処理を行う。
      • 105番ステートは例外的に自動着地をしない。
      • ステート内部で着地するタイミングを認識したい場合は
        (Vel Y+Const(movement.yaccel ) > 0 && ( Pos Y + Vel Y )>=0 )
        こうした条件になる。
    • なお52番ステートのPhysicsをAにしてしまった場合、永久ループが発生し処理が終わらずフリーズの状態に陥る。
    • あと自動着地が行われた場合、自動で足元に埃エフェクトが発生する。
    • また自動着地が行われるとSC-/Offset処理がリセットされる模様?

空中動作でのPhysicsについて
空中動作はPhysics=A(空中)で処理することが多いが
専用の着地ステートを使用する場合、自動着地をさせない為にN(無し)にしなければならない。
またその場合、落下速度はSC-/VelAddSC-/Gravityによって再現することになる。
  • 着地のタイミングは(Vel Y > 0 && ( Pos Y + Vel Y )>=0 ))がベターです。