saturday06

Results 110 comments of saturday06

ありがとうございます! エクステンション無し状態と互換性あるならマージしちゃいたいところですが、ぼくの手元の購入したモデルなどでのテストデータの確認で時間かかってしまうかもです。

TODO: - 凹型四角形を認識し、扇状分割が可能な頂点を起点に分割する - N>4のN角形でもそれをやるかを検討する。Blenderの旧実装では三角形にしてしまっていた

いったんエクスポートを設定で有効にできるようにしました。 https://github.com/saturday06/VRM_Addon_for_Blender/releases/tag/2_3_29

Sorry, no documentation yet. Until documentation is in place., the terminology is the same as in Unity, so you can refer to the Unity documentation. https://vrm.dev/en/univrm/springbone/univrm_secondary

> Can VRM_Addon_for_Blender implement its own spring bone simulation? I think it can be done, but not right away as I am busy with VRM 1.0 support right now.

Unityのドキュメントに対策として > https://docs.unity3d.com/ja/2020.3/Manual/class-SkinnedMeshRenderer.html > このような場合は、以下のいずれかの解決策を試して問題を解決できます。 > ... > - Bounds (境界) を修正してメッシュの可能なバウンディングボリュームに適合するように修正します。 > ... > - Update When Offscreen をスキンに対して有効にし、常にスキンメッシュをレンダリングします。 とあります。Update When Offscreenはパフォーマンスが下がるのでBoundsを調整して対応したいことが多いと思うのですが、VRMはBounds情報を持たないため自動計算するしか無く、その場合SkinnedMeshRendererが分離している場合Boundsが独立して計算されるため、このような「カメラにモデルを近づけると一部のパーツだけが消える」という事象が発生すると理解しています。(認識が誤っていたら申し訳ないです) VRMロード時に「個別に消えると表示がおかしくなるSkinnedMeshRendererのグループのバウンディングボックスの範囲を同じにする」という処理ができれば良いと思うのですが「個別に消えると表示がおかしくなるSkinnedMeshRendererのグループ」はどうやって検出するのか問題など議論の余地はたくさんありますね・・・。

本事象では髪が消えて胴体が残っています。Unityはバウンディングボックス計算にアニメーション情報を用いるらしいので、Humanoidアニメーションが有効な胴体のメッシュのバウンディングボックスが大きく計算され、アニメーションの無い髪は小さく計算されていて、その大きさの違いによりカメラを近づけると髪が先に消えるけど顔と胴体は残る、という事象に思えます。

BlenderのVRMアドオンに言及があったので補足です。VRMアドオンは最近のアップデートで、Blender 2.83以降の場合のボーン方向の推定に[glTF 2.0アドオンのFortune](https://github.com/saturday06/VRM_Addon_for_Blender/blob/1_7_0/io_scene_vrm/importer/blend_model.py#L480-L485)を使うようになりました。Blender 2.83未満の場合はFortuneが無いのでこれまで通り[オリジナルのロジック](https://github.com/saturday06/VRM_Addon_for_Blender/blob/1_7_0/io_scene_vrm/importer/blend_model.py#L739-L770)を用いて方向推定を行います。Fortune自体も、もともと[glTF 2.0アドオンのVRM対応のために導入されたっぽく見えます](https://github.com/KhronosGroup/glTF-Blender-IO/issues/967)

スタティックリンク・ビルド済みのbasisuコマンドをzipに突っ込むとかか・・・?

Thanks for the addition, kazu0617. There is a hidden feature that allows you to skip the license check by setting the environment variable `BLENDER_VRM_AUTOMATIC_LICENSE_CONFIRMATION` to the string `true`. This add-on...