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
|
||||||||||||
| ShadowParent | 文字列 | シャドウ リグ階層の親。 空の場合には、シャドウ リグは作成されません。 | ||||||||||||
| CharacterSetName | 文字列 |
このチェインで使用する必要があるキャラクタ セットの名前。カスタム プロパティ セットに保存されて使用されます。 デフォルト値: "" |
||||||||||||
| ShadowCharacterSetName | 文字列 |
このチェインで使用する必要があるシャドウ キャラクタ セットの名前。 デフォルト値: "" |
/*
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
// |