Commit Graph

43 Commits

Author SHA1 Message Date
William Herald Snyder 432c9ff380 Hidden objects will be unhidden after calling evaluated_get, so they must be tracked beforehand when exporting. 2022-10-08 22:10:40 -04:00
William Herald Snyder 84a910f747 When exporting collision primitives, check the swbf_msh_coll_prim primitive property before the name to catch primitives which have incorrect names. Previously the property would only be checked if the primitive was missing a name indicator, but it should be checked first and always because some primitives from XSI have name-type mismatch (cis_hover_aat) 2022-10-05 09:28:27 -04:00
William Herald Snyder 0a1866295c Only include vertex groups used for skinning purposes. More robust requirements for object to be exported as a skin. Misc cleanup and minor refactoring in msh_model_gather. 2022-10-05 09:27:44 -04:00
William Herald Snyder 9981b64d60 Missing armature bug fix 2022-10-01 15:17:02 -04:00
William Herald Snyder 5692a60907 When exporting, if an object has a parent bone with the same name, add its geometry to the parent bone's model and discard the object itself. 2022-10-01 07:53:28 -04:00
William Herald Snyder 43b1f9650e When gathering bone transforms during armature expansion, don't assume armature's local transform is zeroed 2022-10-01 07:53:28 -04:00
William Herald Snyder f88b62c986 When exporting cylinder primitives, do not test for exact match in x,y dimensions since cylinders created in xsi often have so few polys that their widths and lengths don't match (e.g. p_collision of tat3_bldg_reservoir). Taking the larger dimension gives the correct result for cylinders that originated in both XSI and Blender. 2022-09-27 07:56:25 -04:00
William Herald Snyder 13a92e46c6 Always calculate and use split normals when exporting mesh in order to account for sharp edges 2022-09-23 13:11:00 -04:00
William Herald Snyder c3f5f0bed3 Integrated Teancum's feedback (Normal rendertype changed to Standard + armature root bone properly parented to skin if one is present + animation export options simplified with batch export capability and relevant docs changes + minor changes to import/export options and docs to make behavior obvious) 2022-01-28 17:28:12 -05:00
William Herald Snyder dce3f4e498 Skeleton related functions separated into msh_skeleton_utilities + CollisionPrimProperties added for imported primitives that don't have proper names + misc changes to avoid circular imports + minor refactors 2022-01-18 15:16:49 -05:00
Will Snyder c314592d48 Dont include bone in exported anim if its not keyed or in preserved skel... 2022-01-13 12:52:30 -08:00
William Herald Snyder 5eea77adf3 Skeleton impurities (roots,effectors) now included by default, zaa_reader and msh_reader combined in chunked_file_reader, skin and skeleton parentage issues worked out. TODO: Fill material properties on import, decide what to do with SkeletonProperties. 2022-01-07 13:45:50 -05:00
Will Snyder 3dda2a0d77 STRP importing, Teancum's highsinger and xizor break implying adaptations needed for ZETools-exported MSHs 2020-12-04 03:33:46 -05:00
Will Snyder 617118bfd8 Name agnostic armature handling, better export options 2020-12-03 20:10:16 -05:00
Will Snyder 500c3f2bd1 Basic reading/writing 2020-12-02 20:27:46 -05:00
Will Snyder 791a033d08 DummyRoot data injection for ZA, matrix_local-with-bone-parent bug workaround, ENVL indicies start from one (fixing ZE bug), auto transform application for children of bones in a skeleton used for skinning done but commented out for further decision 2020-12-02 18:32:17 -05:00
Will Snyder 20ad9a48d5 ZE crash fixes 2020-11-24 10:15:22 -05:00
Will Snyder fb072f8d59 Working for complex skinned exports, still crashes ZE, menus need work 2020-10-27 22:18:08 -05:00
William Herald Snyder 1cc6a8d08d Non-import changes removed 2020-10-26 10:28:15 -04:00
Will Snyder ff3a517312 Menu anim export option, minor reorg 2020-10-16 13:56:03 -05:00
Will Snyder 1bf6b6f9ab Sleepy's weight implementation swapped in 2020-10-16 10:34:39 -05:00
SleepKiller dac3ade7a4 initial vertex weights implementation 2020-10-16 13:40:27 +13:00
Will Snyder f426237785 Rotation fix (I think) 2020-10-15 14:44:17 -05:00
Will Snyder 1892a1cdbd Minor envelope progress 2020-10-12 16:06:04 -04:00
William Herald Snyder 2599a7203e Weighting start 2020-10-12 09:45:21 -04:00
Will Snyder 8dea6fac49 Hardcoded open override exporting, coord sys conversions need adjustment 2020-10-11 20:52:34 -04:00
William Herald Snyder 603068b5b5 Hardcoded spa1_prop_door amims test 2020-10-11 12:11:15 -04:00
SleepKiller 6e322d78bf add 'Export Target' property 2020-01-06 17:08:36 +13:00
SleepKiller 23e479ae51 fix flat normals not being handled 2019-11-24 16:03:13 +13:00
SleepKiller 17a82a9846 fix vertex colours failing to be exported 2019-11-21 23:48:42 +13:00
SleepKiller e9b12e7cf0 add support for LOD models 2019-11-21 23:23:52 +13:00
SleepKiller f3cbc90651 add Apply Modifiers export property 2019-11-20 19:18:49 +13:00
SleepKiller cfba9e85ce add vertex deduplication 2019-11-20 15:10:44 +13:00
SleepKiller aa18f5c2b7 raise an error when an object creates a .msh segment with too many vertices 2019-11-20 03:33:01 +13:00
SleepKiller 478a4cba5a accept "cube" and "cuboid" as names for box collision primitives 2019-11-19 03:41:46 +13:00
SleepKiller 78b348875f fix blender to .msh space conversions 2019-11-19 02:39:23 +13:00
SleepKiller 78237e7eec fix objects with parent transforms not exporting correctly 2019-11-19 01:33:55 +13:00
SleepKiller 3d0e9b98ee implement collision primitives 2019-11-15 22:40:47 +13:00
SleepKiller e9f442d052 add conversion from Blender's coordinate space to .msh space 2019-11-15 20:41:31 +13:00
SleepKiller 107dd2e8bf fix handling of mesh loops
Fixes UVs, vertex colousr and adds support for custom normals. (Probably Blender's API can be confusing.)
2019-11-15 20:02:04 +13:00
SleepKiller fd0ba8720b apply modifiers during export 2019-11-13 16:38:55 +13:00
SleepKiller 11c0be00f5 updated rotation loading 2019-11-12 17:28:18 +13:00
SleepKiller 1ac1cc5ce1 basic working version 2019-11-11 23:03:52 +13:00