ICE ツリーでマップを操作する

 
 
 

ICE ツリーでは、ウェイト マップおよびテクスチャ マップの両方を操作できます。また、UV テクスチャ座標の読み取りおよび書き込みを行うことができます。

ICE でのウェイト マップ

ICE でウェイト マップを操作するには、関連付けられているクラスタの下にあるプロパティおよび属性に接続します。たとえば、ウェイト値を操作するには、"<object_name>.cls.<cluster_name>.<weightmap_name>.Weights" に接続します。

ウェイトは読み取りおよび書き込みが可能です。ある位置のウェイト マップのウェイト値を取得する場合は、補間されたウェイト値が戻されます。次のサブツリーでは、[EmitLocation]のウェイトに基づいて、パーティクルの[PointVelocity]が調整されます。

ウェイト マップに値を書き込むには、ポイントの位置で[ウェイト]属性を設定します。次のサブツリーでは、[Turbulence]ノードによって、ウェイトが設定されます。

ICE ツリーでウェイト マップを取得および設定するときには、いくつかの原則に従う必要があります。

  • ICE ツリーでウェイトが取得されるが設定されない場合は、作成するペイント ストロークがスタック内の読み取りポイントの下に適用されるため、ツリーによって読み取られます。

  • ICE ツリーでウェイトが設定されるが取得されない場合は、作成するペイント ストロークは最上部に適用されます。これにより、ICE ツリーを使用して、既定マップを生成し、ペインティングのベースとして使用することができます。

  • ICE ツリーでウェイトの取得と生成の両方を行う場合(ウェイトをスムージングする場合など)は、特別なルールが適用されます。ICE ツリーがコンストラクション スタックのモデリング領域の上部にある場合、ペイント ストロークは常にその下になり、ツリーによって読み込まれます。ICE ツリーがモデリング領域の中にある場合、新しいペイント ストロークはその上になりますが、ツリーでウェイト マップをデタッチおよび再アタッチすることで(リファレンスを削除してから元に戻すなどの方法で)、その上に配置できます。

First Valid によりウェイト マップを使用する

Push Operator の振幅など、多くのネイティブ Softimage パラメータでは、ウェイト マップが接続されている場合はそのウェイト マップが使用されます。ウェイト マップがない場合は、シンプルなスライダ数値が使用されます。コンパウンドの一部を表す次の図に示したように、[First Valid]ノードを使用して同じ結果を得ることができます。ウェイト マップが接続されている場合は、その値は振幅によって乗算され、下流に渡されます。ウェイト マップが接続されていない場合は、振幅が直接下流に渡されます。

ICE でのテクスチャ マップ

ICE ツリーでテクスチャまたはその他のイメージ マップを操作するには、テクスチャ マップが必要です。テクスチャ マップは、イメージ クリップを UV テクスチャ座標のセットに関連付けるプロパティです。「テクスチャ マップ」(「シーン エレメント」)を参照してください。

テクスチャ マップのカラー値を操作するには、任意の位置でテクスチャ マップを取得します。次のサブツリーでは、[EmitLocation]のエミッタのテクスチャ マップの値に基づいて、パーティクルのカラーが設定されます。

ICE でのテクスチャ UV 座標

ICE でテクスチャ座標を変更するには、該当するクラスタのテクスチャ投影の下にある UV または UVW 属性を取得および設定します。

ICE ツリーでテクスチャ UV 座標を設定すると、その結果は、テクスチャ UV 座標に影響する他のオペレータの最上部に適用される点に注意してください。そのため、たとえばテクスチャ UV 座標を Texture Editor で編集できなくなります。この場合、まずテクスチャ UV 座標(および ICE ツリー)をフリーズする必要があります。

ICE ツリーで使用されているイメージをキャッシュする

ICE ツリーでイメージが使用されている場合は、キャッシュしておくと便利な場合があります。これにより、特に EXR や圧縮 TIFF など複雑なフォーマットでの読み取り操作の速度が向上します。

キャッシュを行うには、スクリプトまたは SDK を使用して、イメージ ソース オブジェクトの FrameCaching プロパティを設定します。次に、VBScript の例を示します。

SetValue "Sources.noIcon_pic.FrameCaching", true

JScript では次のようになります。

SetValue("Sources.noIcon_pic.FrameCaching", true, null);

詳細については、『SDK ガイド』を参照してください。

このオプションをアクティブにしても、テクスチャリング操作またはレンダリング操作の速度には影響ないことに注意してください。