チュートリアル > すべてのマテリアルの削除 |
これは考えられるかぎり最も短いスクリプトですが、それでも非常に強力で、役に立ちます。このスクリプトで、ユーザはシーン内のすべてのマテリアルを削除できるようになります。
全体の流れ: |
ボタン、メニューまたはショートカットとして使用する macroScript としてコードをパッケージ化します。 |
すべてのオブジェクトのマテリアル プロパティを undefined に設定して、マテリアルの割り当てを削除します。 |
macroScript は NoMaterials と呼ばれます。
スクリプトを使用する場合は、[カスタマイズ...](Customize...)に移動してスクリプトを[HowTo]カテゴリからツールバー、メニュー、またはクアッド メニューにドラッグするか、キーボード ショートカットを割り当てることができます。
これを配置するのに適切な場所は、3ds Max 5 のマテリアル エディタの新しいメニューです。
$* はシーン内で検出されるすべてのオブジェクト名に対するワイルドカードであるため、MAXScript によってすべてのシーン オブジェクトが巡回されます。
マテリアル オブジェクトのプロパティの割り当てはマップ可能です。つまり、MAXScript が代入演算子「=」の左側にあるオブジェクトのコレクションを取得し、コレクション内のすべてのオブジェクトの内部をループによって巡回し、(値が undefined の場合)右辺の式をそれらに割り当てます。
最初にオブジェクトが作成されるとき、.material プロパティには既定値で undefined が設定されます。
マテリアルがオブジェクトに割り当てられると、.material プロパティはマテリアル オブジェクトを返します。
マテリアル プロパティを undefined に設定すると、オブジェクトに対するマテリアルの割り当てが効率的に削除され、オブジェクトの既定状態に復元されます。
スクリプトを使用する場合は、[カスタマイズ...](Customize...)を使用して、スクリプトを[HowTo]カテゴリからツールバー、メニュー、またはクアッド メニューにドラッグするか、キーボード ショートカットを割り当てることができます。
3ds Max 5 以降では、マテリアル エディタのメニューをカスタマイズして、シーンのマテリアルをクリアする新しい項目を配置することができます。
この操作は非常に破壊的です。 はい/いいえの問い合わせを追加して、ユーザが自分の操作を確認するようにできます。以下を参照してください。