Link_Constraint - superclass: Matrix3Controller

Link_Constraint - superclass: Matrix3Controller; super-superclass:MAXWrapper - 2:1 - classID: #(-2025855132, -1430354431) 

> MAXWrapper > Matrix3Controller > Link_Constraint

 

   

アニメーション コントローラ - クイック ナビゲーション

リンク コンストレイントは、あるターゲット オブジェクトから別のオブジェクトにリンクするオブジェクトのアニメートに使用されます。

リンク コンストレイントでは、オブジェクトにターゲット オブジェクトの位置、回転、スケールを伝えることができます。

   

コンストラクタ

Link_Constraint... 	 
Link ... 

プロパティ

<Link_Constraint>.key_mode Integer default: 0 -- integer; Link_KeyMode 

3 つのキー モードのいずれかを選択して、リンクされたオブジェクトにリンク コンストレイントの一部としてキーフレームを記述する方法を決定します。これらのオプションは次のとおりです。

0: キーなし: 関係するどのオブジェクトにおいてもキーは作成されません。

1: キー ノード: いくつかのオブジェクトにキーを設定します。

2: 子: 子オブジェクトのみにキーを適用します。

3: 親: 親と子の両方のオブジェクトにキーを適用します。

4: キー全体の階層: 選択したノードとその階層全体にキーフレームを適用します。

5: 子: 選択されたオブジェクトとワールドまでの階層内のノードにキーを設定します。

6: 親: 親と子、およびワールドまでの 3 つの階層すべてにキーを設定します。

   

<Link_Constraint>.link_params SubAnim default: SubAnim:Link_Params -- transform 

リンク パラメータのサブアニメーションが含まれます。このアニメーションには、 .Position .Rotation .Scale の 3 つのプロパティがあります。親スペースにはオフセット変換があります。このコントローラには、上記の .key_mode 設定に応じたキーが含まれます。

   

Link_Constraint インタフェース:

Interface: constraints 

メソッド:

<node><Link_Constraint>.getNode <index>nodeNumber 

インデックスで指定されたターゲットを返します。

   

<float><Link_Constraint>.getFrameNo <index>targetNumber 

インデックスで指定されたターゲットにリンクされた開始フレーム番号を返します。

   

<boolean><Link_Constraint>.setFrameNo <index>targetNumber <integer>frameNo 

インデックスで指定されたターゲットにリンクする開始フレーム番号を設定します。正常に終了した場合は true を返します。

   

<integer><Link_Constraint>.getNumTargets()

ターゲットの数を返します。

   

<boolean><Link_Constraint>.addTarget <node>target <integer>frameNo 

指定されたノードを指定したフレームでターゲット リストに追加します。正常に終了した場合は true を返します。

   

<boolean><Link_Constraint>.DeleteTarget <integer>targetNumber 

インデックスで指定されたノードをターゲット リストから削除します。正常に終了した場合は true を返します。

   

<integer><Link_Constraint>.addWorld frameNo:<integer> 

frameNo 既定値: -99999。

このメソッドは、指定されたフレームのターゲットとして「ワールド」を設定します。

   

s = sphere() --create a sphere
at time 100 with animate on s.pos = [200,0,0] --animate sphere 200 units along X over 100 frames
b = box() --create a box
at time 100 with animate on b.pos = [0,500,0] --animate box 500 units along Y over 100 frames
t = teapot() --create a teapot
lc = link_constraint() --create a Link Constraint instance
t.transform.controller = lc --assign the constraint to the transform controller of the teapot
lc.key_mode = 0 --set the key mode to 0 (it is the default anyway)
lc.addWorld frameNo:29 --add a World key on frame 29
lc.addTarget s 30 --add the sphere as link target on frame 30
lc.addWorld frameNo:60 --add a World key on frame 60
lc.addTarget b 70 --add the box as link target on frame 70
lc.addWorld frameNo:80 --add a World key on frame 80
lc.setFrameNo 5 90 --changed my mind, move the last (fifth) world key to frame 90!

for i = 1 to lc.getNumTargets() do --print all keys' index, time and target
	format "%: Frame:% - Target:% \n" i (lc.getFrameNo i) (lc.getNode  i) 

出力

$Sphere:Sphere001 @ [0.000000,0.000000,0.000000]
[200,0,0]
$Box:Box001 @ [0.000000,0.000000,0.000000]
[0,500,0]
$Teapot:Teapot001 @ [0.000000,0.000000,0.000000]
Controller:Link_Constraint
Controller:Link_Constraint
0
1
true
1
true
1
true
1: Frame:29 - Target:undefined 
2: Frame:30 - Target:$Sphere:Sphere001 @ [0.000000,0.000000,0.000000] 
3: Frame:60 - Target:undefined 
4: Frame:70 - Target:$Box:Box001 @ [0.000000,0.000000,0.000000] 
5: Frame:90 - Target:undefined 
OK

関連事項