Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UV sometimes flips when a same accessor is referred by multiple meshes #2474

Closed
0b5vr opened this issue Oct 24, 2024 · 1 comment · Fixed by #2478
Closed

UV sometimes flips when a same accessor is referred by multiple meshes #2474

0b5vr opened this issue Oct 24, 2024 · 1 comment · Fixed by #2478
Labels
bug Something isn't working importer mesh
Milestone

Comments

@0b5vr
Copy link
Contributor

0b5vr commented Oct 24, 2024

Original discussion: #2464 (comment)

環境情報

  • UniVRM version: master @ 675bb7b
  • Unity version: Unity-2021.3
  • OS: Windows 11

バグについて

同じaccessorが複数のメッシュで偶数回用いられている場合、UVのY-flipがうまく動作しないことがあります。
これは、同じaccessorに対してY-flipのY-flipを行っていることによって発生しているものと思います。

また、UVのY-flipの他にも、近い箇所で ReverseAxisAndFlipTriangle が呼ばれており、こちらも偶数回処理していることの影響を受けていると推察します。

考えられる修正手順

以下のようなコードで、ユニークなaccessorのバッファを取り出して( g, m, uv ではユニーク判別できませんでした)処理することにより一応対処できました。
該当箇所: https://github.com/ousttrue/UniVRM/blob/333ae766d0dbc0a1b56b1f735ff10f57af9c49d8/Assets/VRM10/vrmlib/Runtime/Model.cs#L402

image

再現するファイル

isbinary-overrides.zip

#2464 で対応されている、表情のisBinaryとoverrideの相互作用のチェック用モデルです。
4つのmeshesから1つの同じaccessorが参照されています。

image

現状のUniVRMでの挙動: チェックボックスや文字が上下反転しています。

image

@0b5vr 0b5vr added the bug Something isn't working label Oct 24, 2024
@ousttrue
Copy link
Contributor

確認しました。
uv 反転等を buffer に対して inplace でやっているのがよろしくないようです。
歴史的事情で vrm-1.0 だけ違うロジックで import しているので、
glb など他の mesh import と処理を統合して対処する予定です。

https://github.com/vrm-c/UniVRM/milestone/95

でやります。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working importer mesh
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants