0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity2DでURP使ってるときに、光沢が出せずに苦労した話【Unity,Blender初心者向き】

Posted at
1 / 2

ことのはじまり

2Dでパチンコを題材にしたゲームを作ろうということで、ゲーム制作初心者だったこともあり何も考えずUniversal2Dで制作を開始 Unityのバージョンは2022.3.7f1です
image.png

制作と実装アイデア

ゲームシステムの制作などに関しては通常通り。始めたての頃のLeague of LegensくらいわけわからないBlenderを何とか使いながらモデルを作成していきました。
パチンコが題材ということでアイテムとして「特殊景品」を追加してバフアイテムにしようと考えました。
image.png

画像引用:株式会社LIG

店舗によって異なる場合がある(らしい)のですが、様々なデザインがあり特殊景品の中には画像のように金のインゴットが入ってるものもあるようです。
そこで画像のような「イラストが描かれたパッケージの中に金のインゴットが入っている」ような3Dモデルを作成してUnityで使用しようと考えました。
image.png
モデルはこんな感じ。

事件発生

「へー、プリンシプルBSDFならそのまま引っ張ってもUnityでつかえるんやー。fbxにしてそのまま持って行ってつかったろw」
image.png
...。
画像に関してはアイテムごとに差し替えることを前提としていたので特に問題は無いが、肝心なのがインゴットや右下の印字部分。いや光沢が無いやん!!!!
まぁこれに関してはUnityとBlenderの描画方法の違いによるものだからしょうがない。
MaterialのMetallicMapいじればなんとかなるやろ、ベイクもやってみたけど思った感じにならなかったし(これに関しては知識不足の筆者ミス感は否めない)。
とExtractMaterialsして対象のマテリアルを編集Videotogif.gif
.........。おい変わっとらんやんけ!!!!
まぁ落ち着け。ShaderGlaphってものがあるらしいから試してみよう。ShaderGlaphに関しては知識が足りていないので説明は割愛します。軽く行った手順としては
1.Blenderで該当モデル(インゴット)のUV展開を行い、メタリックマップとラフネスマップを投影
2.メタリック・ラフネスマップを画像として保存
3.2種の画像をShaderGlaphでTexture2Dとして入力に使用、マップの画素値をメタリック・ラフネスの入力値として使用
image.png

その結果がこちら
image.png
............結局できてないんかい...。

そういえばガラスっぽい質感も結構怪しいな
image.png

Surface TypeをTransparentにしたことで透過は動いている模様

原因の特定

RenderPiplineの仕様に疑問を持ったため、新しく2Dと3Dでプロジェクトを作成し、それぞれのプロジェクトでMaterialのMetallic値が反映されるかのテストを行いました。

Universal 2DでのMetallic

image.png

Universal 3DでのMetallic

image.png

十中八九原因は2DのURPにあり。

2DURP環境で作ったプロジェクトを3DURP環境へ変更

手順
1.Create > Rendering URP Asset(with Universal Renderer)から3D用URP環境作成

3D用URPAssetの作成

image.png

2.New Universal Render Pipeline Asset_Rendererが生成されるので、Renderer2D DataがRenderer ListとしてアタッチされているNew Universal Render Pipeline Assetを変更

変更前

image.png

変更後

image.png

3.新しく生成した3D用Asset_Rendererに変更後、Directional Lightを作成してマテリアルを確認
image.png
輝く金だ...。
image.png
出来はともかくとしてガラスっぽい質感はできそうだよね

まとめ

2DのURPにおいて基本的な機能だけでは光沢やマテリアルの質感を表現しづらいということでした。
その分描画面において非常に軽量とのことなので、ちょっとリッチなゲームにしたい場合には3D環境で2Dのシステムを作るようにしたほうが良いよ という勉強になりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?