AdSense

2020年2月9日日曜日

3DセンシングしたモデルデータをVRchatのアバターにした



前回の記事にてStructure Sensorで3DスキャンしたデータをUnityで動かしたが、そのデータをVRchatのアバターにした記録。



前回の記事:

https://mementomorisince2013.blogspot.com/2020/01/3dblenderunity.html



前回Unityで歩き回れるようにした3Dデータだが、どうやらポリゴン数やらボーン数やらの制約がありそのままではVRchatに使えないとのこと。



順を追って記載する:


・ボーン多すぎ

 →骨間引き必要


 Blenderで関係なさそうな骨を適当に減らした。

 表情に使ってなかったので、顔の骨と胸の骨を消した。


これが




こうなった




・ポリゴン数圧縮

 下記を参考に、ポリゴン数を15000くらいにした 

https://vrchatjp.playing.wiki/d/%A5%A2%A5%D0%A5%BF%A1%BC%BA%EE%C0%AE%20MMD%CA%D4

 ポリゴン数は減ったが、顔が潰れた。

 全体を均一に削減してはだめ。


・顔と身体のメッシュを分離して身体だけポリゴン圧縮

 CTL+クリックでくくって分離できる。

 https://blender-cg.net/separate-join-objects/







 この状態で体だけポリゴン削減する。


・モデルが分割されたままだとVRChatのほうで怒られうので、分離したやつは圧縮後再び結合する。

 そうすると、今度はボーンとヒートマップズレた


 自動でウェイトをつけるとおかしくなったので、元の状態からこつこつ手作業でヒートマップを塗る。

 http://nn-hokuson.hatenablog.com/entry/2017/08/30/195716

 http://nn-hokuson.hatenablog.com/entry/2017/10/03/205639

 

 関節を動かしながら、意図した通り体がついてくるように調整する。


・UPPER CHESTのエラー

 https://shinrinmusic.com/vroid-vrchat-avatar-upload/

 上記参考に、一つずらす。UPPER CHESTはNONEにする


・Tポーズのエラー

 Unityでアバター設定を開き「Enforce T-pose 」を選択する

 https://docs.unity3d.com/jp/460/Manual/ConfiguringtheAvatar.html


これでなんとかVRchatのアバターアップロードが上手くいった。