Commit Graph

115 Commits

Author SHA1 Message Date
William Herald Snyder
7cfa101d42 Catch models that are marked as bones but still have geometry 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
aa8f05dd42 Create mesh object for any model with geometry regardless of type + triangle strip winding order bugfix 2022-10-01 07:52:19 -04:00
William Herald Snyder
9bd8479e31 Reorg + use generation operator when initially creating Blender materials + make all texture fields in SWBF materials properties paths 2022-09-28 08:49:14 -04:00
William Herald Snyder
8974131550 Better description for material generation op 2022-09-28 08:49:14 -04:00
William Herald Snyder
abd727d39a Better material generation for basic rendertypes 2022-09-28 08:48:50 -04:00
William Herald Snyder
f69ed3f143 Armature offset bug fix 2022-09-27 08:23:49 -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
d6973e9793 Catch absent geometry in objects not of type EMPTY 2022-09-22 19:31:30 -04:00
William Herald Snyder
5d86a88411 Normals importing as part of custom split set. Mesh import code moved to seperate file 2022-09-21 09:02:15 -04:00
Will
fe1e16a117
Image sizing fix for material fill operator docs 2022-05-05 11:45:51 -04:00
William Herald Snyder
4e2f6bf423 Docs update for msh material property fill operator and menu entry 2022-02-09 15:17:52 -05:00
William Herald Snyder
bdcd4c4aa9 Integrated Starlord's feedback (quick-n-dirty object context submenu + operator for copying diffuse texture names to SWBF material properties for all selected objects' materials) 2022-02-09 14:50:52 -05: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
091e295649 Triangle winding order for strips accounted for 2022-01-27 22:09:23 -05:00
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
7fe5b48d0b
Merge pull request #2 from WHSnyder/fully_featured
Docs start, good enough for community testing
2022-01-20 15:08:46 +13:00
Will
24312cc3a0
Apply suggestions from code review
Co-authored-by: SleepKiller <SleepKiller@users.noreply.github.com>
2022-01-19 18:07:14 -08:00
William Herald Snyder
553438c4b4 Merge branch 'fully_featured' of github.com:WHSnyder/SWBF-msh-Blender-Export into fully_featured 2022-01-19 13:51:00 -05:00
William Herald Snyder
47bd3a3977 Import+Export docs start 2022-01-19 13:50:38 -05:00
SleepKiller
ae6493d7f2 update readme.md, __init__.py 2022-01-19 16:47:05 +13:00
SleepKiller
d00dabc8eb
Merge pull request #1 from WHSnyder/fully_featured
Import (all but cloth) + Export (skins and anims)
2022-01-19 16:25:18 +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
SleepKiller
eb256078cc Create license 2021-01-06 13:25:05 +13: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