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

Export & import of gear in TestPlugin "Paths" tab does not correctly recreate original model #9

Open
jesskay opened this issue Oct 5, 2023 · 1 comment

Comments

@jesskay
Copy link

jesskay commented Oct 5, 2023

Not sure how many models it applies to, but with at least the ones I've tested so far (chara/equipment/e6143/model/c0201e6143_dwn.mdl and chara/equipment/e6172/model/c0201e6172_top.mdl, the Valentione Emissary's Bottoms and Seigneur's Jerkin respectively), exporting to gltf and then reimporting without changes produces two different broken results depending on method:

  1. Exporting and then directly reimporting the same .glb or .gltf produces a very small .mdl file which seems to contain no vertices, attributes, bones, material slots, etc. according to Penumbra's model tab, and trying to load this model at all crashes to desktop.
  2. Exporting, importing into Blender and then re-exporting to .glb or .gltf from there and importing that through TestPlugin produces a model which at least on visual inspection seems to have correct vertices, but has a number of problems:
  • The number of bones and shapes matches the original .mdl, but only the first bone has a name, while the rest have entries in the list but blank names. This results in the unnamed bones not animating.
  • No attributes, whether or not the original .mdl had any.
  • The material slots do not have material paths initially set, resulting in crash to desktop if this is not filled in manually.
  • For gear with a skin material and gear-specific material, the order of the material slots was reversed compared to the original .mdl. (This one may be down to Blender? But I'm mentioning it here in case it's also related.)

/xllog showed as far as I can tell no errors in the Xande output during any of the imports or exports:

23:03:31.823 DBG | [Xande] submesh 0-0 has 6378 indices and 2106 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-1 has 648 indices and 268 vertices.
23:03:31.823 DBG | [Xande] submesh 0-2 has 420 indices and 134 vertices.
23:03:31.823 DBG | [Xande] submesh 0-3 has 732 indices and 240 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-4 has 96 indices and 36 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 1-0 has 60 indices and 24 vertices.
23:03:31.823 DBG | [Xande] Ending. REGULAR took: 00:00:01.0808775
23:03:31.823 DBG | [Xande] Finished writing
23:03:31.823 DBG | [Xande] submesh 0-0 has 6378 indices and 2106 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-1 has 648 indices and 268 vertices.
23:03:31.823 DBG | [Xande] submesh 0-2 has 420 indices and 134 vertices.
23:03:31.823 DBG | [Xande] submesh 0-3 has 732 indices and 240 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-4 has 96 indices and 36 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 1-0 has 60 indices and 24 vertices.
23:03:31.823 DBG | [Xande] Ending. REGULAR took: 00:00:00.7646806
23:03:31.823 DBG | [Xande] Finished writing
23:03:31.823 INF | [Xande.TestPlugin] Exported model to "C:\users\jess\Temp\Xande.TestPlugin\model-2023-10-05-22-42-21"
23:03:31.823 DBG | [Xande] submesh 0-0 has 1548 indices and 456 vertices.
23:03:31.823 DBG | [Xande] submesh 0-1 has 864 indices and 262 vertices.
23:03:31.823 DBG | [Xande] submesh 0-2 has 192 indices and 54 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-3 has 60 indices and 26 vertices.
23:03:31.823 DBG | [Xande] submesh 0-4 has 240 indices and 64 vertices.
23:03:31.823 DBG | [Xande] Ending. REGULAR took: 00:00:00.0555795
23:03:31.823 DBG | [Xande] Finished writing
23:03:31.823 INF | [Xande.TestPlugin] Exported model to "C:\users\jess\Temp\Xande.TestPlugin\model-2023-10-05-22-50-28"
23:03:31.823 DBG | [Xande] submesh 0-0 has 1548 indices and 462 vertices.
23:03:31.823 DBG | [Xande] submesh 0-1 has 864 indices and 262 vertices.
23:03:31.823 DBG | [Xande] submesh 0-2 has 192 indices and 54 vertices.
23:03:31.823 DBG | [Xande] Mesh contained no extras.
23:03:31.823 DBG | [Xande] submesh 0-3 has 60 indices and 26 vertices.
23:03:31.823 DBG | [Xande] submesh 0-4 has 240 indices and 64 vertices.
23:03:31.823 DBG | [Xande] Ending. REGULAR took: 00:00:00.0570392
23:03:31.823 DBG | [Xande] Finished writing
23:03:31.823 INF | [Xande.TestPlugin] Exported model to "C:\users\jess\Temp\Xande.TestPlugin\model-2023-10-05-22-59-00"
23:03:31.823 INF | [Xande.TestPlugin] Importing model...
23:03:31.823 DBG | [Xande] Ending. REGULAR took: 00:00:00.0011436
23:03:31.823 DBG | [Xande] Finished writing

System and version details in case this ends up not reproducible on other combinations:

  • NixOS linux (reasonably recent nixpkgs-unstable)
  • XLCore 1.0.6
  • Dalamud 9.0.0.1
  • Penumbra 0.8.1.1
  • Xande.TestPlugin 1.0.0.4
  • Blender 3.6.4

If there's any other information I can get that would help with debugging any of this, I'd be happy to help out with that!

@jesskay
Copy link
Author

jesskay commented Oct 5, 2023

(If any of this is simply not yet implemented, please do let me know also, as I'm not 100% sure how much of what I mentioned is currently expected to work.)

@jesskay jesskay changed the title Path export & import of gear in TestPlugin does not correctly recreate original model Export & import of gear in TestPlugin "Paths" tab does not correctly recreate original model Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant