MakeShadowSpine

MakeShadowSpine

導入

v4.0

詳細

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

スクリプト構文

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

戻り値

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

パラメータ

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

デフォルト値: 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