I have just been chatting with @jhonny.goransson and I think there is value in a discussion in what people consider as a basis for using 3D in Defold.
Note: Before reading on, please consider this is NOT about changing the editor, or adding specific new rendering API’s or features to Defold, this is about what makes a nice starting point for building a 3D game or app.
Where this has come from:
At the moment Im “fattening up” my sync tool that allows you to dump a scene from blender straight into Defold. It only supports some basic features at the moment, but I think its worth discussing what features people would want once that scene ends up in Defold.
The features Im currently working on (some are complete):
- Animation (done)
- Game Objects built from blender node hierrarchy - thus multiple meshes (done)
- Lights (currently exported but not enabled in Defold)
- Meta Data (done - custom properties are available in script)
- Default model shader and a simple pbr shader materal (Id like to extend this)
- Extra uv stream export (under dev)
- Camera (done - but can do more!)
The idea is we could provide a set of “rendering” capabilities GTG when you export into the Defold project. Defold already has many facilities to support many modern techniques, but… which ones make sense right now and wont create too much madness in the asset folder system.
Feel free to jump in and make a suggestion. @jhonny.goransson made comment about TAA - that might be a possibility if we provide exported render scripts - which his suggestion has got me thinking about many things and hence, this thread.
Ones I think are important:
- Custom materials (so people can use their own rendering setup)
- Lighting scripts/render scripts. A nice default lighting setup would be nice.
- Render scripts to allow lighting, shadows an AA methods more easily achieved.
| Feature Name | Feature Description | Viability |
--------------------------------------------------
| Collision Shapes | Import collision shapes placed in Blender (supported types only) | High |
| Render Methods | Using render scripts to create support for modern render features | High |
| Lighting | Import lights from Blender, and lighting in Defold (No Shadows) | High |
| Lighting Shadowmap | Generate Lightmaps to be used in Defold | Medium |
| Lighting Shadows | A Shadow solution for the lighting | Medium - needs research |
| Custom Materials | Custom panel in Blender to map custom material to a Blender material | High |
| Animation | Import supported model animation (working) | High |
| Node Structure | Game Objects built from blender node hierarchy (multiple meshes) | High |
| Custom Properties | Custom properties on objects are exported to scripts | High |
| Materials | Support default materials and a PBR material for export. | High |
| Extra UV Channel | Export an extra uv stream channel for pbr material. | High |
| Camera | Export the Camera object into Defold (working - but can do more!) | High |
| Particle Effects | Complex particles effects like volumetric. | Medium |
| Post Render Passes | A simple way to add Blur, DOF, etc. | High |
| Color Spaces | Different color space support | Medium |
PS: Is there a better way to show the above? Are tables supported in the forum?