docs.unity3d.com
    目次を表示する/隠す

    Decal Projector

    HD レンダーパイプライン (High Definition Render Pipeline、HDRP) には、 Decal Projector (デカールプロジェクター) コンポーネントが含まれており、特定のマテリアル (デカール) をシーンに投影できます。デカールとは Decal Shader (デカールシェーダー) または Decal Master Stack (デカールマスタースタック) を使うマテリアルのことです。デカールプロジェクターコンポーネントは、デカールをシーンに投影する際、シーンのライティングと相互作用しメッシュを包み込みます。HDRP はデカールをインスタンス化するので、シーンで大量のデカールを同時に使うことが可能です。つまり、デカールが同じマテリアルを使っている限り、レンダリングプロセスにはそれほど負荷がかかりません。

    デカールプロジェクターは デカールレイヤー もサポートするため、各レイヤーをベースにマテリアルがどのデカールを受信するかを制御できます。

    デカールプロジェクターのプロパティーを編集するには、デカールプロジェクターコンポーネントを持つゲームオブジェクトを選択し、Inspector を使います。もし投影のサイズを変更したいだけなら、Inspector か、あるいはデカールプロジェクターのシーンビューギズモの 1 つのどちらかを使うことができます。

    シーンビューの使用

    デカールプロジェクターには、境界内のシーンビューおよびプロジェクターの配置に役立つ投影方向が含まれます。シーンビューには以下が含まれます。

    • プロジェクターの 3D サイズを表示するボックス。プロジェクターはボックス内ですべてのマテリアルにデカールを描画します。

    • プロジェクターの向きを示す矢印。

    またデカールプロジェクターには、各面をクリックしてドラッグし、プロジェクター境界のサイズを変更できるハンドルを追加する、2 つのギズモが含まれています。

    ボタン ギズモ 説明
    Scale プロジェクターボックスでデカールを拡大縮小します。これでマテリアルの UV を変更し、プロジェクターの大きさに合わせます。デカールを伸張させます。
    Crop プロジェクターボックスでデカールをクロップします。これはプロジェクターボックスの大きさを変更しますが、マテリアルの UV は変更しません。デカールをクロップします。

    Inspector の使用

    Inspector を使うと、デカールプロジェクターのプロパティーのすべてを変更することができ、Size 、Tiling 、および Offset の数値を使うことができ、ギズモのクリック & ドラッグ法に比べてはるかに正確です。

    プロパティー

    プロパティー 説明
    Size プロジェクターのサイズはボックスに影響し、つまり投影された平面に沿ったデカールに影響します。プロジェクターはデカールをスケールし、Size の Width (ローカル X 軸) および Height (ローカル Y 軸) コンポーネントと一致させます。
    Projection Depth プロジェクターの深度はボックスに影響します。プロジェクターはデカールをスケールし、Projection Depth と一致させます。デカールプロジェクターコンポーネントは、デカールをローカル Z 軸に沿って投影します。
    Material 投影するデカールマテリアルです。デカールマテリアルは HDRP / デカールシェーダーを使わなければなりません。
    Decal Layer デカールを投影するマテリアルを特定するレイヤーです。一致するデカールレイヤーを使うメッシュレンダラーまたは地形はいずれも、デカールを受信します。
    Draw Distance プロジェクターがデカールの投影を停止し、HDRP がデカールのレンダリングを停止するカメラからデカールまでの距離です。
    Start Fade スライダーを使ってプロジェクターがデカールをフェードアウトさせ始めるカメラからの距離を設定します。スケール範囲は 0 から 1 で、Draw Distance のパーセンテージを表します。値が 0.9 の場合、Draw Distance の 90% でデカールのフェードアウトを開始し、Draw Distance でフェードアウトを終了します。
    Angle Fade 最小最大スライダーを使って、デカールの逆方向と受信面の頂点法線間の角度に基づき、デカールのフェードアウト範囲を制御します。デカールレイヤー 機能が有効になっている場合のみに利用可能です。
    End Angle Fade スライダーを使って、プロジェクターが デカールのフェードアウトを停止する、デカールの逆方向からの角度を設定します。スケール範囲は 0 から 180 で、角度を表します。デカールレイヤー 機能が有効になっている場合のみに利用可能です。
    Tiling UV 軸に沿ってデカールマテリアルをスケーリングします。
    Offset UV 軸に沿ってデカールマテリアルをオフセットします。デカールにマテリアルアトラスを使う際に、 UV スケールとともに使います。
    Fade Factor デカールを手動でフェードイン、およびフェードアウトできます。値が 0 の場合、デカールは完全に透明になり、値が 1 の場合、デカールは マテリアル が定義するだけ不透明になります。マテリアル は Global Opacity と不透明度マップを使って、デカールの最大不透明度を管理します。
    Affects Transparent チェックボックスを有効にすると、HDRP はプロジェクターのデカールを透明面の上に描画できます。HDRP は Affects Transparency が有効化されたデカールからすべてのテクスチャをアトラスへ詰め込みますが、これはメモリーおよびパフォーマンスに影響します。このアトラスの次元は、Unity プロジェクトの HDRP アセット にある Decals セクションで編集できます。

    制限

    • デカールプロジェクターは デカールシェーダー または デカールマスタースタック のいずれかで、不透明マテリアルにも作用します。ただし、透明マテリアルに関しては デカールシェーダ でのみ作用します。
    • デカールエミッシブは透明マテリアルではサポートされていません。
    • HDRP のマテリアルの Receive Decals プロパティーは、エミッシブデカールには作用しません。デカールレイヤーを使わない限り、HDRP は常にエミッシブデカールをレンダリングしますが、これは各レイヤーをベースとしたエミッシブデカールを無効にする場合があります。
    • デカールを透明面に投影すると、HDRP はデカールのテクスチャタイリングを無視します。
    • Project Settings > Graphics で、Instancing Variants を Strip All に設定すると、プロジェクトをビルドする際、Unity はコンポーネントが参照するデカールシェーダーを除去します。これは Always Included Shaders リストに シェーダーが含まれている場合でも同様です。Unity はビルドプロセス中にシェーダーを除去し、ビルドされたアプリケーションにデカールは表示されません。
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)