Commit Graph

124 Commits

Author SHA1 Message Date
William Herald Snyder 40343a2f69 The last index of the last triangle strip in a segment is properly included + cleaner reading of STRP 2022-01-27 18:34:53 -05:00
William Herald Snyder a962b4475e Change Blender version to 2.80 to silence warning 2022-01-21 13:26:07 -05:00
William Herald Snyder 637c3c2afa Catch segments with no valid geometry, read NDXL in try-except block 2022-01-20 23:40:19 -05:00
SleepKiller ae6493d7f2 update readme.md, __init__.py 2022-01-19 16:47:05 +13:00
Will 58e229f6ad
Check if nothing selected before applying anim 2022-01-18 15:46:30 -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
William Herald Snyder bae32bdfe4 Other/unsupported material option with stub rendertypes and UI elements + fill MaterialProperties on import 2022-01-15 11:45:38 -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 7244446dd9 Fill material properties upon import + if SKL2 missing, assume all BONE models are in it + SkeletonProperties only relevant for imported meshes + chunked_file_reader no longer assumes 4-byte alignment 2022-01-11 14:02:17 -05: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 c320310084 zaa transforms properly readjusted wrt omitted effectors/roots 2021-01-11 12:25:03 -05:00
Will Snyder 6f2c1cf168 CRC rewrite 2021-01-07 14:18:31 -05:00
Will Snyder e0a71bc899 Cleanup, reader and extraction code commented 2021-01-07 13:34:35 -05:00
Will Snyder e67e675ee7 zaabin import 2021-01-07 00:26:19 -05:00
Will Snyder 79543a1cd7 Skeleton properties panel start 2020-12-11 16:49:40 -05:00
William Herald Snyder 8a20c38132 Animation batch import 2020-12-11 11:50:03 -05:00
William Herald Snyder b749e47536 Correct pose-relative transforms for impure skeletons 2020-12-10 23:47:45 -05:00
William Herald Snyder 49f89a1fde Animations importing correctly for most models, though some (acklay and human) are very wrong and others have one or two incorrect bones (at-at). Bones are imported as is and not made to look pretty in order to preserve animation ease. Letting users import cleaned up skeletons while preserving original transforms via some sort of context-menu addon might be worthwhile... 2020-12-06 00:19:58 -05:00
William Herald Snyder 57909f758f Animations importing with expected rotation conversion issues 2020-12-05 04:11:12 -05:00
William Herald Snyder c0c978af8b Bone parenting fixed, anm2 reading, menu option for anim import 2020-12-05 00:53:59 -05:00
Will Snyder 30bf326b9e Awfully slow (need to abandon bpy.ops) but correct bone parenting 2020-12-04 01:22:58 -05:00
Will Snyder 440a3e7300 MSH reader no longer reads up to the next multiple of 4, since files exported with ZETools seem not to abide by that rule. It doesn't matter if files are exported with this behavior, since the reading code now skips bytes until a known header is found, instead of just reading the next header blindly. Teancum's highsinger and xizor now importing just fine. 2020-12-03 23:15:25 -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 b2ad1cfa1a Merge branch 'mshread' into fully_featured 2020-12-03 18:38:35 -05:00
William Herald Snyder 7db0591cc0 Armature extraction more robust (looks at skinning requirements, not just SKL2), automatic skin-skeleton reparenting, gave bone tails default epsilon position 2020-12-03 00:24:20 -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 a83c74ebf7 Better anim abstraction 2020-12-02 15:45:32 -05:00
William Herald Snyder aa62fd47ea Vertex groups importing properly. ENVL indicies refer to each model's MNDX, which start from 1, not 0/don't necessarily refer to order in file... 2020-11-30 21:42:27 -05:00
William Herald Snyder 8273e01167 Correct skeleton imports, though what to do with re-parenting and skeleton impurities such as effector nulls still uncertain 2020-11-29 23:10:14 -05:00
William Herald Snyder 049803f750 Reader class simplified 2020-11-28 18:11:26 -05:00
Will Snyder 20ad9a48d5 ZE crash fixes 2020-11-24 10:15:22 -05:00
William Herald Snyder 706c32431d msh_reader refined, more chunks implemented 2020-11-23 11:48:07 -05:00
William Herald Snyder b8afa1ed10 Models with basic materials importing correctly 2020-11-13 15:59:54 -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
William Herald Snyder 152b22feb9 MSH scene reading draft, no blender conversion yet 2020-10-23 14:28:53 -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 b56fa79a19 update version number 2020-02-04 14:44:22 +13:00
SleepKiller 47fa855b78 fixed colour packing order 2020-02-04 14:28:34 +13: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 98cc5af1d6 fill out bl_info properly 2019-11-22 02:10:21 +13:00
SleepKiller 17a82a9846 fix vertex colours failing to be exported 2019-11-21 23:48:42 +13:00
SleepKiller e5b860f51b fix error when no material is selected 2019-11-21 23:24:26 +13:00
SleepKiller e9b12e7cf0 add support for LOD models 2019-11-21 23:23:52 +13:00
SleepKiller f5ec062ce0 fix model segment export scaling 2019-11-20 19:32:35 +13:00
SleepKiller f3cbc90651 add Apply Modifiers export property 2019-11-20 19:18:49 +13:00
SleepKiller 7fd46a1c2c add "Generate Triangle Strips" option to enable faster .msh iteration 2019-11-20 15:17:25 +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 e4ec3339d9 exclude hidden objects from .msh bounding box 2019-11-20 02:36:17 +13:00
SleepKiller 478a4cba5a accept "cube" and "cuboid" as names for box collision primitives 2019-11-19 03:41:46 +13:00
SleepKiller 89e8193462 update .msh material propety description 2019-11-19 02:39:54 +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 0fab83cfa1 fix transforms not exporting for scenes with more than one model 2019-11-18 00:03:53 +13:00
SleepKiller ac1a93b7a4 more docs works 2019-11-17 17:02:45 +13:00
SleepKiller 6eb958f358 add docs!
wip
2019-11-17 04:07:47 +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 c12fc862b0 material support 2019-11-15 16:28:09 +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