Commit Graph

  • a6118a7def fix vertex colors export wip/shadowvolumes LeovanGit 2023-10-30 12:46:07 +0300
  • be09e10db5 update version number PrismaticFlower 2023-10-29 11:22:51 +1300
  • ceb8cd79c3 Skip adding color attributes when unneeded PrismaticFlower 2023-10-29 11:13:12 +1300
  • 13a6511f23 Add vertex colors to blender + fix unpack_color() LeovanGit 2023-10-27 23:05:05 +0300
  • a62f56d461 Partial Revert: Animation Track patch cleanup itdominator 2023-06-02 22:27:58 -0500
  • 8a7d9b0958 Animation Track patch cleanup itdominator 2023-06-02 21:49:24 -0500
  • 62206e8dbc Fixed import of animations to allow for bulk import itdominator 2023-05-28 13:47:33 -0500
  • 2b60f0d2a6
    Merge pull request #12 from LeovanGit/vertex-color master PrismaticFlower 2023-10-31 08:45:19 +1300
  • 8d5c701b86 fix vertex colors export LeovanGit 2023-10-30 12:46:07 +0300
  • c072c9e56d update version number PrismaticFlower 2023-10-29 11:22:51 +1300
  • 2421ba70c2
    Merge pull request #10 from LeovanGit/vertex-colors PrismaticFlower 2023-10-29 11:16:18 +1300
  • ae42cda6ab Skip adding color attributes when unneeded PrismaticFlower 2023-10-29 11:13:12 +1300
  • 0ac921d855 Add vertex colors to blender + fix unpack_color() LeovanGit 2023-10-27 23:05:05 +0300
  • 806a7cc060
    Merge pull request #8 from maximstewart/master Will 2023-10-01 08:43:52 -0700
  • d1d83d39af Partial Revert: Animation Track patch cleanup itdominator 2023-06-02 22:27:58 -0500
  • 1ec4332576 Animation Track patch cleanup itdominator 2023-06-02 21:49:24 -0500
  • 125ad2792c Fixed import of animations to allow for bulk import itdominator 2023-05-28 13:47:33 -0500
  • cc4a1b0e04 Create sv faces from half-edge list. Current method doesn't check for duplicates, but Blender seems to filter them anyhow. William Herald Snyder 2023-01-08 20:54:37 -0500
  • ab253f0acc Ignore swap files William Herald Snyder 2023-01-08 20:52:23 -0500
  • 582ed1ace5 Create mesh from shadow geometry with verts, edges, but no faces William Herald Snyder 2023-01-06 21:33:29 -0500
  • 63f9e43e17 Read SHDW chunks William Herald Snyder 2023-01-06 21:30:16 -0500
  • f451be4d18 Check number of bytes remaining before reading texture strings v1.2.2 William Herald Snyder 2022-10-29 12:57:14 -0400
  • 613cb20678 Many msh files (e.g. those in BFX) have multiple models assigned to the same index (MNDX). Indices should be linked only to the first model that uses them to ensure proper skinning. William Herald Snyder 2022-10-09 00:15:29 -0400
  • 92fdc3a12b Many msh files (e.g. those in BFX) have multiple models assigned to the same index (MNDX). Indices should be linked only to the first model that uses them to ensure proper skinning. v1.2.1 William Herald Snyder 2022-10-09 00:15:29 -0400
  • 432c9ff380 Hidden objects will be unhidden after calling evaluated_get, so they must be tracked beforehand when exporting. William Herald Snyder 2022-10-08 22:10:03 -0400
  • ba762d9548 Abort export if SELECTED or SELECTED_WITH_CHILDREN is chosen but nothing is selected and warn user that hidden objects can't be selected. William Herald Snyder 2022-10-08 22:07:44 -0400
  • b120b74cd4 Models shouldn't be hidden by default, as many models have objects that are obviously not hidden but do not have FLGS chunks + objects with children can be hidden, only older versions of Blender automatically hide children when parent is hidden William Herald Snyder 2022-10-08 21:31:08 -0400
  • 7b9f5c9cfb Prune segments with empty triangle strips. ZE and most versions of ZETools require triangle strips. v1.2.0 Will Snyder 2022-10-06 10:23:13 -0700
  • 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) William Herald Snyder 2022-10-05 09:23:02 -0400
  • 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. William Herald Snyder 2022-10-04 13:27:07 -0400
  • ec54df21d2 Blend + hardedged transparency emulated via settings + additive emulated by adding the output of the PBSDF and a default Transparent BSDF. Bugfix: animation data is cleared from nodetrees via a stable method. FCurves.clear() is too new... William Herald Snyder 2022-10-04 09:54:28 -0400
  • b2bd9c8316 Blender 2.80-2.83 supports additive blending, so FillMaterialProps will catch that if present William Herald Snyder 2022-10-04 07:54:25 -0400
  • 56f6ce6940 Fill doublesidedness and transparency (TODO: figure out additive mapping/emulation) from material settings v1.2.0-rc William Herald Snyder 2022-10-03 23:06:33 -0400
  • f44c7bfdf3 DFS property fill starts from BSDF Principled Base Color input and runs until a texture image is hit. The extension of the texture image's source path is always replaced with .tga. Operator skips previously handled materials. William Herald Snyder 2022-10-03 22:55:19 -0400
  • 8bf2196991 Don't change rendertype on matfill and fill texture_0 as well as diffuse map William Herald Snyder 2022-10-03 21:16:59 -0400
  • 1252a6d192 Grayscale bumpmaps support via option files William Herald Snyder 2022-10-03 14:12:21 -0400
  • 9fcdb3dfb7 Quick and dirty option file parser William Herald Snyder 2022-10-03 14:11:44 -0400
  • dd17fe902e Normal mapping support, though bump mapping is not supported yet. To support it, .tga.option files will have to be read and the various bump mapping munge parameters will need proper interpretation. Emulating the bump effect via shader nodes is straightforward. William Herald Snyder 2022-10-03 12:07:52 -0400
  • 226682de8b Data field 0 overrunning bounds of UI_MATERIAL_ANIMATION_LENGTHS bugfix v1.1.0 William Herald Snyder 2022-10-03 10:28:53 -0400
  • 69e959e7a3 Proper scroll speed units + scene fps accounted for William Herald Snyder 2022-10-03 08:38:13 -0400
  • 188b270ad1 Linear interpolation for scrolling keyframes. Keyframe are created on the active action of the materials node tree. TODO: determine correct scroll speed speed units William Herald Snyder 2022-10-02 18:19:29 -0400
  • 9a344d0652 Simple UV scrolling nodes in place. Simple approach will probably remain since the only interaction will be with image textures nodes William Herald Snyder 2022-10-02 16:30:11 -0400
  • ea82d24356 Glow flag supported via mixing emission and BSDF. TODO: poll GT on automatically setting renderer to Eevee, find out if both emission and BSDF are necessary or just the latter when glow is enabled, find out if rendertype 1 is relevant, outline general implementation of props to nodes mapping procedure William Herald Snyder 2022-10-02 15:55:47 -0400
  • 6e05bba9e5 Fix import order bug in materials_to_blend that invalidated script reloading William Herald Snyder 2022-10-02 13:29:02 -0400
  • 9981b64d60 Missing armature bug fix v1.0.1 William Herald Snyder 2022-10-01 15:17:02 -0400
  • 48aabaf8d4 Anim import code moved to new file William Herald Snyder 2022-10-01 15:10:00 -0400
  • 329303e256 Silly _REVERSE_RENDERTYPES_MAPPING replaced with dict comprehension William Herald Snyder 2022-10-01 12:17:26 -0400
  • 4970f974fd Generate Nodes operator docs subsection v1.0.0 William Herald Snyder 2022-09-30 12:20:11 -0400
  • d359975bd6 Generation op will abort if diffuse texture isn't found + options for failing silently or with error message. TODO: found out how to create a pop-up panel with error message that fades away if not interacted with for a couple seconds... William Herald Snyder 2022-09-29 07:11:47 -0400
  • 45782f9a2f Docs update for bones with geometry William Herald Snyder 2022-09-30 11:51:34 -0400
  • aa8a61175d Skeleton import code moved to separate file + other renaming William Herald Snyder 2022-09-30 07:04:49 -0400
  • 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. William Herald Snyder 2022-09-29 15:18:58 -0400
  • 7cfa101d42 Catch models that are marked as bones but still have geometry William Herald Snyder 2022-09-28 14:01:25 -0400
  • 43b1f9650e When gathering bone transforms during armature expansion, don't assume armature's local transform is zeroed William Herald Snyder 2022-09-28 11:27:52 -0400
  • aa8f05dd42 Create mesh object for any model with geometry regardless of type + triangle strip winding order bugfix William Herald Snyder 2022-09-28 14:05:37 -0400
  • 9bd8479e31 Reorg + use generation operator when initially creating Blender materials + make all texture fields in SWBF materials properties paths William Herald Snyder 2022-09-28 08:47:43 -0400
  • 8974131550 Better description for material generation op William Herald Snyder 2022-09-22 19:26:05 -0400
  • abd727d39a Better material generation for basic rendertypes William Herald Snyder 2022-09-21 06:22:49 -0400
  • f69ed3f143 Armature offset bug fix William Herald Snyder 2022-09-26 21:23:09 -0400
  • 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. William Herald Snyder 2022-09-27 07:56:25 -0400
  • 13a92e46c6 Always calculate and use split normals when exporting mesh in order to account for sharp edges William Herald Snyder 2022-09-23 11:50:29 -0400
  • d6973e9793 Catch absent geometry in objects not of type EMPTY William Herald Snyder 2022-09-22 19:31:30 -0400
  • 5d86a88411 Normals importing as part of custom split set. Mesh import code moved to seperate file William Herald Snyder 2022-09-19 14:39:02 -0400
  • fe1e16a117
    Image sizing fix for material fill operator docs Will 2022-05-05 11:45:51 -0400
  • 4e2f6bf423 Docs update for msh material property fill operator and menu entry William Herald Snyder 2022-02-09 15:16:12 -0500
  • 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) William Herald Snyder 2022-02-09 14:50:52 -0500
  • 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) William Herald Snyder 2022-01-28 17:28:12 -0500
  • 091e295649 Triangle winding order for strips accounted for William Herald Snyder 2022-01-27 22:09:23 -0500
  • 40343a2f69 The last index of the last triangle strip in a segment is properly included + cleaner reading of STRP William Herald Snyder 2022-01-27 18:34:53 -0500
  • a962b4475e Change Blender version to 2.80 to silence warning William Herald Snyder 2022-01-20 23:42:36 -0500
  • 637c3c2afa Catch segments with no valid geometry, read NDXL in try-except block William Herald Snyder 2022-01-20 23:40:19 -0500
  • 7fe5b48d0b
    Merge pull request #2 from WHSnyder/fully_featured 1.0.0-rc SleepKiller 2022-01-20 15:08:46 +1300
  • 24312cc3a0
    Apply suggestions from code review #2 Will 2022-01-19 18:07:14 -0800
  • 553438c4b4 Merge branch 'fully_featured' of github.com:WHSnyder/SWBF-msh-Blender-Export into fully_featured William Herald Snyder 2022-01-19 13:51:00 -0500
  • 47bd3a3977 Import+Export docs start William Herald Snyder 2022-01-19 13:50:38 -0500
  • ae6493d7f2 update readme.md, __init__.py SleepKiller 2022-01-19 16:47:05 +1300
  • d00dabc8eb
    Merge pull request #1 from WHSnyder/fully_featured SleepKiller 2022-01-19 16:25:18 +1300
  • 58e229f6ad
    Check if nothing selected before applying anim #1 Will 2022-01-18 15:46:30 -0500
  • 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 William Herald Snyder 2022-01-18 15:16:49 -0500
  • bae32bdfe4 Other/unsupported material option with stub rendertypes and UI elements + fill MaterialProperties on import William Herald Snyder 2022-01-15 11:45:38 -0500
  • c314592d48 Dont include bone in exported anim if its not keyed or in preserved skel... Will Snyder 2022-01-13 12:52:30 -0800
  • 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 William Herald Snyder 2022-01-11 14:02:17 -0500
  • 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. William Herald Snyder 2022-01-07 13:45:50 -0500
  • c320310084 zaa transforms properly readjusted wrt omitted effectors/roots Will Snyder 2021-01-10 12:25:03 -0500
  • 6f2c1cf168 CRC rewrite Will Snyder 2021-01-07 01:25:09 -0500
  • e0a71bc899 Cleanup, reader and extraction code commented Will Snyder 2021-01-07 01:05:09 -0500
  • e67e675ee7 zaabin import Will Snyder 2021-01-07 00:26:19 -0500
  • eb256078cc Create license SleepKiller 2021-01-06 13:25:05 +1300
  • 79543a1cd7 Skeleton properties panel start Will Snyder 2020-12-11 16:49:40 -0500
  • 8a20c38132 Animation batch import William Herald Snyder 2020-12-11 11:50:03 -0500
  • b749e47536 Correct pose-relative transforms for impure skeletons William Herald Snyder 2020-12-10 23:47:45 -0500
  • 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... William Herald Snyder 2020-12-06 00:19:58 -0500
  • 57909f758f Animations importing with expected rotation conversion issues William Herald Snyder 2020-12-06 04:11:12 -0500
  • c0c978af8b Bone parenting fixed, anm2 reading, menu option for anim import William Herald Snyder 2020-12-05 00:53:59 -0500
  • 30bf326b9e Awfully slow (need to abandon bpy.ops) but correct bone parenting Will Snyder 2020-12-04 01:22:58 -0500
  • 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. Will Snyder 2020-12-03 23:15:25 -0500
  • 3dda2a0d77 STRP importing, Teancum's highsinger and xizor break implying adaptations needed for ZETools-exported MSHs Will Snyder 2020-12-04 03:33:46 -0500
  • 617118bfd8 Name agnostic armature handling, better export options Will Snyder 2020-11-29 20:10:16 -0500
  • b2ad1cfa1a Merge branch 'mshread' into fully_featured Will Snyder 2020-12-03 18:38:35 -0500
  • 7db0591cc0 Armature extraction more robust (looks at skinning requirements, not just SKL2), automatic skin-skeleton reparenting, gave bone tails default epsilon position William Herald Snyder 2020-11-22 00:24:20 -0500