Library

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

継承

SIObject

ProjectItem

Source

Library

導入

v4.0

詳細

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

メソッド

AddCustomOp AddProperty AddScriptedOp AddScriptedOpFromFile
AnimatedParameters2 BelongsToオペレータ EvaluateAt GetICEAttributeFromName
IsA IsAnimated2 IsClassOfオペレータ IsEqualToオペレータ
IsKindOf IsLockedオペレータ IsSelectedオペレータ LockOwners
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