VRChat 技術記録

戻る

最終更新 : 2024-01-05

アバター編集記録 (2024-01-02)

Loika [1] のモデルには指が無く、ハンドサインを表現できないため、どうにかして指を付けたい。 というわけで、 Felis [2] の手を Loika に移植する作業をする。

テクスチャの編集

あらかじめ Loika のテクスチャを 512x512 に拡大しているので、 256x256 の領域を 1 つ使って Felis のテクスチャを貼り付けることができた。 Felis のデータより(↑ にリンクを示した BOOTH のページから無料でダウンロードできます)、必要な範囲が全体の 1/2 x 1/2 (絶対サイズで 2048x2048 )に収まっていることがわかるので、それを 256x256 に縮小して貼り付けた。

Blender での作業

5 本指の手が付いたときに都合がよいように、 Loika の袖の形を変え、その部分の Weight Paint をやり直しておいた。特に、手が袖を貫通しないことを優先して編集した。

互いのモデルのボーンの対応するものどうしを、ボーンウェイトを含めて合併する必要があったため、 Blender で作業した。 下に示すファイル名一覧は最終的な Blender の操作手順を表すが、うまくいく操作手順を構築するまでが大変だった。

Felis の手以外を削除したオブジェクトを作る。 (001,002,003)

両手ぶんのボーンと片手ぶんのメッシュだけ残して編集し、最後にメッシュを Symmetrize する。

メッシュをマージする。 (005)

Armature をマージし、対応ボーンをマージする。 (006,007)

Vertex Group 間で Vertex Weight を加算する手順は StackExchange の投稿 [3] を参考にした。 Add と All を設定すればよかった。 Add の設定が、 Vertex Group A に Vertex Group B を加算する ( A += B ) という意味である。 [4]

Armature → Mesh の順にマージすることも操作はできたが、手の Mesh の座標が勝手に平行移動する、ということを回避できなかったので諦めた。

右手の編集結果を左手にコピーする。 (011)

Unity での作業

有料配布データ ( Loika ) の具体的な内容にはあまり触れないようにしつつ説明したい。

FBX のメタデータを設定する。

このままでは指が正しく動かない。 CGBox の記事 [6] で推奨されるように設定を変更すると、デフォルトの Gesture が動作するようになった。

おわりに

都合よく手に入った無料モデルで実験ができた。


[1] : BOOTH 「ロイカ【オリジナル3Dモデル】」 ホソイアシ より

[2] : BOOTH 「【無料配布】オリジナル3Dモデル「フェリス」」 リュクらぼ より

[3] : StackExchange "How to merge vertex groups?"

[4] : Blender 3.3 Manual "Vertex Weight Mix(頂点ウェイト合成)モディファイアー"

[5] : note 「<Unity>作成した3DモデルにHumanoidを適用させる」ななっしゅ より

[6] : CGBox「【VRChat】ハンドサインの編集方法:手・表情が動かないときは?」有島リツ より

[7] : StackExchange "UV mapping lost when joining mesh"


←前へ - 次へ→

戻る