VRC dev 2 Wormiesock化計画
発端
今開催中のVket2025summerにて、Wormie Planetのブースにお声がけいただきまして、とても楽しい時間を過ごせました。ってことでわしもワーミーになったろ!
この記事ではワーミーアバターを改変してアップロードするところまでやります。
環境構築
VRC dev 1 と同じくAlcomで進めてまいります。Boothにて https://booth.pm/ja/items/5966913 を購入。推奨環境に
- Poiyomi Toon Shader 9.0.61
- VRCFury 1.1146.0
とあるのでひとまず導入します。
Poiyomi Toon Shader
ぐぐったところ https://www.poiyomi.com/download/ こちらが一番上にヒット。Add to VCCとあるので押してみたところ、Alcomが開きVPMが追加されました。さすがAlcom。VCCもAlcomもやってることとしてはVPMの置いてあるURLをもとにダウンロードしてきてるだけっぽいですね。
Poiyomiは以上で導入完了になります。
VRCFury
こちらもぐぐったところ https://vrcfury.com/download/ こちらが一番上にヒット。
Click here to add VRCFury to the VRChat Creator Companion
とあるので何も考えずにクリックしてAlcomが開き導入が完了しました。簡単!
WormieのUnityPackageを開く
さきほどダウンロードしたPoiyomi, VRCFuryをAlcomで作成したプロジェクトにインストールしてプロジェクトを開きます。
(場合によってはここでVRCへのサインインが求められるっぽいです。私の手元でも今起きました。前回アバターをアップロードしてから3週間経っていたので期限が切れたっぽいですね。)
購入したワーミーはどうやら複数ファイル入っているようで、(meshmap, booth, kids とかとか。詳しくなくて何が何を意味してるのかわからん。boothってあのbooth?)おそらく一番名前がシンプルな
wormiesock_1.2.1.zip
こいつがワーミーなんじゃね?ってことでこいつをUnityにドラッグアンドドロップします。
開いてみたところかわいいワーミーちゃんが入ってたので多分正解! ひとまずこのデフォルトをこのままアップロードしちゃいます。まずは素のワーミーでワーミープラネットにお邪魔してみよウフフ
dev 1 と同じ手順でアップします。
が、 おや、、
This avatar has mipmapped textures without 'Streaming Mip Maps' enabled.
なにやらエラーが出ています。
Unityはエラー出てても無視してビルドして通ること多いので(ええんか?)とりあえずビルドを押してみます。
途中、お前シェーダー壊れてるけど自動で治そうか?のポップアップが出ましたがなんとなくキャンセルを押してみたところ、アップロードが引き続き、どうやらアップロード自体は成功してしまったようです。
ほなええか。。。
。。。
よくないかもだからやっぱ治すことにしました。
Selectを押すとエラーの出ているテクスチャがインスペクターに表示されるので、
Advanced > Mip streaming
にチェックを入れます。Priorityなる項目が現れますが0でいいと思います。
チェックしたあと、絶対に忘れずにApplyを押してください。Unityで思ったように動かないなーって時の原因No1は間違いなくこいつです。私はこの道10... 年のUnityエンジニアですが、最初の5年はApplyを押してないことによる不具合で毎日8時間溶かしていました。
パネルを見てみると確かに先ほど出ていたエラーが消えています。再度アップロードしてデフォルトワーミーのアップは終了!
忘れずにクロスプラットフォーム対応もします。
ここで各自一度実際にVRCに繋いでワーミーが使えるか確認しましょう。動作確認はとてもとても大事です。
きゃああああかわいいいいいデフォルトが一番可愛い説あるううううう
改変する
尻尾を追加する
今回はワーミーとレオパのキメラを作成したいのでひとまずレオパの尻尾を購入しました。
説明によりますと、ArmatureのHip配下にコピペすれば使えるとのことでした!では早速
ひどいよ。。。
すごくキモくなりましたが挫けずに続けます。
まず最初に困ったのが
ワーミーにはArmatureがない
ことでした。写真を見せてしまうと何かしらの権利を侵害してしまうかもなので載せませんが、ワーミーのPrefabを開いてもヒエラルキーにArmatureなるオブジェクトがありません。
Hipは見つかったのでとりあえずここにコピペしてみたところ画像のようにお尻からちょっと虫っぽくなっちゃってる尻尾を伸ばすことには成功しました。
(のちほど、僕の悲鳴ツイートを見て駆けつけてくれたお姉さんからArmatureと書かれていなくてもArmatureになってるから大丈夫と教えていただきました。ありがとうございました!)
続いて今の尻尾は真っ白(マテリアルがNoneの状態)なので、レオパ尻尾に付属していたマテリアルを参照させます。Skinned Mesh Renderer というコンポーネントがついているオブジェクトがヒエラルキーの中にあるので見つけてください。ここにMaterialsという参照があるので、マテリアルをドラッグアンドドロップでアタッチします。
無事真っ白尻尾がかわいいレオパ尻尾に変わりました。
で、僕は普段から白+黒ぶちのレオパをやってまして、付属のマテリアルにはそのような模様がなかったのでPhotoshopを用いてテクスチャを改変します。
テクスチャ改変 尻尾
まず、元のマテリアルを壊さないために好きなマテリアルをコピペしてOriginalという名前をつけて保存します。この今作成したマテリアルは最悪ぶっ壊しても何も辛くないのでガンガン改変できます。
Originalをアタッチします。
次にOriginalを開くと
LiltoonShaderがインスペクタに現れます。どうやらレオパ尻尾はLiltoonで作成されたもののようです。
色設定を開くと尻尾のような模様のアイコンが出てきます。これがこのマテリアルが参照しているテクスチャになります。
このアイコンをクリックするとテクスチャが選択状態になります。そのテクスチャを改変すればこのマテリアルの見た目も変わるわけですが、このままこのテクスチャを編集すると大元のレオパ尻尾のテクスチャがぶっ壊れることになるのでこちらもコピーして適当名前をつけて保存します。
あとは今作成したテクスチャをPhotoshopで改変、テクスチャをOriginalマテリアルにアタッチしたら完了です。
テクスチャ改変 Wormie
今回、ワーミーに尻尾を足すだけだとキメラ度が低いので、ワーミーの肌にレオパの斑模様を描くことにしました。
先ほどと同様に、ワーミーの体を構成しているマテリアル、テクスチャを探しにいきます。見つかったらコピペしてOriginalとして保存し、そのOriginalを改変します。
ワーミーのテクスチャですが、何がなんやらでどこがどのパーツのテクスチャかわからなかったのでこちらのツイートを参考にさせていただきました。
これに沿って、改変したい部位にもそもそと絵を描いていきます。
尻尾を揺らす
尻尾が刺さったのでVRCにアップロードし、動作確認したところ尻尾が揺れません。どうやらPhysBoneというコンポーネントをつけないと揺れないらしいです。先ほど助けていただいたお姉さんからこちらも詳しく教わりました。
レオパ尻尾のPrefabを観察するとこのような構造になっています。
この一つ一つがBoneですが、こいつらには何もコンポーネントがついていない状態でした。
これにPhysBoneコンポーネントをAddしていきます。
AddするとRootTransformをアタッチする箇所が出てくるので、こちらに追従させたいBoneをアタッチします。要は尻尾の根本を尻尾の根本+1のボーンにアタッチ、を尻尾の根本+1のボーンを尻尾の根本+2のボーンにアタッチ、、と、ボーンを追従させる親にあたるボーンを参照していけばOKです。
よくわからねえな!となったらひとまず適当に参照させてVRCにアップロードして試してみましょう。何より試行錯誤が大事です。(私はお姉さんに教えてもらったけどな!!!!)
PhysBoneをつけ終わったのでアバターをアップロードしようとしたところ、エラーになりました。
Boneの階層は最大8までなのにお前の尻尾はそれを超えている、とのことでした。
なので先端の方のPhysBoneコンポーネントをいくつか削除し(揺れなくなるけどね)、再度アップロード→成功! きゃああああかわいいいいいいいいいい
クエスト対応する
せっかくなのでクエスト用にもアップロードしてみます。
ワーミーはForQuestなる、クエスト対応がなされた状態のアバターが付属していたのでそちらに先ほど作成したレオパ尻尾をコピペして同様におケツにフィットさせました。
これでアップロードを試みようとしたところエラー。
エラー内容は2つ
- あなたがお使いのレオパ尻尾に使われているLiltoonShaderはQuestでは使用できません
- あなたのアバターはPhysBoneが多すぎます
とのこと。どうやらQuestに使用できるShaderはVRC/Mobile/StandardLite だけっぽい?です。なので何も考えずにレオパ尻尾のマテリアルを選択し、使用ShaderをStandardLiteに変更したところ、見た目がややのっぺりしましたがエラーが消えました。
PhysBoneのエラーも、いくつかPhysBoneを削除することで解消できました。
なるほどこれがQuest対応なのねーと納得。揺れものが多いとQuestでは使えない、リッチなShaderを使っているとQuestでは使えないから、Boneを削ったりShaderを置き換えたりするんですね。
(ってことはやはりPCでプレイした方が見た目がリッチでいいねえ)
エラーが全部解消されたのでアップロードし、これにて今回の改変が終了。
お疲れ様でした。ワーミーたちに紛れ込むぞ!!!
Discussion