【Unity】デカールの使い方【URP・HDRP対応】

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!デカールという表現方法をご存知でしょうか。

デカールはゲームでよく使われる手法の一つで、例えば壁や床などにヒビを入れたり、銃弾の跡などが表現できるんです。

このデカール機能、実はUnityで標準機能として用意されています!

そこで本記事ではデカールの基本的な使い方を解説していきます。

目次

デカールとは?

デカールとは、ゲームオブジェクトの任意の位置にテクスチャを貼り付ける機能のことです。

下の画像はUnityマニュアルのサンプルシーンです。

オレンジ色の「D」のテクスチャが壁や地面に貼り付けられているのが分かりますね。

このようにデカールを使うことでペンキやステッカーのような表現や、FPSゲームであれば銃弾の跡のような表現まで可能になります。

引用元:Unityマニュアル

Unityでは、URPまたはHDRPで作られたプロジェクトでデカールが利用できます。

ビルトインのプロジェクトではデカールは使えません。

URPとHDRPでの具体的な違いとしては、HDRPでは半透明オブジェクトにも投影が可能という点があります。

URPやHDRPとは何か、については下の記事で解説しています。

あわせて読みたい
【Unity】レンダリングパイプラインとは?導入方法解説 こんにちは!Unityでゲームを作っていると「レンダリング」 「レンダリングパイプライン」のような言葉を聞くことがあるかと思います。 レンダリングは特に設定しなくて...

デカールシェーダーの使い方

デカールシェーダーの基本的な使い方を以下の順番で解説していきます。

  • URPまたはHDRPプロジェクトを作成
  • Decalを追加
  • マテリアルを作成しシェーダーを割り当てる
  • デカールを投影するゲームオブジェクトを作成

URPまたはHDRPプロジェクトを作成

デカールはURPまたはHRDPのプロジェクトで使用することができます。

今回はURPのプロジェクトを例に解説します。

Unity Hubから3D(URP)プロジェクトを作成しましょう。

Decalを追加

URPのプロジェクトが作成できたら、最初にDecalを有効化する必要があります。

Assetsフォルダ > Settings内にあるURP-HighFidelity-Renderer.assetのインスペクターを開きましょう。

インスペクターの一番下のAddRenderFeatureからDecalを選択して追加しましょう。

これでDecalを使う準備ができました。

マテリアルを作成しシェーダーを割り当てる

次にDecalを適用するマテリアルを作成しましょう。

Assetsフォルダ内で右クリック > Create > Materialを選択します。

新たにマテリアルが作成できました。

続いてマテリアルのインスペクターを開き、Shadderの項目からShader Graphs > Decalを選択しましょう。

続いてBaseMapに好きなテクスチャをドラッグ&ドロップで登録しましょう。

今回使用するテクスチャは下のフリーアセットを利用しました。

あわせて読みたい
Prototype Textures Pack | 2D Textures & Materials | Unity Asset Store Elevate your workflow with the Prototype Textures Pack asset from iPoly3D. Find this & more Textures & Materials on the Unity Asset Store.

マテリアルの作成方法、シェーダーグラフについては下の記事で詳しく解説しています。

あわせて読みたい
【Unity】オブジェクトのマテリアルを変更する方法 こんにちは!Unityで作成したオブジェクトはデフォルトのままだと見た目が少し味気ないですよね。 色を変えたくても、設定方法が分からない!となることがあるかと思い...
あわせて読みたい
【Unity】シェーダーグラフでエフェクトを作ってみよう シェーダーと聞くと、なんとなく難しいイメージがあると思います。 私も最初使ってみるまでは避けていましたが Unityでシェーダーグラフを通して使ってみると意外と簡単...

デカールを投影するゲームオブジェクトを作成

続いて、デカールを投影するゲームオブジェクトを作成します。

今回はCylinderを使用します。

ヒエラルキー上で右クリック > 3D Object > Cylinderを選択しましょう。

Cylinderが作成されました。

作成したゲームオブジェクトのインスペクターを開き、Add Componentから

URP Decal Projectorを選択して追加しましょう。

追加したURP Decal Projector内のMaterialに、先ほど作成したマテリアルをドラッグ&ドロップしましょう。

すると下のように、作成したゲームオブジェクトにデカールが反映されているのが確認できます。

URP Decal Projector内のWidthやHeightからデカールのスケールを変えることができます。

またOpacityではデカールの透明度を変えることもできます。

以上がデカールの基本的な設定手順です。

デカールが表示されないようにする

一部のオブジェクトだけにデカールを表示させて、他のオブジェクトにはデカールが表示されないようにしたい場合があるかと思います。

例えば下のデカールの使用例では壁にのみデカールを表示して、床には表示されないようにしています

引用元:Unityの使い方|初心者からわかりやすく

そんなときはデカールレイヤーを使えば、デカールを投影するオブジェクトと投影しないオブジェクトを分けることができます。

デカールレイヤーの具体的な設定方法については下の記事が参考になります。

Unityの使い方|初心者からわかり...
【Unity】デカールレイヤーでデカールを無効にする デカールプロジェクターやデカールメッシュが特定のマテリアルで無効になるようにしてみました。デカールレイヤーを有効にするデカールレイヤーを使って、デカールプロジェ...

おすすめアセット

デカールが重い時に使いたい軽量デカールアセット

GitHub
AirSticker/README_JA.md at main · CyberAgentGameEntertainment/AirSticker Air Sticker is a decal system that addresses the limitations of URP decals and has a low impact on performance. - CyberAgentGameEntertainment/AirSticker

Air Stickerはサイバーエージェントからオープンソースとして提供されている軽量なデカールアセットです。

Air Stickerはメッシュ貼り付けによるデカール表現により処理負荷が低くなっていたり

アニメーションに追従するためキャラクター移動時にもずれずボディペイントにも利用できるなど

Unityに実装されているデカールにはない特徴を持ったアセットです。

簡単にデカールを配置できる便利アセット

あわせて読みたい
Easy Decal | Utilities Tools | Unity Asset Store Use the Easy Decal from Sycoforge Technologies on your next project. Find this utility tool & more on the Unity Asset Store.

Easy Decalはデカールを簡単に配置することができるようになるアセットです。

曲がったオブジェクトや凸凹のあるオブジェクトでも、パラメーターを自動で調整してくれるためぴったりとデカールを配置することができます。

まとめ

以上、デカールの使い方を解説してきました。

本記事で紹介したことをまとめると以下のようになります。

  • デカールとは、ゲームオブジェクトの任意の位置にテクスチャを貼り付ける機能のこと。
  • デカールを使うことでペンキやステッカーのような表現、銃弾の跡のような表現ができる。
  • URPまたはHDRPで作られたプロジェクトでデカールが利用できる。
  • URP Decal Projectorにデカールシェーダーのマテリアルを登録して使う。
  • デカールレイヤーで一部にのみデカールを表示させることができる。

ぜひデカールを使いこなして表現の幅を広げたいですね!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Unityメインの個人開発者。UnityでAIを学習させてみたり、野球ゲームを作ってみたりと色々してました。現在はライターとして、Unityで開発する人の力になる記事が書けるよう奮闘中。

目次
閉じる