見出し画像

UnToonシェーダーとAvatarOptimizerを使ってアウトラインだけの透明アバターになる方法

自己紹介

こんにちは。Miyokoです。
VRChatでは、空気になってBL妄想したくて始めたBL喫茶のイベント『喫茶BlueLounge』や、
空気で在り隊』という、空気になりたい人のためのグループを主催しています。
自分が初めてPublicアバターとしてアップロードしたのは「てぇてぇおばけ」でした。

ただ、てぇてぇおばけは他者との交流や「隅っこに居るとかわいい」と思ってもらえること前提で作ってしまったので、空気になるには存在感が強過ぎました。
てぇてぇおばけは透明にもなれますが、透明アバターというのは着ている本人以外からは基本的に不快に思われてしまうものだと思うので、うちのようなイベント以外の場所で透明で居続けることもよろしくはないな…と。

そんな自分が先日、アウトラインだけを表示させるアバターをアップロードしました。

よく見ると居る。ギリギリ分かる透明人間。
私が探し求めていたアバターはこれだ!
と、非常に気に入ったので、設定方法をここに記しておきます。

この記事で紹介するシェーダーは"UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent"です。
どういうシェーダーなのかは作者であるフレアさんの一連のツイートを読まれることをオススメ致します。

Unityのレイアウト

Unityのデフォルトのレイアウトが個人的にものすごくやりづらいので、かれこれ三年くらいテンプレートの2by3を改造したものを使っています。
左上から、Scene・Game・Hierarchy・Inspector・Projectになるようにしています。

テンプレート2by3のインスペクターとプロジェクトの位置を入れ替えて必要なものを追加しただけです。ヒエラルキー選択したらすぐ横で確認したい。
レイアウトはUnity画面右上の「Layout  ▼」からいくつか選べます。「Save Layout…」で現在使用中のレイアウトを保存。好きにレイアウトを変えれる!でも変更し過ぎると他人に画面共有した時に混乱されるからあんまり変更しない方が良いかも!!


また、通常モードなのか再生モードなのかがすぐわかるように、
Edit>Preferences>Analysis>Color>GeneralのPlaymode tintを水色に指定しています。
なので、決して画面がおかしいわけではありません。

事前準備

①アウトラインのみ描画するマテリアルを使用したいプロジェクトにUnToonをインポート

こちらからOnlyOutline_Mat.unitypackageをダウンロード(クリックするとダウンロードされます)し、①のプロジェクトへインポート

中身はこれだけです。テクスチャも無しです。正直マテリアル設定できる人はわざわざダウンロードしなくてもこれ見て数値入れればOKです。色や細かい数値はお好みで変更して下さい。

AvatarOptimizerをダウンロードし、同じく①のプロジェクトへインポート。
【!】既にメッシュが統合されているアバターであればこの手順は不要です!

※「AvatarOptimizer」は、アニメーション再生中(つまりVRChatのプレイ中)にだけメッシュをマージ(統合)してくれたり、ボーンを削除してくれたり、色んなことをやってくれる優れもの!Prefabも壊れない!どういう仕組みなのかはわからない!

設定方法

❶事前準備を終えたら、見た目を変更したいアバターの全てのマテリアルを、Assets\Unlit_WF_ShaderSuite 内にあるマテリアル「OnlyOutline.mat」に差し替え。

この時点の見た目でも問題無い場合はこのままアバターをアップロードして終了です。お疲れ様でした。
色や細かい数値はお好みで変更して下さい。

これ以降は、AvatarOptimizerを用いて、アバターの状態を画像の「Before」から「After」にする方法となります。

❷アバター直下に空のオブジェクトを作り、「Merge Skinned Mesh」というコンポーネントを追加
 画像にあるSkinned Mesh Rendererコンポーネントは、
 Merge Skinned Meshコンポーネントを追加すると勝手に追加されるので、わざわざ追加する必要はありません。
 ※必要なものなので消さないでください。

Merge Skinned Mesh

❹全てのメッシュを「Skinned Renderers」のスロットに登録し、以下2か所にチェックを入れておく
 ☑「Remove Empty Renderer GameObject」
  「Merge Materials:」
  ☑「Merge」
 ※リップシンクのメッシュをマージしても、リップシンクはちゃんと動きます。

❺アニメーションを再生モードにして(再生ボタンをクリックするだけ)、見た目が以下の画像のように外側のアウトラインなっていればOK!
アバターをアップロードして終了!お疲れ様でした!

メッシュが全て統合されたので、 綺麗に外側のアウトラインだけが 出るようになりました。 応用として、一部のメッシュだけ 敢えて統合しない等、見え方を 工夫するのも楽しそう!
因みに再生モードを解除すればまたBeforeの状態に戻ります。

それでは皆様も良き透明人間ライフを!

※もしも怖がる人が居たら、その時は着ないであげてね。嫌がらせの道具に使うのはNGだよ。


追記:シェーダーOFFにしてる人からの見え方

セーフティの設定で、シェーダーをOFFにしている相手からは以下の画像のように真っ白に見えます。

これはこれでエモいね!

また、この記事を元に設定されたアバターによるトラブルに関しては一切の責任が持てませんのでご了承ください。

中には「ついうっかり手が滑って全裸アバターで使用しちゃったテヘペロ☆」みたいなこともあるかもしれません。
更にそのままうっかり自撮りツイートしちゃうことだってあるかもしれませんよね。うっかりだったら仕方ないよね。そういうことにしておこう。

ただ、あまりにもそういった使用例が目立ってしまうと、他の使用者の方やアバター作者様やVRC公式から怒られてしまうかもしれません。
そうなればさすがにこの記事も非公開にします。(そこまでいかないとは思うけど…!)(私個人としては笑えたらそれで許せてしまう)

という訳で、みんな、棲み分けだけはよろしくな!!!

この記事が気に入ったらサポートをしてみませんか?