物理エンジンに剛体やコライダーを登録する処理です。 物理演算が不要な Transformer は何もしない実装で構いません。
登録先の物理ワールド
このオブジェクトが地面に接地しているかどうかを返します。
キャラクター系 Transformer 以外では this.transform.loc.y <= 0 で判定して構いません。
接地しているとき true
物理エンジンから剛体やコライダーを登録解除する処理です。 物理演算が不要な Transformer は何もしない実装で構いません。
解除対象の物理ワールド
加えられている力をリセットします。物理系の Transformer のみ実装が必要です。
加えられているトルクをリセットします。物理系の Transformer のみ実装が必要です。
毎フレーム呼び出され、位置・回転・拡大率を更新します。
更新後の状態は必ず this.transform に反映してください。
経過時間(秒)
ObjectA3の位置・回転・拡大率を制御するストラテジーインターフェースです。ObjectA3は常に 1 つのTransformerを持ち、毎フレームupdate()が呼ばれます。TransformerがObjectA3の位置・回転・拡大率の正式な情報を管理しており、THREE.Object3Dのposition/quaternion/scaleは表示用として書き込まれます。setPosition()などの要求メソッドは、実装によって即座に反映しないことがあります (SmoothTransformerはなめらかに補間し、物理系 Transformer は物理演算を優先します)。Now付きのメソッド(setPositionNow()など)は可能な限り即座に反映しなければなりません。独自の Transformer を実装することで、
DefaultTransformer・BillboardTransformer・DynamicCharacterTransformerなどと同様のカスタム制御が可能です。