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