【Unity/Blender】VRChatでも使える!8方向からの視点でテクスチャが変わるシェーダを使ってみた!

 こんにちは!新入社員のタケです!


おとといくらいのツイートで頭だけ3Dのように回ってくれるペラペラアバターを作ってみた!というのを紹介しました。

みなさんも専用のシェーダを使うとあのような表現ができます!


今回使用したシェーダはこちらのRetro Sprite Shader V2です。

ちなみにこのシェーダはもともとVRChat向けに開発されたものなので、もちろんVRChatで使用することができます!

興味がある方はぜひ自分のアバターでセットアップして使ってみてください!

https://vrcat.club/threads/retro-sprite-shader-v2.2222/


8方向分のテクスチャを用意して適切に設定してあげると作ることができます。

今回は3Dモデルをもとに作るので、Blenderで3Dモデルを撮影していく方法を解説します。


もちろん8方向分の画像が用意できればなんでもいいので、イラストでも…がんばれば写真でも使うことができますよ!


カメラを45度おきにぐるっと配置して撮影しましょう。


できるだけ回転させても位置がずれないように置いて撮影しましょう。

90度のところは簡単ですが、45度のところが難しいです。


基本的に左右対称のモデルであれば片面を撮ってしまえば左右反転でOKなので片面だけで十分ですね!


次はUnityに作った画像を取り込んでセットアップしていきます。

このシェーダは前準備が必要であり、普通にマテリアルを作ってテクスチャを割り当てて…という風には設定できません。

専用の設定ファイル、"Texture Lists"と"Texture Array"というものを作っていきましょう!


Texture ListsはCreate→Texture Lists→2D Texture Listで作ることができます。


するとこのようなものができます。

Tex Arrayと書かれた部分を展開するとSizeという項目が出てくるので8にします。


すると8個テクスチャが入るようになりました。

ここに先ほど撮影したテクスチャを割り当てていきます。


テクスチャの割り当て方ですが、まずElement 0には正面の画像を入れましょう。

そして1~7まではキャラクターが反時計回りに回っているかのようにテクスチャを当てはめていきます。


もっと簡単に言うと0は正面顔、1は右斜め前、2は右向き、3は右斜め後ろ、4は背面…のようになります。


Blenderで撮影した位置を割り当てるとこんな感じです。

これが一番わかりやすいかも?


後から迷わないように設定できたらテクスチャ名を番号にしておくことをオススメします!


あとはこれをもとにTexArrayを作ります。

上部メニューのToolsからCreate Texture Arrayを選択します。


このような画面が出てくるので、Texture Listのところに先ほど作ったTexture Listsをドラッグアンドドロップします。

入れたらCreat Arrayを押しましょう!


保存場所を聞かれるので保存するとTexture Arrayの完成です!

さっそく適用してみましょう。

マテリアルを作って、ShaderをError.mdl/Retro Sprites v2/Sprite TransparentかSprite Cutoutにします。


Texture Arrayを入れる部分があるのでそこにテクスチャを入れると…マテリアル完成です!

特にアニメーションさせない場合はこれでOKです!

適当に縦に立てた四角の板オブジェクトにマテリアルを張り付けましょう。


このモデルの場合、頭だけしかないので残りのボディとくっつけてあげます。

元モデルのアーマチュアのNeckの下に入れて、位置調整すると完成です!





実はこれ、サンプルに同梱されているもの的にアニメーションするドット絵用に作られているっぽいんですよね…

でもアニメーションしていない、普通の画像も使えたので面白いアバターを作ってみたい!という方…おすすめです!


今日の成果物!


プロモーション動画制作

制作時間:6時間15分


--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント