アタッチメント コントローラは、他のほとんどのコントローラと異なるキーを使用します。MAXAKey クラス は、アタッチメント コントローラのキーと、面インデックスや面の重心座標などの固有のプロパティをすべて実装します。
AttachCtrl.getKey()
メソッドは、MAXAKey クラスのキーを返します。このメソッドには、アタッチメント コントローラと取得するキーのインデックスという 2 つの引数が必要です(使用できるすべての AttachCtrl メソッドのリストについては、「Attachment : PositionController」を参照してください)。
プロパティ
<MAXAKey>. face: Integer (0-based)
アタッチする面の 0 から始まるインデックスを取得/設定します。
<MAXAKey>. coord: Point2 (barycentric coordinates)
アタッチする面の重心座標を取得/設定します。
キーの時間を取得/設定します。
<MAXAKey>. selected: Boolean
キーの選択状態を取得/設定します。
<MAXAKey>. tension: Float
テンションを取得/設定します。
<MAXAKey>. continuity: Float
連続性を取得/設定します。
バイアスを取得/設定します。
前イーズの値を取得/設定します。
<MAXAKey>. easeFrom: Float
後イーズの値を取得/設定します。
次のスクリプトでは、最上部に天球体をアタッチした円柱を作成し、以下の変形を行ってからアニメートします。
例
|
c = cylinder height:100 heightsegs:10--セグメントに分割された縦長の円柱を作成します。
addModifier c (Bend())--円柱にベンド モディファイヤを追加します。
s = geosphere()--既定値の天球体を作成します。
actrl = Attachment()--アタッチメント コントローラを作成します。
s.position.controller = actrl--天球体の位置に割り当てます。
actrl.node = c--円柱をアタッチ先のノードに設定します。
addNewKey actrl 0f--フレーム 0 にキーを 1 つ追加します。
theAKey = AttachCtrl.getKey actrl 1--最初のキーを取得します。
--メッシュの面の数を読み込むことによって面インデックス (基数 0) を設定します。
--円柱の最後の面は必ず中央の頂点の近くの最上部にあります。
theAKey.face = c.mesh.numfaces - 1
--中心の座標を設定します。
--中央の頂点の重心座標は[1,0]です。
theAKey.coord = [1,0]
with animate on at time 100--フレーム 100 でアニメートします。
(
c.height = 200--円柱の高さと
c.bend.angle = 90--ベンド角をアニメートします。
)
|
|