OptionalcolliderOptionalcolliderOptionalcontrollerOptionalobjectこのTransformerが管理する位置・回転・拡大率。
update() の後、常に最新の状態が反映されていなければなりません。
Optionalworld物理エンジンに剛体やコライダーを登録する処理です。 物理演算が不要な Transformer は何もしない実装で構いません。
登録先の物理ワールド
このオブジェクトが地面に接地しているかどうかを返します。
キャラクター系 Transformer 以外では this.transform.loc.y <= 0 で判定して構いません。
接地しているとき true
物理エンジンから剛体やコライダーを登録解除する処理です。 物理演算が不要な Transformer は何もしない実装で構いません。
解除対象の物理ワールド
加えられている力をリセットします。物理系の Transformer のみ実装が必要です。
加えられているトルクをリセットします。物理系の Transformer のみ実装が必要です。
毎フレーム呼び出され、位置・回転・拡大率を更新します。
更新後の状態は必ず this.transform に反映してください。
"KinematicCharacter"モードで使用される Transformer の Rapier3D 実装です。setMode("KinematicCharacter", options)を呼び出すと、内部的にこのクラスが使用されます。カプセル形状のコライダーを使い、壁・地面への衝突を考慮しながらオブジェクトを移動させます。 速度・力・トルク系のメソッドは無効です。位置を直接制御することでキャラクターを動かします。
Remarks
直接インスタンスを生成するのではなく、
setMode("KinematicCharacter", options)を通じて使用してください。