ICE を使用して、メッシュ内のポリゴンにマテリアルを適用できます。この方法には、クラスタがローカル マテリアルを必要としないという利点があります。[マテリアル]と[MaterialID]という 2 つの属性は重要です。
[マテリアル]はポリゴン メッシュ オブジェクトで使用できる属性です。これは、「Sources.Materials.DefaultLib.Blue」などのように、メッシュ内のポリゴンで使用できるマテリアルの名前を含んでいる文字列配列です。マテリアル名はレンダリング時に解決されるため、未定義のマテリアル名が ICE ツリーでエラーとして表示されることはありません。マテリアル名がレンダリング時に使用できない場合、代わりに、通常の ICE 以外の方法でオブジェクトに直接適用されたマテリアルが使用されます。
[MaterialID]は、ポリゴンごとの整数属性です。[マテリアル]配列内のどのエレメントを各ポリゴンに適用するかを指定します。値が 0 の場合は、そのオブジェクト自身に適用されたマテリアルを使用します。値が 1 の場合は配列内の最初のマテリアル(配列インデックス 0)、値が 2 の場合は配列の第 2 のマテリアル(配列インデックス 1)、というように使用されます。[マテリアル]配列よりも大きい値を持つポリゴンは、そのオブジェクトのマテリアルを使用します。
異なるマテリアルを異なるポリゴンに適用する場合は、マテリアル名を使って配列を登録し、それを使用してメッシュの[マテリアル]属性を設定します。その後、各ポリゴンの[MaterialID]属性を計算および設定し、選択基準に基づいてマテリアルを指定します。
マテリアルで作業をする場合、便利なノードがいくつかあります。
[ライブラリからのマテリアルを設定]は、リファレンスをマテリアルに接続させることによって[マテリアル]属性を作成します。Explorer または Material Manager から ICE ツリーへマテリアルをドラッグできます。
[文字列からのマテリアルを設定]は、Property Editor にマテリアル名を入力したり、文字列値を接続できます。マテリアル名をコピーしたり、貼り付けるときに特に便利です。ポートを右クリックして[挿入]コマンドを 1 つ選択すれば、さらに名前を追加できます。未使用のポートは必要に応じて削除できます。未解決のマテリアルはすべてそのオブジェクトのマテリアルで置き換えられます。
[マテリアルIDをセット]は、接続する条件に基づいて[MaterialID]属性を設定します。この例では、ヌルのボリューム内にポリゴンが存在するかどうかが条件です。
メッシュ上にクラスタが既に存在する場合は、[クラスタからのマテリアル ID を設定]でそのクラスタを使用し、[MaterialID]を設定します。
[Reference to String]は、マテリアルなどシーン エレメントへのリファレンスを文字列に変換します。次の例で、赤のマテリアルを自身の既存の[マテリアル]配列に追加します。