見出し画像

「セシル変身アプリ」からVRChatアバターへの移植作業(ものすごく省略版)

昨日「VRCUnity勉強会」で個別に質問して習ったことをまとめておきます。
お忙しい中答えて頂いた皆さんありがとうございます。

まず前提になってるセシル変身アプリってなんじゃらほいってことなんですが、こちらの記事を見ていただくとわかりやすいかと。(記事一部抜粋)
https://degifeel.com/cecil-henshin/

「セシル変身アプリ」とは、バーチャルYoutuberとして活動されているスズキセシルさんが制作されたアプリで、誰でも手軽に3Dアバターを作ることができます。現在30種類以上のアバターを選ぶことが可能で、衣装や髪型のパーツも充実しています。
https://fantia.jp/fanclubs/10552

VRoidほどの自由度はありませんが、使えるパーツが多いのでモデリングさっぱりですっていう自分には使いやすかったというか。

VRChatでの使用にあたってはライセンス上特に問題はないと思ってます。これも引用しておきます。簡単にまとめると
・アプリ本体を勝手に売買するのはダメ(常識)
・VTuberとして使ってるからデフォルトのモデルそのまま頒布はダメ、モデルキャラのなりきりもダメ、当然誹謗中傷はおやめください。
・あとは常識の範囲内でどうぞ
くらいの感じでしょうか。

セシル変身アプリで編集されたものの著作権はあなたにあります。
編集したモデルを売ってもいいです!
なので、モデラーの方にもジャンジャン使ってほしいのです。
変身アプリで編集したモデルで、モデリングのお手伝いができるとうれしいです。
禁止事項
セシル変身アプリを売ったり、配布したりする。
編集していないモデルを売ったり、配布したりする。
セシルちゃんに成りすます。
セシルちゃんの悪口。
https://fantia.jp/posts/102302

できたVRMファイルからBlenderに持って行って加工するとより楽しいことになりそうですが、残念ながら私がまだBlenderとは和解できていないので、今回はファイル直で移植作業を行ってみます。

VRMファイルからの移植作業なので、VRoidと似たり寄ったりのはずだと思います。VRoidと異なるのはそのポリゴン数。約3万くらいで収まってます。

超簡単にまとめた手順
前提条件
・「最新の」VRChatSDKを用意する。(記事制作時割と週刊ペースなので注意)
・UnityはUnityHubとかを使って2018.4.20f1を用意して使用する。

準備
1)Unityで新しいプロジェクトを起こす。この時DynamicBoneを入れるのはお好みで。
2)Unityに必要なSDKを入れる(この時SDK3にしておくとあとの拡張が楽かも)。
3)UnityにUniVRMを投げ込む 記事作成時は0.61.1が最新。
4)UnityにVRCAvatarEditorを投げ込む。記事作成時はbeta_v0.6.2が最新。
5)事前にセシル変身アプリからVRMを出力しておく必要があります。

実作業
1)Unityに追加されたメニュー「VRM」から「UniVRM-0.61.1」→「Import」
読み込むファイル(*.vrm)を選択して、その後prefabファイルの名称を決める。

画像1

2)問題なく取り込めるとProjectは以下のような状態になる。Assetsの下にprefabができていることを確認。

画像2

3)できたprefabをSceneに投げ込み。

画像3

4)VRM用の設定になっているので「VRCAvatarDescriptorがないぞ!」と怒られる。

画像4

5)なので、Inspectorの一番下にある「Add Compornent」→「VRCAvatarDescriptor」を押して追加。

画像5

6)すると、いろいろエラー表示が出ているBuilder画面に変わる。

画像6

この赤丸びっくりマークを消さないと先に進めない。
とりあえず言われたとおりに対応する。すなわちVRMから来ているいらない設定値を消して、VRChat用の設定値を入れていく作業。
便宜上これをエラー潰しの作業とします。

7)エラー潰しの「前」にViewPositionを設定します。
VRCAvatarDescriptorの「ViewPosition」で「Edit」。

画像7

そのあと、グレーの球と矢印を使って「目の高さ、鼻筋にちょっと埋まる位」で位置を決めて「Return」。

画像8

8)LipSyncの設定を入れていきます。
Modeは「Viseme Blend Shape」、FaceMeshは「CKaoCecilMatome」を選択。その下の抜けている・セットが違う項目は一旦何でもいいので入れておきます。設定値は後で調整しますが、一つでも抜けてるとLipSyncが動きません(ハマりポイントの一つ)

画像9

画像10

(画面は再現時に改めて撮っているのですが、noneで通るのかしら??)

9)ようやくVRMの設定を削除していきます。エラーを見直してみます。
エラーの一つ目。

画像11

メッセージを訳すとこんな感じ。

以下のコンポーネントタイプはアバターにあり、クライアントによって削除されます。
VRMMeta、VRMHumanoidDescription、VRMBlendShapeProxy、VRMFirstPerson、VRMLookAtHead、VRMLookAtBoneApplyer、VRMSpringBoneColliderGroup、VRMSpringBone。

なので、これらを削除していきます。横のボタンにAutoFixがありますが、残念ながら自動でやってくれないので手作業で消すことになります。

画像12

Select を押すとHierarchyに該当箇所がマークされますので、
・項目を選択
・該当項目の右端の歯車マークを押して「Remove Component」
で削除していきます。
全部消せたらエラー表示がなくなるはずです。

10)2つめのエラーを消します。

画像13

この Avater は、「Streaming Mip Maps」が有効になっていない状態で、テクスチャが mipmapped されています。

これはAutoFixで消せます。

11)ここまでやったら「表情はないが、とりあえずVRChatにアップロードできる状態」になっています。ここで一度アップロードするもよし、次の表情を入れる作業を行うもよしです。

12)表情が変わるように設定を入れていきます。
ここではVRCAvatarEditorを使います。

画像14

13)AvatarInfoを設定していきます。

画像15

GenderはFamale、GestureLayerは「vrc_AvatarV3HandsLayer」を選択。

画像16

14)つづいてFaceEmotionを選んで、「CreateFxLayerController」を押して設定できる状態に持って行きます。

画像17

15)作り方は
・Stateを選択
・パラメータを調整
(どのパラメータが何に当たってるかは触ってみて確認が早いです……)
・ファイル名を変更
・アニメーション作成を押す
の繰り返しです。
右手・左手でそれぞれ設定できます。

デフォルトの表情は「3:Idle」に設定します。

16)設定できたらようやくVRChat側にアップロードします。

17)動作がおかしい部分があれば、その部分まで戻って設定を直して再度アップロードの繰り返し作業になります。

補足ですが、まだアップロードの画面には何か出ています。

画像18

このあたりは、慣れないうちは特に気にしなくて大丈夫だそうです。

ちょっと手順が長いですが、ひとつずつやっていけばできるはずです。

よく見たらこの子身長高いなぁ……。次の手直しはここかなー??

○今回調べてる間に出てきた、今後やってみたいこと
【VRChat】VMC&EVMC4Uを使ってモーションエモートを作ってみた!!https://keiki002.com/vr/vmc-emote/



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