Unity:シェーダーでカメラ距離に応じてオブジェクトを透明にする/ディザ抜きもできる

当ページのリンクには広告が含まれています。

Unityでは、カメラとの距離に応じてオブジェクトの透明度を変化させることができます。

ゲームなどでキャラクターが背景物に近づいた際によく使われる手法です。

今回はURPのSharderGraphのノードで再現しています。

目次

カメラ距離に応じて透明にする

透明にする

結論から言うと、上記のようにノードを組むとカメラ距離に応じて透明にすることができます。

「Smoothstep」のEdge1で完全に消える距離、Edge2で透明になりはじめる距離を設定できます。

ノードを組んだ結果、カメラがキューブに近づくと消えていくことが確認できます。

ディザ抜き

上記のようにノードを組むとカメラ距離に応じてディザで抜くことができます。

始めに紹介したシェーダーに「Dither」「Screen Position」を追加しています。

ノードを組んだ結果、カメラが近づくとディザでキューブが消えていくことが確認できます。

SHOP

BOOTH
-マナベルCG 出張所-

マナベルCGではBOOTHにて、アセットショップ「マナベルCG 出張所」を開設しています!

テクスチャもpsd、もしくはspp付きで販売していますので、是非とも足を運んでみてください!

まとめ

URPのGraphshaderを使用することで、カメラとの距離に応じてオブジェクトの透明度を変化させることができます。この機能を活用することで、オブジェクトの奥行き感や遠近感を表現することができます。

X(Twitterも運営していますのでフォローしてくるとうれしいです。
記事投稿のお知らせもしていますのでよろしくお願いいたします。

以上、最後まで読んでいただきありがとうございました。

CHECK

ここの記事で使用しているのはUnity2022.2.1f1となっています。

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

この記事を書いた人

ゲーム会社所属の3DCGデザイナーです。
自分も学べて、見てくれる人も学べるようにとブログを開設しました。

現在はBlenderなどのCGツールについて様々な機能やチュートリアル動画を紹介しています。

コメント

コメントする

CAPTCHA


目次