FBX: Update ufbx to v0.14.0
Update to ufbx to version v0.14.0, which is currently being finished. I'm opening a draft PR to facilitate testing of the new version and so we can discuss a few of the newer features.
Some highlights of the ufbx updates up to v0.13.0:
- Fixed some core parsing issues, meaning files that should load didn't
- Fix failing to parse 'Z' type
- Fix threaded parsing of 'b' arrays
- Fix loading of files with missing mapping information
- Internal optimizations
- Fixed internal performance regression using slow little endian reads
- Optimized the built binary to be ~30kB smaller
- Baking animations with stepped tangents results in more robust interpolation
Fixes from nearly complete v0.14.0, many based on Godot testing (#90986):
- Fix orthographic camera unit scaling
- Add
UFBX_INHERIT_MODE_HANDLING_COMPENSATE_NO_FALLBACKto fix some non-scaled inheritance cases - Fix handling of non-animated Blender blend shape weights
- Fix FBX version 6100 pivot conversion failing with skinned meshes
- Fix triangulation of N-gons with either between [32, 64] corners or having very complex topology
Tasks for me before I consider this safe for merging:
- [x] Run through an abridged dataset using the new ufbx version
- [x] Merge ufbx https://github.com/ufbx/ufbx/pull/121
Seems like there's three tasks remaining:
- Run through an abridged dataset using the new ufbx version
- Merge ufbx https://github.com/ufbx/ufbx/pull/121
- Press ready to review and merge here
The dataset looked fine at a glance, didn't have the time to do a proper labeling this time.
The only open issue is the use_blender_pbr_material mentioned above with the caveats discussed, I don't really have a strong opinion either way.
Ready to merge by me.
I would not support blender pbr since it seems to not handle round tripping well?
Disabled it for now in that case
If it's ok can you rebase the pr so it's one commit?
Could you amend in this documentation change too?
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 4a7ab7314a..8c07da5d24 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -894,7 +894,7 @@ number and run the script.
## ufbx
- Upstream: https://github.com/ufbx/ufbx
-- Version: git (v0.11.1, 2024)
+- Version: 0.14.0 (80ff790ab36507b99ec7e4ef55b9cfb076ce821b, 2024)
- License: MIT
Files extracted from upstream source:
Could you amend in this documentation change too?
Sure, thanks! My bad for missing that one, should be fixed now.
Thanks!