MakeShadowSpine

導入

v4.0

カテゴリ

キャラクタ リギング

詳細

既存のスパインの上のシャドウの階層(チェインまたはヌルの階層)をトレースします。 シャドウ オブジェクトが作成され、スパインの各椎にポーズで拘束されます。

スクリプト構文

oShadow = MakeShadowSpine( Spline, Base, Vertebra, TopVertebra, ShadowParent, [ChestTop], [IconScale], [ShadowType], [ShadowCharacterSetName] );

戻り値

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

パラメータ

パラメータ タイプ 詳細
Spline 文字列 トレースするスパインのスプライン オブジェクト。
Base 文字列 トレースするスパインのベース(ヒップ)オブジェクト。
Vertebra 文字列 トレースするスパインの椎のコレクション。
TopVertebra 文字列 トレースするスパインの最上部の椎のオブジェクト(胸)。
ShadowParent 文字列 新しいシャドウ階層の親。
ChestTop 文字列 (オプション)トレースするスパインの胸の最上部のオブジェクト。 空の場合には、スパインがこのオプションなしで作成されていると想定します。
IconScale ダブル スパインのスケール値。 シャドウ スケルトンのアイコンの大きさを調整します。

デフォルト値: 1.0

ShadowType Integer 描画するシャドウ トレーシングのタイプ。 わかりやすくするため、デフォルトのリグ ジェネレータでは、シャドウ タイプのユーザ インターフェイスのオプションの番号が横に表示されます。 このオプションではボックス シャドウはトレースできませんが、コンポーネントとしては実行可能です。ボックス シャドウは各コンポーネントの体積を仮定する必要があるためです。

デフォルト値: 1

指定可能な値:

説明:

0 影無し
1 SI|3Dスケルトンのシャドウリグ
2 XSIスケルトンのシャドウリグ
3 ヌルのシャドウリグ
ShadowCharacterSetName 文字列 このチェインで使用する必要があるキャラクタ セットの名前。

デフォルト値: ""

JScript の例

/*
        Make a spine with 3 vertebrae, then attach
        a skeleton shadow to it
*/
var Base        = GetPrim("Null", "Base"); 
var Top         = GetPrim("Null", "Top"); 
var Depth       = GetPrim("Null", "Depth"); 
var TopDepth= GetPrim("Null", "TopDepth"); 
/*
        Make Spine
*/
var lXfm = XSIMath.CreateTransform();
lXfm.SetTranslationFromValues(0,0,0);
Base.Kinematics.Global.Transform = lXfm;
lXfm.SetTranslationFromValues(0,8,0);
Top.Kinematics.Global.Transform = lXfm;
lXfm.SetTranslationFromValues(0,2,0);
Depth.Kinematics.Global.Transform = lXfm;
lXfm.SetTranslationFromValues(0,6,0);
TopDepth.Kinematics.Global.Transform = lXfm;
var Spine = MakeSpine(  ActiveSceneRoot,        //model 
                                ActiveSceneRoot,        //parent
                                3,                      //number of vertebrae
                                0,                      //quat spine with polygon vertebrae
                                false,                  //non-stretchy
                                Base, Top,
                                Depth,TopDepth);
/*
        Make Shadow
*/
var ShadowSpine = MakeShadowSpine(Spine.Curve, Spine.base, Spine.Vertebra, Spine.TopVertebra, ActiveSceneRoot,Spine.chestTop);
DumpShadowSpine(ShadowSpine);
function DumpShadowSpine(inShadowSpine)
{
        logmessage ("Data in the returned spine object:");
        logmessage ("---------------------------------");
        logmessage ("Spline      : " + inShadowSpine.Spline);
        logmessage ("TopVertebra : " + inShadowSpine.TopVertebra );
        logmessage ("Scale       : " + inShadowSpine.Scale);
        logmessage ("Parent      : " + inShadowSpine.Parent);
        logmessage ("#ShadowObj  : " + inShadowSpine.Shadows.count);
        for(var b=0;b<inShadowSpine.Shadows.count;b++)
                {logmessage ("  Shadow" + b + ": " + inShadowSpine.Shadows(b));}
        logmessage ("#EnvelopeObj: " + inShadowSpine.   Envelope.count);
        for(var b=0;b<inShadowSpine.Envelope.count;b++)
                {logmessage ("  EnvelopeObj" + b + ": " + inShadowSpine.Envelope(b));}
        logmessage ("#Vertebrae  : " + inShadowSpine.Vertebra.count);
        for(var b=0;b<inShadowSpine.Vertebra.count;b++)
                {logmessage ("  Vertebra" + b + ": " + inShadowSpine.Vertebra(b));}
        logmessage ("#UpVectors  : " + inShadowSpine.UpVectors.count);
        for(var b=0;b<inShadowSpine.UpVectors.count;b++)
                {logmessage ("  UpVector" + b + ": " + inShadowSpine.UpVectors(b));}
}
//results from running this script:
//INFO : "Data in the returned spine object:"
//INFO : "---------------------------------"
//INFO : "Spline      : crvlist"
//INFO : "TopVertebra : TopVertebra"
//INFO : "Scale       : 1"
//INFO : "Parent      : Scene_Root"
//INFO : "#ShadowObj  : 6"
//INFO : "  Shadow0: SpineRoot"
//INFO : "  Shadow1: Spine1"
//INFO : "  Shadow2: Spine2"
//INFO : "  Shadow3: Spine3"
//INFO : "  Shadow4: Chest"
//INFO : "  Shadow5: ChestEffector"
//INFO : "#EnvelopeObj: 0"
//INFO : "#Vertebrae  : 3"
//INFO : "  Vertebra0: Vertebra"
//INFO : "  Vertebra1: Vertebra1"
//INFO : "  Vertebra2: Vertebra2"
//INFO : "#UpVectors  : 4"
//INFO : "  UpVector0: Shadow_upVa"
//INFO : "  UpVector1: Shadow_upVa1"
//INFO : "  UpVector2: Shadow_upVa2"
//INFO : "  UpVector3: Shadow_upVa3"

関連項目

MakeShadowChain