MakeTail

導入

v4.0

詳細

ガイド オブジェクトのコレクションまたはガイド カーブから尻尾のリグを作成します。尻尾(明るい緑のチェイン)は、1 ボーンのコントロール チェインのセット(深緑)によってコントロールされます。 コントロール チェインのルート(立方体)は、リグのアニメーション コントロールとして操作できます。一方、コントロール チェインのエフェクタ(非表示)は、ダイナミクス エフェクトのスプリングに接続されます。 ガイド オブジェクトの数またはカーブのコントロール ポイントの数はコントロール チェインの数を決定し、NbTailBones 引数は尻尾のボーンの数を決定します。

必要に応じて、尻尾にシャドウ リグをアタッチすることができます。 尻尾のチェイン エレメントそれぞれにシャドウ オブジェクトが作成され、尻尾のオブジェクトにポーズによって拘束されます。 シャドウ リグはリグのアニメーションをプロットする際に使用できます。

スクリプト構文

oTail = MakeTail( Parent, GuideObjectCollection, [NbTailBones], [ShadowType], [ShadowParent], [CharacterSetName], [ShadowCharacterSetName] );

戻り値

Tail JScript オブジェクトを戻します。

パラメータ

パラメータ タイプ 説明
Parent 文字列 新しい尻尾の親となるオブジェクト。空の場合には、シーン ルートが使用されます。
GuideObjectCollection 文字列 尻尾を作成するための、ガイド オブジェクトのコレクションまたはカーブ。 3 つ以上のガイド オブジェクトが必要です。カーブを使用する場合は、3 つ以上のコントロール ポイントが必要です。
NbTailBones Integer トレーシング チェイン上のボーンの数。

デフォルト値: 2

ShadowType Integer アタッチするシャドウ リグのタイプ。 シャドウ リグは、アニメーションを転送または再マップするために使用します。

デフォルト値: 0

指定可能な値:

説明:

0 影無し
1 SI|3Dスケルトンのシャドウリグ
2 XSIスケルトンのシャドウリグ
3 ヌルのシャドウリグ
4 ボックスのシャドウリグ
ShadowParent 文字列 シャドウ リグ階層の親。 空の場合には、シャドウ リグは作成されません。
CharacterSetName 文字列 このチェインで使用する必要があるキャラクタ セットの名前。カスタム プロパティ セットに保存されて使用されます。

デフォルト値: ""

ShadowCharacterSetName 文字列 このチェインで使用する必要があるシャドウ キャラクタ セットの名前。

デフォルト値: ""

JScript の例

/*

	This example creates a 10-bone tail with a box shadow.

*/

var guidecoll = new ActiveXObject("XSI.Collection");

var lXfm = XSIMath.CreateTransform();

for(var i=0;i<5;i++)

{

	guidecoll.Add( GetPrim("Null", "Guide_Tail") ); 

	lXfm.SetTranslationFromValues(2*i,0,0);

	guidecoll(i).Kinematics.Global.Transform = lXfm;

}

var tail = MakeTail(null,        //Parent (if null uses scene root)

		guidecoll,          //Guide Objects

		10,                 //Nb Tail Bones

		4,                  //Shadow type (4=box shadow)

		ActiveSceneRoot);   //Shadow parent

DumpTail(tail);

function DumpTail(inTail)

{

	logmessage ("Data in the tail object:");

	logmessage ("------------------------");

	logmessage ("Nb Points     : " + inTail.nbPoints);

	logmessage ("Control Chains: " + inTail.ControlChains);

	logmessage ("Control Root  : " + inTail.Root);

	logmessage ("Trace Chain   : " + inTail.TraceChain);

	logmessage ("Trace Root    : " + inTail.TraceRoot);

	logmessage ("Hidden        : " + inTail.Hidden);

	logmessage ("Envelope      : " + inTail.Envelope);

	logmessage ("Shadow Start  : " + inTail.ShadowStart);

	logmessage ("Shadow Ends   : " + inTail.ShadowEnds);

	logmessage ("Shadow Objects: " + inTail.Shadows);

}

//

// Output from running this example:

//

//INFO : Data in the tail object:

//INFO : ------------------------

//INFO : Nb Points     : 5

//INFO : Control Chains: root,bone,eff,root1,bone1,eff1,root2,bone2,eff2,root3,bone3,eff3

//INFO : Control Root  : root

//INFO : Trace Chain   : root4,Tail1,Tail2,Tail3,Tail4,Tail5,Tail6,Tail7,Tail8,Tail9,Tail10,Tail11

//INFO : Trace Root    : root4

//INFO : Hidden        : eff,eff1,eff2,eff3

//INFO : Envelope      : Tail1,Tail2,Tail3,Tail4,Tail5,Tail6,Tail7,Tail8,Tail9,Tail10,Tail11

//INFO : Shadow Start  : Tail12

//INFO : Shadow Ends   : Tail21

//INFO : Shadow Objects: Tail12,Tail13,Tail14,Tail15,Tail16,Tail17,Tail18,Tail19,Tail20,Tail21

//

関連項目

MakeTorso MakeBelly