Rolling Madness 3D Add full ASE morph-frame animation, lightmap support, and self-contained tool publishing - #116
Rolling Madness 3D Add full ASE morph-frame animation, lightmap support, and self-contained tool publishing#116jkind73 wants to merge 7 commits into
Conversation
Prefer an installed user SDK, validate publish output before replacing the local tool, and bundle the GLFW/OpenAL native dependencies. Add the Fmod memory compatibility dependency required by the current target framework.
Interpret the ASE frame-count and duration fields, split animated vertex payloads into stable morph targets, expose per-frame morph poses through the model API, and preview them with a dynamic vertex buffer. Preserve numbered lightmap filenames such as lev1.ase.0 through lev1.ase.5 so textures no longer collapse to one identity, and add regression coverage.
Write morph targets and weight animation to glTF, omit synthetic skins for morph-only meshes, and map fixed-function materials to dielectric PBR values. Add a native converter backed by a reproducible Assimp FBX patch that writes blend-shape curves, preserves UV/material data, and carries metallic/roughness properties. Include a publisher that bootstraps the pinned Assimp source and installs the patched runtime.
Publish the tool with the ASE morph-animation, lightmap, glTF, and patched FBX changes. Replace obsolete loose runtime files with the current self-contained .NET 10 distribution and bundle the native Assimp morph converter.
Keep patch files LF-normalized and make the bootstrap tolerate whitespace-only line-ending differences when checking or applying the Assimp patch. This prevents CRLF checkouts from being reported as incompatible Assimp source.
|
Whoa, this is awesome! I've been meaning to finally figure out how these animations work and how to set up morph target support, I really appreciate you figuring out both! Sorry for the delay in reviewing this, I should finally have a chance to take a full look this weekend. For now, there's only two concerns I have:
|
|
Hey there! I'm actually on vacation in Sicily right now and don't have my computer with me. I'll be back in September, though! If you're able to hang tight until then, I'd be more than happy to take a look and see how we can get those changes sorted for you. |
|
Btw, regarding your main concern, it has been a while, and I don't have access to my computer right now, so I'm going by memory. The primary issue is a bug in the library you're using to support various 3D formats. Specifically, it currently does not support animation for the FBX format. I had considered attempting to fix this issue and submitting a patch.. As you can imagine, this was going to be much more complicated because I needed to make sure it didn't introduce any regression and supported everything the library already supported. However, this is all based on my memory.I can give you more details when I get back and verify what I did, and what I can do. |
This PR introduces comprehensive support for exporting and rendering ASE mesh animations (morph frames) and compound lightmaps, alongside improvements to the local build and deployment workflow.
As a personal note, I wanted to share these contributions as a sincere thank you! Your work on this repository completely jump-started my own project to understand how the Ase.Mesh file worked, and this is my way of giving back to the project that helped me get off the ground.
Key Changes
publish_universal_asset_tool.batscript (and added a patched Assimp variant) to fully automate embedding native dependencies (glfw3.dll,OpenAL32.dll) directly into the single-file release output folder.