Library

Object Hierarchy | 関連する C++クラス:Library

継承

SIObject

ProjectItem

Source

Library

導入

v4.0

詳細

ライブラリは、同じ種類のオブジェクトのコンテナです。たとえば、マテリアルライブラリにはマテリアルのリストが含まれています。ライブラリのストレージは内部または外部のいずれかになります。内部ストレージでは、シーンファイル内に保存されます。外部ストレージでは、異なるファイルに保存されます。ライブラリはdotXSIフォーマットまたはネイティブのバイナリフォーマットに書き出しおよび読み込みできます。

メソッド

AddCustomOp AddICEAttribute AddProperty AddScriptedOp
AddScriptedOpFromFile AnimatedParameters2 BelongsToオペレータ EvaluateAt
GetICEAttributeFromName IsA IsAnimated2 IsClassOfオペレータ
IsEqualToオペレータ IsKindOf IsLockedオペレータ IsSelectedオペレータ
LockOwners RemoveICEAttribute SetAsSelectedオペレータ SetCapabilityFlagオペレータ
SetLock TaggedParameters UnSetLock  
       

プロパティ

Application BranchFlagオペレータ Capabilitiesオペレータ Categories
EvaluationID Familiesオペレータ FullNameオペレータ Help
HierarchicalEvaluationID ICEAttributes Items LockLevelオペレータ
LockMastersオペレータ LockTypeオペレータ Model Nameオペレータ
NestedObjects ObjectID Origin OriginPath
Owners PPGLayoutオペレータ Parametersオペレータ Parent
Parent3DObject Properties Selectedオペレータ Typeオペレータ

JScript の例

/*

	This example illustrates how to get a material library and how to 

	enumerate all materials in a library

*/

NewScene(null, false);

// First create some libraries and materials

CreatePrim("Sphere", "MeshSurface");

ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap);

CreateLibrary();

SelectObj("Sources.Materials.MaterialLibrary");

SetValue("Sources.Materials.MaterialLibrary.Name", "MyLibrary");

SetCurrentMaterialLibrary("Sources.Materials.MyLibrary");

SelectObj("sphere", null, true);

ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap);

// Now enumerate all materials in all libraries

var oScene = Application.ActiveProject.ActiveScene;

var oMaterialLibraries = oScene.MaterialLibraries;

Application.LogMessage("There are " + oMaterialLibraries.Count + " libraries under the scene.");

for( var i=0; i<oMaterialLibraries.Count; i++ ) {

	var oLibrary = oMaterialLibraries(i);

	Application.LogMessage(oLibrary.Name + " has " + oLibrary.Items.Count + " defined materials");

	var oMaterials = oLibrary.Items;

	for( var j=0; j<oMaterials.Count; j++ ) {

		Application.LogMessage("  - " + oMaterials(j).Name);

	}

}

// Expected result:

// INFO : There are 2 libraries under the scene.

// INFO : DefaultLib has 2 defined materials

// INFO :   - Scene_Material

// INFO :   - Material

// INFO : MyLibrary has 1 defined materials

// INFO :   - Material

関連項目

Scene.ActiveMaterialLibrary