
番外・Vtuber作り
友人のバーチャルユーチューバー・斧田あやかさんのアバターを作った。
Vカツが半年後にサービス終了予定ということで、Vカツ製のアバターが軒並み使用不可になるという。斧田さんはVカツ製のアバターを使っていたので、身体消滅の危機に陥った。それで我々としては、VRoidで後継アバターを作ることにした。

元のアバター。頭に斧が刺さっているのが最大の特徴といえる。これはVRoidでは再現不可能なので、Blenderで後から足すことになるだろう。

Doe氏による設定画。ゴーストや腕輪はともかく、鎖はどう作ったらいいか分からない。Vカツ版でも、斧に鎖を繋げるのは断念して、下に垂らしてあるという。今回はとりあえず最低限必要な分を作っていく。
まずはVRoidで顔を作る。なるべく元の顔に似るよう、試行錯誤してバランスを取っていく。

むずい。髪型や顔のバランスが同じにならない。
髪はなるべくプロシージャルヘアで組み立てたいが、自由度に限界があって、Vカツのような毛先を作るのは難しい。テクスチャの情報量も足りない。前髪を斜めに切ることもできない。前髪全体を横に流すことはできるが、それをすると生え際の位置も流れてしまう。
顔も似ない。VRoidは扱える目の大きさに限界がある。ちょっと大きくすると白目が皮膚を突き破ったり、ほうれい線や変なシワが出てきがちだ。子供っぽい顔やデフォルメにあまり向いていない。

前髪については、こういうやり方を思いついた。髪に貼るテクスチャをあらかじめ斜めに切っておく。そうして、髪ごとにテクスチャの縦位置をずらしてやり、斜めのラインが揃うようにする。

このようになる。ただしこのやり方をすると、髪に厚みを持たせることはできない。
前髪ができるだけでも結構希望が出てきたので、頑張って調整していく。

このようになった。元に似ているかというと、結局似ていない……。一個上のほうが似てる。同じにするのを諦めて別なバランスを探った感じだ。
服が黄色一色だと寂しいので、相談してレモン柄になった。レモンの由来については、いずれ斧田さん本人から語られるだろう。
次は斧。
BlenderでVRMモデルに物を足す手順については、この記事を参考にさせてもらった。目的にぴったりで本当にありがたい。
斧のモデル素材はネットで色々探したが、色と形が合うものは意外と見つからない。嵌めてみて初めて合うかどうか分かるところもあるので、試行錯誤になる。
幸い、いい感じの斧モデルが見つかった。あとは手順に従ってやっていくだけだ、ぜんぜん楽勝だな……と思ったが、ここで問題発生。斧に貼られているテクスチャをUnityに移すことができない。テクスチャを使っておらず、色々なノードを重ね掛けして金属や木目を表現しているデータだったからだ。これをBlenderから持ち出す方法が見つけられない。ノードの最終的な出力をテクスチャとして書き出すことは可能な気はするが、やり方に辿り着かない。

にっちもさっちもいかないので、ノードは全て切り、UV展開してテクスチャを自作することにした。

なんとかできた。
できたところで、斧の商用ライセンスを取得しに行く。「個人使用」なら無料で使える素材なので、それで使用感を確認したが、商用ライセンスは課金が必要だ。
だがこの素材、課金するルートが無かった。個人使用のコースしかないっぽい。海外サイトなので、そういうものなのかどうか自信がない。何が個人使用に含まれるかについての説明も見当たらない。
悩んだ末、モデルも自作することにした。簡素な形状だし、素材を参考にしつつ一からモデリングすれば、ライセンスの問題はないであろう。

できた。立方体と円柱から作った。テクスチャも作り直し。
あとはさっきと同じ手順を繰り返すだけだ。これにてひと段落……

と思ったら、VRoidHubやVRM Automatic Photographingで表示したとき斧が真っ黒になってしまう。なんで?
シェーダーの設定ミス?と思いUnityで色々触ってみるが改善しない。Unity上では問題なく表示できている。

結論から言うと、原因はモデルにあった。スケールが気付かないうちに負値になっていたため、面の表裏が逆転していたのだった。ややこしいのは、表裏の表示そのものが逆になっていたこと。実際には裏向きなのに表と表示されていて、表裏をチェックしても気付けなかった。スケールが負値だとそうなるらしい。「裏の裏だから表と表示される」みたいなこと?

ともあれ、一旦完成。

イエーイ。

迫力ある!
図らずも簡単なモデリングの練習になった。これで自分のアバターにも小物を足せるようになった。