William Herald Snyder
|
cc4a1b0e04
|
Create sv faces from half-edge list. Current method doesn't check for duplicates, but Blender seems to filter them anyhow.
|
2023-01-08 22:15:19 -05:00 |
|
William Herald Snyder
|
ab253f0acc
|
Ignore swap files
|
2023-01-08 20:52:23 -05:00 |
|
William Herald Snyder
|
582ed1ace5
|
Create mesh from shadow geometry with verts, edges, but no faces
|
2023-01-07 06:51:54 -05:00 |
|
William Herald Snyder
|
63f9e43e17
|
Read SHDW chunks
|
2023-01-06 21:30:45 -05:00 |
|
William Herald Snyder
|
f451be4d18
|
Check number of bytes remaining before reading texture strings
|
2022-10-29 12:59:11 -04:00 |
|
William Herald Snyder
|
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.
|
2022-10-09 13:55:24 -04:00 |
|
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
|
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.
|
2022-10-08 22:07:44 -04:00 |
|
William Herald Snyder
|
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
|
2022-10-08 21:31:08 -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
|
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...
|
2022-10-04 09:58:36 -04:00 |
|
William Herald Snyder
|
b2bd9c8316
|
Blender 2.80-2.83 supports additive blending, so FillMaterialProps will catch that if present
|
2022-10-04 07:54:25 -04:00 |
|
William Herald Snyder
|
56f6ce6940
|
Fill doublesidedness and transparency (TODO: figure out additive mapping/emulation) from material settings
|
2022-10-03 23:06:33 -04:00 |
|
William Herald Snyder
|
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.
|
2022-10-03 22:56:45 -04:00 |
|
William Herald Snyder
|
8bf2196991
|
Don't change rendertype on matfill and fill texture_0 as well as diffuse map
|
2022-10-03 21:16:59 -04:00 |
|
William Herald Snyder
|
1252a6d192
|
Grayscale bumpmaps support via option files
|
2022-10-03 14:12:21 -04:00 |
|
William Herald Snyder
|
9fcdb3dfb7
|
Quick and dirty option file parser
|
2022-10-03 14:11:44 -04:00 |
|
William Herald Snyder
|
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.
|
2022-10-03 12:30:34 -04:00 |
|
William Herald Snyder
|
226682de8b
|
Data field 0 overrunning bounds of UI_MATERIAL_ANIMATION_LENGTHS bugfix
|
2022-10-03 10:28:53 -04:00 |
|
William Herald Snyder
|
69e959e7a3
|
Proper scroll speed units + scene fps accounted for
|
2022-10-03 08:38:13 -04:00 |
|
William Herald Snyder
|
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
|
2022-10-02 18:19:29 -04:00 |
|
William Herald Snyder
|
9a344d0652
|
Simple UV scrolling nodes in place. Simple approach will probably remain since the only interaction will be with image textures nodes
|
2022-10-02 16:30:11 -04:00 |
|
William Herald Snyder
|
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
|
2022-10-02 15:55:47 -04:00 |
|
William Herald Snyder
|
6e05bba9e5
|
Fix import order bug in materials_to_blend that invalidated script reloading
|
2022-10-02 13:31:16 -04:00 |
|
William Herald Snyder
|
9981b64d60
|
Missing armature bug fix
|
2022-10-01 15:17:02 -04:00 |
|
William Herald Snyder
|
48aabaf8d4
|
Anim import code moved to new file
|
2022-10-01 15:10:00 -04:00 |
|
William Herald Snyder
|
329303e256
|
Silly _REVERSE_RENDERTYPES_MAPPING replaced with dict comprehension
|
2022-10-01 12:17:26 -04:00 |
|
William Herald Snyder
|
4970f974fd
|
Generate Nodes operator docs subsection
|
2022-10-01 08:02:59 -04:00 |
|
William Herald Snyder
|
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...
|
2022-10-01 08:02:59 -04:00 |
|
William Herald Snyder
|
45782f9a2f
|
Docs update for bones with geometry
|
2022-10-01 07:56:26 -04:00 |
|
William Herald Snyder
|
aa8a61175d
|
Skeleton import code moved to separate file + other renaming
|
2022-10-01 07:56:19 -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
|
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 |
|
 WillandSleepKiller
|
24312cc3a0
|
Apply suggestions from code review
Co-authored-by: SleepKiller <[email protected]>
|
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 |
|
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 |
|
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 |
|
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
|
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 |
|
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
|
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 |
|
William Herald Snyder
|
603068b5b5
|
Hardcoded spa1_prop_door amims test
|
2020-10-11 12:11:15 -04:00 |
|
William Herald Snyder
|
043127c1f8
|
anim seed
|
2020-10-11 12:08:11 -04:00 |
|