a3js API Documentation - v0.0.34
    Preparing search index...

    Class CharacterTransformer

    ObjectA3のobjectプロパティに保存されているTHREE.Object3Dの position,quaternion(rotation),scaleのみをコントロールする モーションのインタフェース。コントロールするというだけでなく、 ObjectA3の位置、回転、拡大・縮小率に関する情報はこの インタフェースのインスタンスが管理しており、これがObjectA3の 正式な情報で、ObjectA3.object.positionなどは表示の都合で 管理されている情報という位置付けとなる。

    ObjectA3に各種方法で登録されることで、そのObjectA3の 移動などに関する処理に影響を与える。ObjectA3に登録することが できるTransformerは必ず一つである。

    このインタフェースにはsetLocation()やsetQuat()などの外部の プログラムから位置や回転を指定す要求を受け付けるメソッドが あるが、これらは必ずしも要求に応答しなければならないという わけではない。例えばInterpolationTransformerでは、移動が 目視できるように1秒ほど時間をかけて移動するし、物理系の Transformerの場合は、基本的に要求を無視して物理法則通りに 移動させるというのが正解の場合もある。ただし、setLocationNow()や setQuatNow()のようにメソッドの最後にNowが付いている物については 可能なかぎり要求に即座に答えなければならない。

    このTransformerを実装することでInterpolateTransformer、 BillboardTransformer、CharacterTransformerなどが作られる。

    Implements

    Index

    Constructors

    Properties

    capsuleCenter: Vec3
    collider?: Collider
    colliderDesc?: ColliderDesc
    completeOptions: CharacterTransOptions
    controller?: KinematicCharacterController
    nextLocation: Vec3
    objectA3?: ObjectA3
    tmpV1: Vec3
    tmpV2: Vec3
    trans: Transform

    このTransformerが管理している位置、回転、拡大・縮小率。 常に最新の位置、回転、拡大・縮小率が、ここに反映されていなければ ならない。

    Methods

    • 角速度を得る。物理系のTransformerのみ対応すれば 良い物で、それ以外の場合はメソッドの実装は正しい 値を返さない。

      Parameters

      • v: Vec3 | undefined

        値を受け取るためのVec3、またはundefined。

      Returns Vec3

      角速度。

    • 速度を得る。物理系のTransformerのみ対応すれば 良い物で、それ以外の場合はメソッドの実装は正しい 値を返さない。

      Parameters

      • v: Vec3 | undefined

        値を受け取るためのVec3、またはundefined。

      Returns Vec3

      速度。

    • このTransformerの動作に必要な初期化処理を実装する メソッド。引数にコントロール対象のa3.ObjectA3(中に THREE.Object3Dも入ってる)を渡されるので、必要に応じて それをスキャンして情報を得ることは許可されるが、変更を 加えてはならない。特に初期の位置、回転、拡大・縮小率は、 第一引数のtransから得なければならず、objectA3.object (THREE.Object3D)から得てはならない。すでに設定されている 状態で呼び出された場合には、再設定という意味で対応しなければ ならない。

      Parameters

      • trans: Transform

        初期位置、回転、拡大・縮小率

      • objectA3: ObjectA3

        動きをコントロールする対象となるa3.ObjectA3

      Returns void

    • このTransformerがコントロールする3Dオブジェクトが 地面に接地しているかどうかを返す。実際には CharacterTransformerのようなTransfomerだけが意味の ある応答が可能だが、それ以外の場合は 「return this.trans.loc.y <= 0;」で良し。

      Returns boolean

    • addForceで加えられた力をリセットする。 物理系のTransformerのみ対応すれば 良い物で、それ以外の場合はメソッドの実装は空で良い。

      Returns void

    • addTorqueで加えられたトルクをリセットする。 物理系のTransformerのみ対応すれば 良い物で、それ以外の場合はメソッドの実装は空で良い。

      Returns void

    • 角速度を設定する。単位はラジアン/秒。 物理系のTransformerのみ対応すれば 良い物で、それ以外の場合はメソッドの実装は空で良い。

      Parameters

      Returns void

    • 指定の大きさ(拡大・縮小率)に変形せよとの外部からの要求を 受け付けるためのメソッド。実際にそれを反映させる処理は update()メソッドに書く。

      Parameters

      Returns void

    • 指定の大きさ(拡大・縮小率)に直ちに変形せよとの外部からの 要求を受け付けるためのメソッド。実際にそれを反映させる処理は update()メソッドに書く。

      Parameters

      Returns void

    • 経過時間に応じて、位置、回転、拡大・縮小率を更新するための メソッド。毎フレーム呼び出される。その時点での位置、回転、 拡大・縮小率は必ずthis.transに反映させなければならない。 外部からの指示がなくても自動的に移動するようなことが実現 される。

      Parameters

      • _dt: number

      Returns void