UVを持つ3Dモデルの使用¶
UVは、3D表面に投影された2Dテクスチャ座標です。UVは、テクスチャマップ上のどのピクセルが3Dモデルのどの頂点に対応するかを定義します。Kanzi Studio でテクスチャ座標を使用するには、3ds Maxなどのコンテンツ作成ツールでUVレイアウトを作成する必要があります。これをアンラップまたはUVマッピングと呼びます。3Dモデルを平坦な2D空間でアンラップし、その3Dモデルにテクスチャを投影して、モデルの始まりから終わりまでの流れを作成します。サードパーティツールで3Dアセットを準備する を参照してください。
Kanzi Studio でUVを持つ3Dモデルを使用できます:
Texture Offset プロパティ。
UVを Texture Offset プロパティと共に使用することで、3Dモデルの表面にテクスチャをオフセットできます。例えば、Texture Offset プロパティを使用してUVでスピードメーターを作成するには、Texture Offset プロパティをスピードを制御するカスタムプロパティにバインドします。
カスタムプロパティ。
カスタムプロパティを使用してUVを使用する場合、そのカスタムプロパティを Texture Offset プロパティにバインドすることでオフセットを制御できます。
Kanzi Studio プロジェクトでUVを使用するには:
3ds Maxなどのコンテンツ作成ソフトウェアで、3DモデルのUV座標を準備します。サードパーティツールで3Dアセットを準備する を参照してください。
Kanzi Studio で、UV テクスチャ座標を Texture Offset プロパティまたはカスタムプロパティを使用して変換します。Texture Offset プロパティを使用したUVの変換 と カスタムプロパティを使用したUVの変換 を参照してください。
Kanzi Studio でUVを持つ3Dモデルを使用する¶
Kanzi Studio でUVを持つ3Dモデルを使用するには、
3ds Maxなどのコンテンツ作成ソフトウェアで、3DモデルのUV座標を準備します。サードパーティツールで3Dアセットを準備する を参照してください。
Assets ウィンドウで Import Assets をクリックし、使用したいUVマッピングされた3Dモデルを選択して、Open をクリックします。
3D アセットをインポートすると、Kanzi Studio は各 3D アセットに対して作成します:
インポートされたファイルの各シーンに対して、Prefabs で Scene プレハブを作成します。
Kanzi Studio は、インポートされたファイルに基づいて各 Scene プレハブに名前を付けます。複数のシーンを含む glTF ファイルをインポートする場合、Kanzi Studio は各 Scene プレハブの名前にシーンの名前を追加します。
各 Scene プレハブで、Kanzi Studio はインポートされたファイルからシーン階層を作成し、そのプレハブにインポートされたファイルからアセットを配置します。
Library Kanzi Studio は、Meshes、Splines、Animations、Materials など、インポートされたファイルからのすべてのリソースを配置します。
3Dアセットのインポート を参照してください。
Prefabs で、前のステップでインポートした3Dモデルにちなんで名付けられた Scene を選択し、ダブルクリックしてコンポジションとして開きます。
Preview にレンダリングされた Scene の構成を見るには、カメラと少なくとも1つのライトノードを含める必要があります。
Model のコンポジションで、Model > RootNode > Model ノードを選択し、Properties で3Dモデルのマテリアルを使用したいマテリアルに設定します。この例では、テクスチャをサポートするマテリアルを使用します。
Texture Offset プロパティを使用したUVの変換¶
Kanzi Studio では、Texture Offset プロパティを使用してUVテクスチャ座標を変換できます。そのプロパティの値を調整すると、Kanzi がテクスチャをオフセットする座標を変換します。
Texture Offset プロパティでUVを変換するには:
3ds Maxなどのコンテンツ作成ソフトウェアで、3DモデルのUV座標を準備します。サードパーティツールで3Dアセットを準備する を参照してください。
Prefabs で Model ノードを選択し、Properties で追加して設定します。
Blend Mode プロパティを Alpha: Premultiplied に設定します。これにより、透明度の正しいブレンディングが保証されます。
Texture プロパティを、UVで制御したいテクスチャに設定します。
Texture Offset プロパティ。
Texture Offset プロパティを使用して、3DモデルのUV座標を制御します。Texture Offset プロパティの値が3Dモデルのサイズより大きい場合に3Dモデルを見えなくしたい場合は、テクスチャの周囲2ピクセルが透明であることを確認してください。
Library > Materials and Textures > Textures で、Texture Offset プロパティで位置を制御するテクスチャを選択し、Properties で Wrap Mode プロパティを Clamp に設定します。
この方法では、Texture 座標が0.0未満または1.0を超える値にオフセットされても、テクスチャの繰り返しがありません。
Kanzi は、Texture Offset プロパティの値が変化したときに、レンダリングで使用されるテクスチャ座標を更新します。例えば、スピードメーターを作成するには、Texture Offset プロパティを現在の速度を含むカスタムプロパティにバインドします。カスタムプロパティの値が変化すると、Kanzi はそのプロパティの値に基づいてテクスチャをオフセットします。バインディングの使用 を参照してください。
カスタムプロパティを使用したUVの変換¶
Kanzi Studio では、カスタムプロパティを使用してUVテクスチャ座標を変換できます。そのプロパティの値を調整すると、Kanzi がテクスチャをオフセットする座標を変換します。
カスタムプロパティでUVを変換するには:
3ds Maxなどのコンテンツ作成ソフトウェアで、3DモデルのUV座標を準備します。サードパーティツールで3Dアセットを準備する を参照してください。
Library Alt を押しながら右クリック Property Types で、Property Type を選択し、Property Type Editor で設定します。
Lower Bound をプロパティの最小値にします。
たとえば、0 に設定します。
Upper Bound をプロパティの最大値にします。
たとえば、270に設定します。
Prefabs で、Model > RootNode > Model ノードを選択し、Properties で追加して設定します。
使用したいテクスチャに Texture プロパティを設定します。
Blend Mode から Alpha: Premultiplied へ。
これにより、透明度の正しいブレンディングが保証されます。
前のステップで作成したカスタムプロパティ。
Library > Materials and Textures > Textures で、モデルのマテリアルに使用するテクスチャを選択し、Wrap Mode プロパティを Clamp に設定します。
この方法では、カスタムプロパティの値を調整してもテクスチャの繰り返しがありません。3DモデルのUV座標は、テクスチャのキャンバスとして機能します。
Prefabs で Model ノードを選択し、Properties で + Add Binding をクリックし、Binding Editor で設定します。
Property から Texture Offset へ
Property Field から VECTOR_X へ
Expression へ:
({@./Speed}/270.0) - 1.0
これは、カスタムプロパティで設定した値に基づいて、x軸上のテクスチャをオフセットします。スピードゲージの最大値として270.0を使用するため、スピードの値を270.0で割ります。ゲージの範囲を、0.0から1.0までのテクスチャ座標値の範囲に一致させるようにスケールします。カスタムプロパティの値が0のときにゲージが空になるように、座標を0.0から1.0の範囲外にシフトするために1.0を引きます。
テクスチャをy軸でオフセットするには、Binding Editor で Property Field を VECTOR_Y に設定します。
カスタムプロパティの値を調整すると、Kanzi はそのプロパティの値に基づいてバインディングで設定した軸上のテクスチャをオフセットします。