showTextureMap()
関数は、ビューポートに表示されるマテリアル レベルとマップ レベルの両方のテクスチャをコントロールできます。
形式は次のとおりです。
showTextureMap <material> [<texmap>|<material>] <boolean>
オプションの <texmap>
または <material>
を指定しない場合、引数 1 <boolean>
引数に設定されます。
オプションの <texmap>
内でマテリアルが検索されます。 このテクスチャ マップは、指定した引数 1 <boolean>
引数に基づいてオンまたはオフに設定されます。
オプションの <boolean>
引数に基づいてオンまたはオフに設定されます。
例
showTextureMap $foo.material on showTextureMap $foo.material $foo.material.diffusemap off
作成時は、マッピング座標はすべてのオブジェクトに対して、明示的に使用可能になってはいません。リスナーでスクリプトを実行するときは、「showTextureMap」を使用して間接的にマッピング座標をオンにします。これは、必要に応じ、各行の実行後に行われるシーンの再描画中に行われます。スクリプトをスクリプト エディタから実行すると、あるいはスクリプトをカッコで囲むと、スクリプト全体が実行されるまで、シーンの再描画は行われません。再描画が行われないため、マッピング座標は、スクリプトがアクセスしようとしてもオブジェクト上には存在しません。問題解決法: 「showTextureMap」の後ろに[redrawViews()]を指定して明示的にシーン再描画を実行するか、オブジェクトのマッピング座標を明示的にオンにします。
3ds Max 2008 で追加された以下のメソッドは、[標準マップをビューポートに表示]アイコンに対して、フライアウト オプションとして用意されている[ハードウェア マップをビューポートに表示]の状態をコントロールします。
enableHardwareMaterial <material> [<texmap>|<material>] <boolean>
このメソッドは、マテリアル レベルおよびマップ レベルのフライアウトの状態をコントロールします。
true に設定されている場合は、フライアウトは[ハードウェア]モード(マゼンタ色のアイコン)に切り替わります。
false に設定されている場合は、フライアウトは[ソフトウェア]モード(青いアイコン)に切り替わります。
showHWTextureMap <material> [<texmap>|<material>] <boolean>
このメソッドは、マテリアル レベルおよびマップ レベルの[ビューポートにマップを表示]アイコンの状態をコントロールします。
true に設定した場合、アイコンは押された状態になります。false に設定した場合、アイコンは押されていない状態になります。
このメソッドを使用する場合は、フライアウトはハードウェア モードになっている必要があります。ハードウェア モードになっていない場合は、アイコFンは押された状態になりますが、ビューポートにはマップが表示されません。
例:
-- Apply a checkered map to a sphere. s = Sphere() s.mapcoords = on s.material = Standard() s.material.diffuseMap = Checker() -- Show the texture map. enableHardwareMaterial s.material true showHWTextureMap s.material true