Object Hierarchy | 関連する C++クラス:TextureLayer
TextureLayer
v4.0
TextureLayer は、シェーダおよびマテリアルの最上部にあるシェーダエフェクトのレイヤ化を簡単にするオブジェクトです。各レイヤにはその特性 (色、ミキシング モード、スケール係数など)について記述したプロパティのセットがあり、これによってそのレイヤが処理するシェーダ ポートにどのように影響を与えるかが指定されます。 コンテナの下にレイヤが表示される順序はレイヤ化が適用された順序であり、「N 色をミックス」したシェーダ ノードが動作する場合と似ています。
TextureLayerPortオブジェクトは TextureLayer が所有し、レイヤが影響を与えるシェーダポートを指定するために使用されます。ポートが存在しない場合は、レイヤはただのスタブまたはプレースホルダになるので、マテリアルのレンダリングには影響しません。
TextureLayers はMaterial.CreateTextureLayerおよびShader.CreateTextureLayerを使用して作成できます。TextureLayer は入力の処理中に「サブ」レンダツリーが接続されることがあります。これは(Parameter.ConnectFromPresetまたはParameter.Connectを使用して)複数のShaderオブジェクトをまとめて接続する場合と似ています。
// This example shows creation of texture layers,
// plus enumerating and removing them.
oRoot = ActiveProject.ActiveScene.Root;
oSph = oRoot.AddGeometry( "Torus", "MeshSurface" );
oMat = oSph.AddMaterial( "Phong" );
oPhong = oMat.Shaders(0);
// Add a layer at the end (since there are no others the "After"
// flag is irrelevant).
var oLayers = new Array(3);
oLayers[0] = oPhong.CreateTextureLayer( "B", true );
// Add another layer before the other one.
oLayers[1] = oPhong.CreateTextureLayer( "A", false, oLayers[0] );
// Create a third layer at the very start.
oLayers[2] = oPhong.CreateTextureLayer( "base", false );
Application.LogMessage( "Created " + oPhong.TextureLayers.count + " layers." );
for ( i = 0; i < oPhong.TextureLayers.count; i++ )
{
oLayer = oPhong.TextureLayers(i);
Application.LogMessage( (i+1) + ": " + oLayer );
}
oPhong.RemoveTextureLayer( oLayers[1] );
oPhong.RemoveTextureLayer( oPhong.fullname + "." + oLayers[2].name );
count = oPhong.TextureLayers.count;
Application.LogMessage( "Only " + count + " remain(s) after removal." );
for ( i = 0; i < count; i++ )
{
Application.LogMessage( (i+1) + ": " + oPhong.TextureLayers.item(i) );
}
// This example should log something like:
//INFO : "Created 3 layers."
//INFO : "1: torus.Material.Phong.base"
//INFO : "2: torus.Material.Phong.A"
//INFO : "3: torus.Material.Phong.B"
//INFO : "Only 1 remain(s) after removal."
//INFO : "1: torus.Material.Phong.B" |