Unity 2D画像を3D空間上に表示したい

■Topic

ダンガンロンパみたいに3D空間上に2Dキャラクターを表示したい。

 

が、意外と検索に苦労した。

 

■方法

▼目指す状況

f:id:happyherpy:20200913230254p:plain

①3D空間に板を置く

Unityの3D空間上に、まずはキャンバスとなる板を作ります。

 

Hierarchy > 3DObject > Quad で立ち絵っぽい感じになる板が作れます。

※Planeで作るとXZ方向(床)に板が作られるので床を作りたい場合はそちら。

 

f:id:happyherpy:20200913231448p:plain

②マテリアルを作る

3Dの板に画像を貼るためには、マテリアルを作る必要がある。

Projectタブ内に適当に

右クリック > create > Material

でマテリアルを作成する。

 

f:id:happyherpy:20200913231833p:plain

③マテリアルのShaderを設定する

そのまま貼っても透過が反映されなかったりして

思ったように表示されないので、

Shaderを設定する必要がある。

(この設定を調べるのにとても時間がとられた・・・)

 

Inspector > Shaderからプルダウンを見る > Unlit > Transparent

でShaderを設定する。

 

f:id:happyherpy:20200913232906p:plain

④画像を設定する

Selectから使いたい画像を設定する。

枠に画像を放り込んでもいいし、

Selectをクリックして適当に選んでもいい。

f:id:happyherpy:20200913234914p:plain

⑤マテリアルをオブジェクトに適用して画像を表示する

オブジェクトに作ったマテリアルを適用します。

オブジェクトにドラッグしてもいいし、

Inspector > Element01 から選択してもいい

表示自体はこれで完了ですが、矩形に沿った形になって不本意です。

 

f:id:happyherpy:20200914000504p:plain

⑥Scaleで形を調節する

 悲しいことにデブっとした画像は

Scaleをいじって形を整えていくしかないっぽいです。

(対抗策あれば更新します…) 

 

画像は事前に比率を決めておき、

スケールを一律で調整できるようにしておきましょう。

 

---

 

■参考にさせて頂いた記事

< Unity >透過処理した画像について - なんでもログ