オブジェクトにマテリアルをアサインして、 マテリアルに3Dテクスチャをアサインするスクリプトです。
string $shname = `shadingNode -asShader マテリアル名`; string $setname = `sets -renderable true -noSurfaceShader true -empty`; connectAttr ($shname + ".outColor") ($setname + ".surfaceShader"); select -r アサインされるオブジェクト名; sets -e -forceElement $setname; string $fname = `shadingNode -asTexture 3Dテクスチャ名`; string $pname = `shadingNode -asUtility place3dTexture`; connectAttr ($pname + ".wim[0]") ($fname + ".pm"); connectAttr -f ($fname + ".outColor") ($shname + ".color");
スクリプト中に日本語(赤字)で書いてある3つの部分を、具体的な英字の名前で書き換えます。
例えば、マテリアル名をlambert、3Dテクスチャ名をrockにすると、
ランバートマテリアルにrockテクスチャがアサインされます。
rockテクスチャは、color1 と color2 アトリビュートによって色を決めます。
色(赤、緑、青)の数値は、0.0 から 1.0 の間です。
たとえば、color1 アトリビュートの色は以下のコマンドで設定します。
setAttr ($fname + ".color1") -type double3 赤 緑 青;