はじめに
マテリアルを透明にするのは、とても簡単にできるのですが、やり方を忘れがちなので備忘録的にまとめました。
また、一部透明なテクスチャ画像をオブジェクトに貼り付けると黒くなってしまう対処法についても紹介します。
Unity version
本記事でのUnity versionは、2021.3.8f1 です。
マテリアルを透明にする方法
マテリアルを透明にするのは、2ステップでできます。
- マテリアルのインスペクターを開き、Rendering ModeをFadeに変更
- Albedoのアルファ値を変更
とっても簡単!
Rendering ModeをFadeにし、Albedoの色の部分をクリックします。
Alphaの値を変化させることで、オブジェクトを透明・半透明にすることができます。
FadeとTransparentの違い
ちなみに、Rendering ModeをFadeではなく、Transparentにしても透明になりますが、Transparentは光の反射や照明の影響を受けるので、完全な透明にはなりません。
ガラスやプラスチックなどを表現するのに使われるようです。
Alpha値を0にしても、うっすら見えています。
一方、Fadeは、反射・照明の影響を受けないので、完全に透明にさせることができます。
アルファ値を0にすると全く見えなくなります。
マテリアルの一部を透明にするには?
マテリアルに貼られたテクスチャの一部が透明になっている場合、その部分だけを透明にすることができます。
テクスチャの用意
今回は、透明度を上から、100%、80%、60%、40%、20%、0%と段階的に変えたpng画像を用意しました。
png画像をUnityにドラッグ&ドロップで取り込むと、透明度が正しく表示されておらず、透明度0%のところは真っ黒になっています。
直すには、インスペクターからAlpha Is Transparencyにチェックを入れ、Applyをクリックします。
ただ、これをしなくてもマテリアルに貼り付けた時に正しく透明になるので、気になる人だけやっておきましょう。
マテリアルの設定
png画像をAlbedoにドラッグ&ドロップして、テクスチャを設定します。
できました!
先ほどと同様に、AlbedoのAlpha値を変更することで、全体の透明度も調整可能です。
もう一つの設定方法
マテリアルのシェーダー設定を、Legacy Shaders/Transparent/Diffuseに設定することでもできるようです。もしStandardシェーダーでダメなら、こちらを試してみましょう。
テクスチャ画像もドラッグ&ドロップで設定します。
できました!
おわりに
オブジェクトの透明度を調整する方法の解説でした!
ノーコードでインスペクターから設定できるので、やってみると簡単にできました。