スポンサーリンク

【Live2D】Render Textureを使ってモデルを半透明にしてみる

ノベルゲームでは、キャラクターが登場・退場するときにフェードイン・フェードアウトすることがあります。というわけで、今回はLive2Dのモデルを半透明にするにはどのようにしたらよいのかを調べてみました。

こちらの記事を参考にさせていただきました。

# 開発環境 ・Live2D_SDK_Unity_2.1.00_beta_8_jp ・Unity 5.0.1f1 # UCL この記事は『(

まず、Live2DのFAQ(よくある質問)によると、Unityでモデルを半透明にするにはRender Textureを利用する必要があるようです。

Q. Live2Dのモデルを半透明に表示させることはできますか?

Q. Live2Dのモデルを半透明に表示させることはできますか?
A. Unity Pro版で提供されているRender Textureを利用すると出来ます。

なお、Unity5ではPersonal版でもRender Textureを利用できます。

Render Textureとは?

Unityのマニュアルによると、Render Textureは次のように説明されています。

Render Texture は、ランタイムで作成および更新される特殊な Texture です。使用するには、まず新しいレンダーテクスチャを作成し、カメラ の 1 つを指定して、そこにレンダリングします。これで、通常のテクスチャのように、Material 内のレンダーテクスチャを使用できます。

Render Textureは、Unityのシーン実行時にカメラで撮っている内容で更新されて行く特殊なテクスチャです。

rendertexture01

またRender Textureは、通常のテクスチャと同じようにオブジェクトに貼り付けて使用することができます。下の画像では球にRender Textureを貼り付けて使用しています。

rendertexture02

Render Textureの作り方と使い方

UnityエディタのメニューからAssets > Create > Render Textureを選択すると、Render Textureを作成できます。

rendertexture03

Render Texture用のカメラを作成し、CameraコンポーネントのtargetTextureにRender Textureを指定します。

rendertexture04

シーンにPlaneやQuadなどを作成し、SceneビューにあるそれらにRender Textureをドロップすれば完成です。このとき、Render Textureを利用した新しいマテリアルが作成されます。

Live2Dのモデルを表示するときは、マテリアルのShaderをSprites/Defaultにするとよいようです。

実行

マテリアルのアルファ値を変えて実行すると、下の画像のようにLive2Dのキャラクターを半透明にすることができました。時間とともにアルファ値を変化させれば、キャラクターのフェードイン・フェードアウトができそうです。

rendertexture05

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする