Oculus Rift・HTC vive対応ゲーム『VRchat』のwikiです。ここでは基本説明と自作アバターの追加方法などを載せていきます。

アバターを利用する際の注意事項

アバターの注意事項
VRchat内で使用するアバター作成時の禁止行為・注意事項をまとめました。
「MMD4Mecanim」の利用禁止、「3Dモデル(MMDモデル)」をお借りする際の守るべき注意事項などありますので厳守してください。
違反行為が横行してしまいますと、VRchat文化全体が規制・衰退の流れができてしまいます。

VRC公式のざっくりとしたドキュメント。性格出るよね。

Unityに関する基礎知識系

Consoleのデバックログはログを選択した状態で[ctrl]+[C]を押すとコピーできるから、
それを翻訳機に突っ込むと案外たいした事言ってなかったりするのが分かります。
【Unity】AssetBundleに格納したSceneやPrefabがピンクになる問題
【Unity】壁や床の絵がチラチラするアレを何とかする(Z-fighting)

軽量化の工夫

・マテリアルの数を少なくする。
 マテリアル毎に描画処理が異なる為、マテリアルの数だけ処理は重くなります。

・テクスチャの枚数を少なくする。
 例えば1024の4枚と2048の1枚だった場合、面積は同じなので処理はそんなに変わらない気がしますが、
 ファイル数の多い方がアクセスの回数が増えるらしく処理が重くなります。
 所謂これが”ドローコールの回数を減らす云々”という話らしいですが、グラフィックのAPIなんか素人にはさっぱり分からんです。

・ボーンとか減らす
 1ボーン1オブジェクトとカウントされるため、動作してない無駄なボーンは減らす方がよい。
 ただし、配布予定のモデルの場合はHumanoidの必須ボーンは入れておいた方が分かりやすいかもしれないので、そこは判断で。
 あと、結合可能なオブジェクトは結合したほうが良いとか。

・軽量なシェーダーを使う
 陰影の処理をしないunlitや、複雑な処理が少ないトゥーンシェーダー等を使用してみるなど。

・ダイナミックボーンを設定している場合、Gravityを使わないようにする

VRCアバターのボーンはUnityのhumanoidに合わせて作る

作業はこんな感じです→BlenderからUnityのHumanoid互換でfbxをエクスポートする
リファレンスを「humanoid」で検索
Mecanim Humanoid について
Unityでは扱う3Dモデルの分類毎にボーンの標準構造が決まっています。
それがFBXファイルを選択した時に出る Inspector > Rigタブ > Animation Type:Humanoid の事です。
上記の場合「Unity上でHumanoidの仕様に従ってRigを適用するよ!」と宣言する事になるので、blenderではHumanoidの構造で作る事になります。
これはMMDでも「MMD標準ボーン」があるのと同じですね。モーションの互換性を保持する為の決まりです。
あと「rigify云々〜」はVRCではいらない気がします。たぶん。

FBXをインポートした後、FBXファイルのavaterの[Configure Avater]を開くと、関連付けされてるか確認できます。

参考画像 全体のボーン構造について


参考画像 手指のボーン配置について


【参考】VRchat用人型アバターで使うためのHumanoid形式に従って作られたボーン(アーマチュア)
人型モデルが出来上がったら、Blender等でこちらのボーンを導入すれば少しだけ作業を短縮できます
各ボーンの長さはEditモードでモデルの関節の位置に合わせて調整する必要があります
鎖骨や体の中にあるボーンはだいたいこのぐらいの位置と配分で問題ありませんでしたが、実際に動かしてみてモデルに合わせた位置や配分、角度を煮詰めてください
実際の作業は書籍やwebサイトなどを参照してください

Lip Sync(マイク音声とモデルの口の同期)について

リファレンス:Blender To Unity Vrchat Avatar Creation
※19種類のモーフを正しく設定して組み込む必要があります。
※2017年8月31日のアップデートでミラーにモーフとアニメーションの状態が反映されるようになりました。

VRChatで使えるアバター向けのunityコンポーネント

髪を揺らしたりするためには

Dynamic Boneという有償のアセットが広く使われています。
解説ページ:Dynamic Bone (コンポーネント)
unity store:Dynamic Bone

このページへのコメント

Blenderのポーズモードで曲げたパーツがVRChat内で反映されないのですが、誰か何か知りませんか?
Unity内では反映されており、曲げて反映されるパーツが存在するなか、一部のパーツだけ反映されないのです

Posted by 名無し(ID:1mdImXo/wQ) 2018年05月24日(木) 01:40:03

mmdモデルを初めて改造して試しに行ってみたら何故かサイズがくっそ巨大で直立不動とかいう状態になって恥かいた・・・w
難しすぎるよ、これ。

Posted by ひで 2018年01月26日(金) 00:21:06

参考画像shoulderがchoulderになっていませんか

Posted by 名無し(ID:zd9VbNOmLw) 2017年12月30日(土) 20:11:18

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます