シェーダ ファミリの検出

 
 
 

既存のシェーダ定義に定義されているシェーダ ファミリを確認するには

  • ShaderDef.ShaderFamilies または ShaderDef::GetShaderFamilies を使用して、SAFEARRAY の文字列を取得します。

    for sFamily in oShaderDef.ShaderFamilies :
    	Application.LogMessage(sFamily)
    	# ...

既存のシェーダ定義に定義されているプライマリファミリを確認するには

  • ShaderDef.PrimaryShaderFamily または ShaderDef::GetPrimaryShaderFamily を使用して、シェーダ ファミリ ID を文字列として返します。

    Application.LogMessage(oShaderDef.PrimaryShaderFamily)

指定したファミリが既存のシェーダ定義のシェーダファミリの1つとして定義されているかどうかを確認するには

登録したシェーダファミリをカスタムシェーダ定義に割り当てるには

  • ShaderDef.AddShaderFamily または ShaderDef::AddShaderFamily を使用して、追加したい各シェーダ ファミリのシェーダ ファミリ名を渡します。ただし、2 番目のパラメータはそのファミリがプライマリかどうかを指定します。このパラメータに値を指定しない場合は、最後に追加されたファミリがプライマリ ファミリとみなされます。

    # Adds the lens shader family only
    oShaderDef.AddShaderFamily(siShaderFamilyLens)
    
    # Adds the data blob and texture families with texture as primary (because it's 
    # the most versatile shader family--it has the fewest connection restrictions of anything)
    oShaderDef.AddShaderFamily(siShaderFamilyTexture, True)
    oShaderDef.AddShaderFamily(siShaderFamilyData, False)
    
    # Same thing but without specifying second parameter
    oShaderDef.AddShaderFamily(siShaderFamilyData)
    oShaderDef.AddShaderFamily(siShaderFamilyTexture)
注:

Softimage にカスタム シェーダ ファミリを登録するには、「カスタム シェーダ ファミリを作成する」を参照してください。 ネイティブ Softimage シェーダ ファミリのいずれかを使用するには、サポートされているファミリのリストを「ネイティブ Softimage シェーダ ファミリ」で確認してください。