[VRC]リュージュちゃんのボディを幽狐さんのものにする(3/4)
この記事はリュージュちゃんのボディを幽狐さんのものに改変して
リュージュちゃんの着せ替えをやりやすくすることを目的としています。
幽狐さんは専用服が多いので、これができれば着せ替えやすくなるはず。
三回目の今回はUnityで初期設定おこないます。全四回。
前回はこちら
できるようになること:
・幽狐さんのボディを持ったリュージュちゃん素体が改変作成できる
今回ひつようなもの:
リュージュちゃん本体
幽狐さん本体(v1.02b)
Unity 2018.4.20f1
VRCSDK2
画像編集ツール(Photoshopとか)
そのほか:
いろいろ間違っている箇所等あるかもしれませんが、ひと手段のメモとして書きます。細かい手順はところどころ省きます。
てじゅん:
前回BlenderでFBXを生成する所まで終わらせましたね。
今回はUnity上でVRCアバターとして設定する前の初期設定まで書きます。
1.下準備
UnityにVRC SDKとDynamicBone、リュージュちゃんと幽狐さんのUnityPackageをインポートします。ここまでは通常のアバター導入と一緒ですね。
前の記事でエクスポートしたモデルのFBXをProjectにインポートします。
Project->Import New Assetでfbxを指定します。場所は何処でもいいです。
例ではAssetの一番上においています。
2.FBXの設定
インポートしたFBXに初期設定を入れます。
FBXを選択し、InspectorのModelからLegacy Blend Shape Nomalsにチェックを入れいます。一度Applyを押します。
次にRigを選択し、Animation TypeをHumanoidに設定します。
Configureを押します。一度Applyを押します。
HeadのLeft Eye、Right Eye、jawに不要なものが入っていると思いますので、横の丸を押してnoneにします。DoneでApplyを押し設定を終えます。
ここで一度動作確認を行いましょう。
ProjectのAssets->VR Chat Examples->Exsample2->Animationまで展開します。Walkというオブジェクトがあるので再生ボタンみたいなのを押して開きます。中身にWalkというのがありますね。クリックしてみましょう。
右下に変なおじさんが出てくると思います。ここにfbxをD&Dして再生ボタンを押すと、歩くリュージュちゃん(まだ色はついていませんが...)が表示されるはずです。
ここでもし、リュージュちゃんの首が折れていたりしっぽが動いていなかったら、Blenderの手順に戻って修正します。前の記事末尾のトラブルシュートを見てみてください。
無事歩く姿をみて安心したところでマテリアルの設定をします。
fbxを選択しなおして、Materialsを選択します。
まず幽狐さんのMaterialsフォルダを開いてから、Remapped Materialsの各マテリアルにMaterials以下のMaterialをD&Dして設定します。
幽狐さんのMaterialを設定したら、今度はリュージュちゃんのMaterialsフォルダを開いて、D&Dして設定します。各マッピングは以下の画像を見てください。
(ここで22-Default/Material#528というのがありますが、これはメッシュ分離時に作成されてしまったものですので、画像の通りにします。)
※この手順自体うまくFBXを生成すれば必要ない気がしますができているので一旦この手順で書きます。
Applyを押すときちんと色のついたリュージュちゃん(幽狐さん服装)が表示されるはずです。この時表情が正常に表示されていないと思いますが、リュージュちゃんの表情の仕組み上これで問題ありません。
3.動きの確認
設定が終わったfbxをHierarchyにD&Dしてみましょう。
幽狐さんの服を着たリュージュちゃんが表示されるはずです。
HierarchyのArmature->Spine->Chest->Neck->Head以下にある
kao_B、kao_blue、kao_redを選択してInspectorのチェックを外してみましょう。Sceneにあるリュージュちゃんの顔に表情が表示されるはずです。
リュージュちゃんはBlendShapesに加えて、これらkao_から始まるMeshの表示非表示を組み合わせることで多彩な表情を実現しています。
fbxの時点で表情が表示されなかったのは、これらが全て重なっていたからなのです。
先程も確認しましたが、一応アニメーションの動きについてもう一度確認してみましょう。 先程の様にWalkのアニメーションを開いたら、今度はHierarchyにあるアバターをD&Dします。
ちゃんと表情のついたリュージュちゃん(幽狐さん服)が歩いている姿が表示されましたね!これで3Dモデルとしての作業はほぼほぼ終わりです。
4.表情の修正
先程リュージュちゃんの表情はBlendShapesに加えて、kao_から始まるMeshの表示非表示を組み合わせることで実現していると書きました。
これを制御しているのが、Nirge_Files以下に配置されているAnim_から始まるanimationファイルです。中身を開いてみましょう。
テキストエディタでAnim_Point.animなどを開くと、細かなパラメータの記述がズラーっと表示される中にpathという項目があると思います。
これがMeshの位置を指定しています。これでどのMeshに対して何をするか、というのを定義しているわけですね。
ここで思い出してみてください。作成した幽狐さん素体のHeadの位置は
「Armature->Hips->Spine->Chest->Neck->Head」です。
それに対して、上記animファイルのPathは
「Hips->Spine->Chest->Neck->Head」ですね。
Pathとして見た時に、Armatureが足りていないのが分かります。
これを原因として、リュージュちゃんに付属のanimファイルそのままでは
表情を動かすことができません。ではどうすればいいか、簡単です。
Hipsの頭にArmatureを足して上げれば良いのです。
多くのテキストエディタには置換機能があって、特定の文字列を
指定した文字列に置き換えることができます。例えばサクラエディタであれば
上記の様にanimファイルを開いてHipsの頭にArmatureを足したものをすべて置換とすれば、簡単に記述を書き換えることが出来ます。
この作業を必要とするanimファイル全てで行ってください。リュージュちゃんデフォルトのCustomOverrideでは
・Anim_Point
・Anim_Fist
・Anim_Gun
・Anim_HandOpen
・Anim_Rocken
・Anim_Thunbs
・Anim_Victory
が指定されていると思います。これらファイルのpathを全て、Armatureから始まるものに書き換えると、リュージュちゃんの表情を変えることができます。
※今どきのWindowsはWSLがあるのでsedで一発で書き換えるとか出来ると思います。各自お好みの方法で書き換えてください。
慣れていないとちょっと大変ですが、がんばってくださいね。
5.配色の設定
Unity上ではあまりわからないのですが、今回リュージュちゃんの頭部と
幽狐さんのボディに対して、それぞれ違うマテリアルを適用しています。このため、VRChat内で実際にみてみると、顔と首から下とで色が違って見えるはずです。
元となるテクスチャが違う以上、低減は出来ても完全に無くすことは難しいです。
これを解消するには、テクスチャの肌色の部分の色味を近づけるのが1つ。
例えば今回リュージュちゃんの顔はtex_Face.png、幽狐さんのボディは
body.pngに描かれています。この2つの色味を画像編集ソフトでなるべく
近づけることで、違和感を少なくすることが出来ます。
(得意な方なら、どちらかに完全に倒して処理してしまうのがいいです。)
Photoshopでは、特定の色を別の色に置き換える、「色の置き換え」機能があります。これで顔の色でボディを塗ってあげるだけでもだいぶ違います。
もうひとつの方法は、Shader設定をコピーしてしまう方法。
リュージュちゃんのkaoに使われているShaderは
UnityChanToonShader/Toon_DoubleShadeWithFeather
幽狐さんのBody_1に使われているShaderも同じもので、テクスチャの他に
細かいパラメータに違いがあります。テクスチャの色味を揃えたあとに
こちらのパラメータも寄せてあげることで、違和感を少なくすることが出来ます。
また、Worldの場所によっては顔とボディで光の当たり方や影の付き方が違ってくる場合があります。
こちらに関してはくらげ様の光の当たり方を調整するTips【VRChat技術情報】が詳しいです。Anchor Overrideの指定を変えることでだいぶ変わります。
この辺り文字ベースで実際の画面がないのは、人によってどれくらい違和感を感じて、どう調整すれば良いか異なってくるためです。
私もPhotoshopでこねくりまわしてなんとなく許容範囲かなという所で
落ち着いていますので、具体的な手順として落とすことが難しいのです。
FBXの設定、表情の修正、配色の設定までが終わった所で今回は終了です。お疲れさまでした。後半文字ベースで作業が地味だと思いますが、頑張ってください。
次回はVRCアバターとしての設定についてです。