Source.AddProperty

導入

v4.0

詳細

UserDataBlobまたはCustomPropertyを作成し、Source オブジェクトに追加します。

C#構文

Property Source.AddProperty( Object in_Preset, Boolean in_Branch, String in_name );

スクリプト構文

oReturn = Source.AddProperty( Preset, [BranchFlag], [Name] );

戻り値

CustomPropertyUserDataBlobUserDataMapまたは(使用されたプリセットによる)

パラメータ

パラメータ タイプ 説明
Preset String この引数には、Property Preset の名前またはファイル名やプリセット ファイルへの完全パスを含む文字列が格納されます。

注: CustomProperty PresetsUserDataBlob Presets、および UserDataMap Presets だけがソースに対して有効です。

作成されるプロパティのタイプはこの引数により決定されます。たとえば、"CustomProperty" は空の CustomProperty を作成し、"UserDataBlob" は UserDataBlob を作成します。
BranchFlag Boolean False は、唯一のサポートされる値です。

デフォルト値: false

Name String 新しいプロパティの名前を表します(SIObject.Name を参照)。指定しない場合には、オブジェクトは Preset 引数に基づいて名前が付けられます。

JScript の例

/*

	This example shows how to add user data to a shape source

*/

// First build a simple scene 

NewScene( null, false );

var oCone = ActiveSceneRoot.AddGeometry( "Cone", "MeshSurface" );

// Set up the time in seconds

var oPlayCtrl = GetValue("PlayControl");

var dFrameRate = oPlayCtrl.Parameters("Rate").Value;

var dTime = 1.0 * dFrameRate;					// start at the beginning

// Using SaveShapeKey stores the source and applies the clip simultaneously

var aIndices = new Array( 1,4,7,10,13,16,19,22,25 );

var aPositions = new Array( /*    X,        Y,        Z         */

				0,        1.6667,  0,      	// point 1

				-0.5,     -0.5,    0,      	// point 4

				-0.3536,  -0.5,    -0.3536,	// point 7

				0,        -0.5,    0.5,    	// point 10

				0.3536,   -0.5,    0.3536, 	// point 13

				0.5,      -0.5,    0,      	// point 16

				0.3536,   -0.5,    -0.3536,	// point 19

				0,        -0.5,    -0.5,   	// point 22

				-0.3536,  -0.5,    -0.3536 	// point 25

			);

var oShapeClip = oCone.ActivePrimitive.Geometry.SaveShapeKey( 

			dTime,	 				// Time (when to evaluate)

			-1,		 			// ClipDuration

			siShapeObjectReferenceMode, 		// RefMode (shape ref. mode)

			siShapeMixedWeightMode, 		// InstMode (shape inst. mode)

			"MyNewShape",		 		// Name for shape

			aIndices,				// IndexArray (point indices)

			aPositions				// PositionArray (key positions)

		);

// Add a CustomProperty nested under the Source of the 1st clip

var oShapeSource = oShapeClip.Source;

var oShapePSet = oShapeSource.AddProperty( "CustomProperty",false, "ShapePSet" );

oShapePSet.AddParameter3( "Foo", siString ) ;

// Add a UserDataBlob nested under the ShapeSource

var oShapeUserDataBlob = oShapeSource.AddProperty( "UserDataBlob" );

LogMessage( "There are " + oShapeSource.Properties.Count + " Properties under this Shape Source" ) ;

// Expected result:

//INFO : There are 2 Properties under this Shape Source

関連項目

SceneItem.AddProperty Source.Properties