以下の内容はhttps://kan-kikuchi.hatenablog.com/entry/Decal_Renderer_Featureより取得しました。


3Dモデルの表面の形に沿って、画像をスタンプのように投影して表示するデカール(Decal)の使い方【Unity】【URP】




この記事でのバージョン
Unity 2022.3.21f1


はじめに

今回はUnityのURPで、デカール(Decal)という

3Dモデルの表面の形に沿って、画像をスタンプのように投影して表示する公式機能の紹介です!



イメージとしては以下のような感じ。


ちなみに同様のシステムにサイバーエージェントが開発したOSSの「AirSticker」があります。

(双方メリットデメリットがあるので、用途によって使い分けるか、もしくは併用する感じ)



なお、記事中では以下のアセットを使っています。

Night Club (SRP) - Unity Asset Store
Riko - Unity Asset Store
2D Casual Game UI Set - Unity Asset Store



デカール(Decal)の使い方

デカールを使うにはまずEdit/Project Settings…を開き、


Graphicsの項目で設定されているUniversal Render Pipeline Assetを選択、


さらにそのアセットに設定されているUniversal Renderer Dataを選択し、


Add Renderer FeatureからDecalを追加します。


なお、デカールが表示されない時はTechniqueをScreen Spacesすると表示されるかもしれません。

ただし、TechniqueをDBufferにした方がクオリティ(と負荷)は上がります。


次にデカール用のマテリアルを作成して、ShaderをShader Graphs/Decalにし、

投影したい画像とそのノーマルマップを設定します。


ちなみにノーマルマップはなくてもいいですが、以下の記事のように自動で簡単に作る事も出来ます。


あとは任意のオブジェクトにURP Decal Projectorを追加し、先程のマテリアルを設定するだけ。


Mesh Rendererはもちろん、


Skinned Mesh Rendererにも表示可能です。


さらにリアルタイム(ゲーム中)に動かす事も可能です。






以上の内容はhttps://kan-kikuchi.hatenablog.com/entry/Decal_Renderer_Featureより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14