M's Model Kit!
A downloadable GameMaker Extension for Windows
**Looking for static models? Check out my other free export script here: [Blender2GM]**
It's technically feature-complete, but there will likely be some changes, bugfixes and optimisations. **Right now, I really want as much feedback as possible, as not much will change post-beta**
Feedback could be additional features, ways to make it simpler or faster to use. You should definitely report any bugs you find - In some cases, this may need you to send me the .mmod file for testing. I want this to work as well as possible, after all. There is currently no written documentation - this will be completed once out of beta. In the meantime, the Basic Setup and Usage Guide should help.
This is M's ModelKit - Export rigged, animated models from Blender and use them directly in GameMaker! Written in pure GML, the system is as cross-platform as GameMaker itself. This is currently the ONLY 3D animated model system I know of that exports straight from Blender and imports directly into GameMaker, simplifying the process of model creation and iteration massively. Models are animated by shader, to keep load off the CPU.
- An extension filled with functions to load, delete and drive models. A pair of default shaders (MMK_ES_skin + MMK_HLSL_skin) used to drive models and correct UVs with simple data and rendering. Use this shader as a base for other materials!
- A Blender 2.8 export script used to create the models compatible with GameMaker (in included files)
A demo material
- A scene exporter and loader to make Blender into a viable 3D level editor!
- A 3D collision system with raycasting and ellipses.
- A native C++ DLL for Windows which greatly improves performance (to be ported to other platforms soon)
The system currently supports:
- Meshes (Position, Normal, Colour, TexCoord, Tangent+Bitangent, blendweights)
- Armatures (Up to 255 bones, but meshes can only be influenced by a maximum of 64 - this is shader dependent)
- Object animations
- Scene Layout exports (camera, lights and object data and transformations)
- Experimental Collision Meshes (They work, there's just a few potential improvements)
I've constructed a sort of material system using scripts for this too. This will be explained in the video guide. I encourage people to create their own shaders and materials compatible this system and share them with the community!
SPECIAL NOTES FOR HTML5:
While loading models and rendering meshes works, there's a bug with bone math returning NaN that I need to pinpoint and fix. Do not get this if you intend only to use it with HTML5 yet - use something like Unity instead
The system is otherwise tested working on:
- Windows (VM/YYC)
- Android (VM/YYC)
- Max OSX (VM/YYC)
- iOS (VM/YYC)
As Mac works, it is likely Linux works. I just don't have a machine set up to properly test this though. I do not own UWP to test those platforms, but they should work since Windows works and they're both DX11 targets.
Of course, you're free to use this system in any project, commercial or personal, as long as you don't redistribute the code or included resources. Woo.
The downloadable test executable is just a compiled version of the demo project.
It includes demos on:
- Loading a scene and generating cameras, lights and instances from it
- Rendering a simple static mesh
- Loading, instantiating and rendering an animated armature object
- Setting materials and textures
- Changing textures at runtime
- Blending animations
- Optimising for performance by using "Pose Caching"
- When pose caching is disabled, the demo also shows some basic head-tracking
It also includes a custom unlit, no-zwrite material for rendering the face!
In future, it will include a simple realtime shadow demo.
Assets (models, textures) included in the demo project are fine for personal/test usage, but are not for commercial/public usage or redistribution.
Already own this on the GameMaker Marketplace? Email me at MaddeStudios@gmail.com with your order number and I'll give you a key!
In order to download this GameMaker Extension you must purchase it at or above the minimum price of $145 USD. You will get access to the following files: