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