MAXscriptでマテリアル調整

大量のマテリアルのパラメーターを調整しなければいけなかったので、書いてみたが全然思ったようにかけない。
本当はmapもインスタンスにしたいんだけどな。
最終的には汎用性をつけてインターフェース付けたい。

 

for o in selection do –触ったオブジェクトを順番にループ
(

mt = o.material –そのオブジェクトについてるマテリアルをmtに入れる
mynoise= o.name + “noise” –この後作るノイズマップの名前のために文字列生成
mt.material1.specularLevel = 40 –mtに入ったマテリアルのスペキュラーレベル調整
mt.material1.glossiness = 50 –mtに入ったマテリアルのグロッシネス調整
mt.material1.specularLevelMap = Noise () –スペキュラレベスマップにノイズを新規作成
mt.material1.specularLevelMap.name = mynoise –さっき作った名前のmynoiseをつける
mt.material1.specularLevelMap.thresholdHigh = 0.7 –noiseの中のパラメーター調整
mt.material1.specularLevelMap.thresholdLow = 0.4 –noiseの中のパラメーター調整
mt.material1.specularLevelMap.size = 0.2 –noiseの中のパラメーター調整
mt.material1.specularLevelMapAmount = 30 –スペキュラレベスマップのパーセント調整
gc() –なんか凄くフリーズしたので神頼みで書いてみた
)

ちなみにmt.material1っていうのはサブマテリアルのスロット1ってことなんでこのスクリプトはサブマテリアルをコントロールする用です。

サブマテリアルを使わない場合は material1をはずせばいい。

マテリアルの各パラメーターに関してはこちらを参照

スタンダードマテリアルのマニュアル 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です