[OoT] Add support for importing/exporting SkinLimbs - #720
Conversation
Dragorn421
left a comment
There was a problem hiding this comment.
Thanks for the PR! this has been attempted before without success, nice that you got it (I didn't test yet, just glanced at the code a bit)
| ).freeze() | ||
|
|
||
|
|
||
| def saveMeshByFaces( |
There was a problem hiding this comment.
pls move createVertexGroups back to where it was, to reduce diff noise
There was a problem hiding this comment.
I had to move this and FMesh around because I added default arguments using class constructors to some functions
For saveMeshbyFaces that would be: converterOverride: type[TriangleConverter] = TriangleConverter
Would you rather I set the default to None and just do?
converterOverride = converterOverride or TriangleConverter
I can also remove the defaults and add the args to the function calls if that would be better
There was a problem hiding this comment.
ah ok I missed that, thanks for the explanation. that's fine then, leave it as the PR has
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Dragorn421
left a comment
There was a problem hiding this comment.
UX note: I think it would be better to add an entry to the skeleton import/export "Mode" that spells "Skin (horses)" in order to import/export cpu-skinned skeletons.
Currently the switch between skin and standard limbs is made based on having multi-assigned vertices (cf ootDetermineLimbType), but that would probably be surprising to a user who expects the much more common (possibly flex) skeletons. Also the skin skeletons should be avoided as they seem more expensive, so it should be an opt-in rather than an automatic choice
There was a problem hiding this comment.
can you move this file into fast64_internal/z64/skeleton/importer/ ?
| # import bpy | ||
| # import math |
There was a problem hiding this comment.
| # import bpy | |
| # import math |
This PR adds support for importing/exporting to C the limbs and meshes used by Epona and other horses in OoT
There's nothing particularly special about how OoT handles smooth skinning so imports and exports work by just using an armature modifier
Currently the exporter is set up to export any mesh that has multiple weights per vertex in the format used by skinlimbs
To test out the importer you can change Import Skeleton settings to: