マテリアル エディタ
 
 
 

次の関数は、マテリアルおよびマテリアル エディタによるマテリアルの使用に固有のものです。

getMeditMaterial <slot_index> 	 

マテリアル エディタのスロット 1 ~ 24 までのマテリアルを取得できます。

例:

foo = getMeditMaterial 3

   

setMeditMaterial <slot_index> <material>   

getMeditMaterial 関数を補完して、番号の付いたマテリアル エディタ スロットにマテリアルを配置できるようにします。

マテリアルまたはテクスチャ マップのいずれかを <material> として使用できます。

   

loadDefaultMatLib() 

既存の 3ds Max マテリアル ライブラリ ファイルをロードします。

   

loadMaterialLibrary <filename_string> 

名前の付いた 3ds Max マテリアル ライブラリ ファイルをロードして、現在のマテリアル ライブラリにします。

ファイル名が完全な特定のディレクトリ パスを持たない場合は、この関数は現在設定されているビットマップ パスすべてを検索します。

正しくロードできた場合は true 、ロードに失敗した場合は false を返します。

   

saveMaterialLibrary <filename_string> 

現在のマテリアル ライブラリを名前付きファイルに保存します。

正しく保存できた場合は true 、保存に失敗した場合は false を返します。

   

fileOpenMatLib() 

このメソッドでは[ファイルを開く]ダイアログ ボックスが表示され、ユーザがロードするマテリアル ライブラリを選択することができます。

   

fileSaveAsMatLib() 

標準の[名前を付けて保存]ダイアログ ボックスが表示され、ユーザが現在のマテリアルを保存できます。

   

fileSaveMatLib [quiet:<bool>] 

現在のマテリアル ライブラリが以前保存された(名前が付いている)場合、このメソッドによりマテリアル ライブラリは同じファイルに保存されます。

以前に保存していない場合は、標準の[名前を付けて保存]ダイアログ ボックスが表示され、現在のマテリアル ライブラリを保存できます。

3ds Max 8 以降で使用可能な quiet: オプションの詳細については、「Quiet Mode」を参照してください。

   

getMatLibFileName() 

現在のマテリアル ライブラリ ファイルの名前を文字列値として返します。

   

renderMap <textureMap> [into:<bitmap>] [size:<point2>] [filename:<string>] [scale:<float>][filter:<boolean>] [display:<boolean>] 

マテリアル エディタで使用できる RenderMap 関数へのアクセスを提供します。

この関数は、与えられたテクスチャ マップのレンダリングを含むビットマップ値を返します。

オプションの into: 引数を指定すると、この関数は既存のビットマップからサイズとその他の属性を取り込んで、指定されたビットマップにマップをレンダリングします。指定しない場合は、 size: および fileName: 引数を使って新しいビットマップ値が作成されます。

into: および size: パラメータを指定しない場合、既定のサイズは[200,200]になります。

scale: 引数は、3D テクスチャ マップに適用されるスケール係数です。これは UV に適用される 3 次元空間におけるサーフェスのスケールであり、ビットマップ描画に表示するテクスチャの割合をコントロールします。

filter: 引数が true の場合、ビットマップはフィルタ処理されます。フィルタ処理をオンにしてビットマップを再スケールすると、処理速度がかなり低下します。既定値は false です。

display: 引数が true の場合、結果のビットマップは仮想フレーム バッファを使用して表示されます。その他の場合、仮想フレーム バッファは使用されません。既定値は false です。

例:

rm = renderMap $foo.material.diffuseMap size:[640,480] \
fileName:"foodif.bmp"
save rm
close rm

これは、ビットマップにマップをレンダリングして、それを .bmp ファイルとして保存します。

   

showTextureMap <material> [<texmap>|<material>] <boolean> 

これは、シェーディングしたビューポート内のテクスチャの可視性を制御します。

テクスチャ マップを含むマテリアル、そのマテリアル内でコントロールされるテクスチャ マップ、表示をオンまたはオフにするブール値を指定します。

例:

showTextureMap $foo.material $foo.material.diffuseMap on
tm = checker()
mat = standardMaterial diffuseMap:tm
mm = multimaterial()
mm[1] = mat
$box01.material = mm
showTextureMap mm[1] tm on

マルチマテリアルの場合は、([] を使用するインデックス処理などを使用して)適切なサブマテリアルを指定する必要があります。

詳細については、「showTextureMap() function」を参照してください。

以下の 3ds Max システム グローバル変数マテリアル エディタに適用できます。

currentMaterialLibrary 

現在開いているマテリアル ライブラリに対応するマテリアルの仮想配列と、ルート レベルのマップが含まれています。

ライブラリのマテリアルは配列のインデックスによって取得でき、 for ループで繰り返し使用できます。

配列は番号や名前でインデックスを付けることができ、文字列を使用してマテリアル名を選択することが可能です。

この変数は読み取り専用です。

詳細については、「MaterialLibrary Values」を参照してください。

   

meditMaterials 

マテリアル エディタのスロットに対応するマテリアルの仮想配列とルート レベルのマップが含まれています。

マテリアル エディタのマテリアルとルート レベルのマップへは、配列のインデックスからアクセスし、 for ループで繰り返し使用できます。

配列はスロット番号を指定する番号や、名前、またはマテリアルやルート レベル マップの名前を選択する文字列でインデックスできます。

例:

$foo.material = meditMaterials[1]
meditMaterials["foo mat"].diffuse = red
for m in meditMaterials do print m.diffuseMap
meditMaterials[1]=standard()
print meditMaterials.count -- スロット数

この変数は読み込み専用ですが、要素(スロット内のマテリアル)は割り当て可能です。

詳細については、「MaterialLibrary Values」を参照してください。

   

sceneMaterials 

シーン内に存在するマテリアルとルート レベルのマップに対応するマテリアルの仮想配列と、ルート レベルのマップが含まれます。シーンのマテリアルとルート レベルのマップは、配列のインデックスによって取得でき、 for ループで繰り返し使用できます。

配列に、番号、名前、またはマテリアルやルート レベルのマップ名を選択する文字列によってインデックスを付けることができます。

この変数は読み取り専用です。

詳細については、「MaterialLibrary Values」を参照してください。

   

activeMeditSlot 

MAXScript から、マテリアル エディタのアクティブ スロットにアクセスできます。

システム グローバル変数 activeMeditSlot に、現在アクティブなマテリアル エディタ スロットのインデックスが格納されます。

この値を読み込めば、アクティブ スロットを識別したり、整数(1 ~ 24)を割り当ててアクティブ スロットを設定したりできます。

例:

activeMeditSlot = 5 -- スロット 5 をアクティブ スロットに設定
mtl = meditMaterials[activeMeditSlot] -- アクティブなマテリアル/マップを取得
関連事項