I was planning on learning 3D development with Defold and eventually make tutorials on it but after checking out Scene3D example, I see that there are many things one need to know to have a proper 3D game (unless I am missing something crucial). It is nice to have control over rendering but learning it alongside with shaders for lightning etc. (and also physics I guess) seems a bit intimidating.
I’d really want to get to know more about Defold so I can replace my current engine with it as I believe it suits my interest more but I do not have enough time to learn so many things at once to be able to start developing simple 3D games here.
I checked out asset store for 3D assets and I’d appreciate any suggestion/opinion on this matter.
Thank you
Simplistic 3D games is a great goal to have with defold, not every 3D game needs to have realistic lighting and elaborate rendering to be a great game. You can create 3D games with defold without touching the render script. To create 3D games without lighting you can use things like unlit materials, vertex painted models or baked textures and display them using a shader. Like in this Example
Here you can see the colors are displayed via a small texture which has a variety of gradients the uv’s are mapped to. This unlit technique is very optimal for performance and looks great imo. You can also use vertex painted models and in the shader use the vertex color attribute to display them like in this Example
Then of course you can also just display textures on the 3d models and baking or painting in your own shading for the models can be a really nice way to have a unique or specific looking art style.
So that just covers the art assets what about everything else.. This depends on the game you are making. a 3D game can be just as simplistic as anything else. You can use a perspective projection for your cameras or just use orthographic like a 2d game its up to you. You can use x and y axis like a 2d game or also use the z axis to move your models around. Most things are most likely designed the same as it would in a 2d game.
Overall I think the most technical aspects come from mostly the assets themselves and creating them with the games intended specifications. From the topology to texturing or vertex data and animation rigging etc. for someone starting out fresh this can be a lot to learn. If you are someone that wants to use free assets that can be a great option and it would be valuable knowing some technical aspects around 3d models to fix issues that you will come across from free models as they are often exported in non specific ways and some can be non game ready assets and knowing how to make changes to fit your games specifications can take you a long way.
Thank you for the detailed answer. Using unlit is a good idea. I’ll stick into using till I get to know rendering/shaders better.
I actually have started learning 3d defold and managed to import a 3d gltf model with textures. Imported one character model with gun animations. But, when I select an animation as default, only gun is affected by animation and body stays static. It works on blender though, animations play correctly there.
You can see them here: https://drive.google.com/file/d/1_O1SwT1PZPHvPi3NQG8-0McpASemRcVD/view?usp=sharing
(I was not able to upload the video here as I get larger than 48MB error even though it is only 8 MB)
The animation shown in the video is setup a specific way in blender and certain choices need to be made on how to correctly export/setup the rig in defold. In blender I can see that the character is made up of several separated objects(meshes) , arms, body, ears, gun ect. It looks like these separated objects are setup with a single rig from what I can tell. So when you select them all and export as a single gltf these objects/meshes will show up in defold except that when using the single rig they will not attach themselves. To make this game ready you would need to decide if you want them to all be detached or separated like they are in blender or joined together. For the similar to blender method you would need to import each object/mesh piece of the character separate and the rig(skeleton) then in run-time you would attach/parent each of the mesh pieces to the bone game objects using model.get_go then go.set_parent. After this the meshes will move along with the skeleton animation. Another option is that you join all the character objects/meshes together then you have a single rig and mesh (except for the gun you should attach that to the hand bone in run-time anyway unless that’s intended). Both these options will work in defold as expected and these design choices need to be made depending on your games specifications of course.
Some points to note :
- Be aware that if selecting multiple mesh objects at export to glTF they will import and display fine in defold. However when it comes to animation you may need to export separated meshes or joined mesh for this purpose.
- Making these design decisions beforehand will save you from having to make changes later and not have to re-export or mess with the mesh & rig again.
On the Defold animation example, I checked out the glb file used and it is also made of many parts. I tried to compare it with my model to see why my model is not playing the animation but did not really helped. Since the example model also have multiple meshes, that means I can have multiple meshes and play animations too?
Note:
- This is the example: Character
- Meshes/Skeleton is not binded by script on example, it just works as a model
- Sorry if I am troubling you with many questions
Ahh ok so you can export multi-mesh objects animated with an glTF export. You have to disable and enable the mesh parts you want showing at run-time like it states in the example "player.script". Using model.set_mesh_enabled("#model", "1H_Sword", true) enables the sword to show.
So in this case then I am not sure why exactly your export is not working. Could you share the file or link to it?
If you want it to look top notch with lighting and cool stuff…a ton. But for simple 3D it’s a breeze.
Files.zip (818.9 KB)
Here are the files, the original file and the one with baked textures. Thank you for the help
I took a look and the animation works fine.

Here’s the test project:
character_gltftest.zip (2.2 MB)
I did see what I suspect is the issue you were having. Here is the character glTF you provided.
and this is the one from the video above -
As you can see the “Gun” mesh object is missing in the one you provided. In the scene collection you see the gun is only a mesh(the green triangle icon) and has no modifiers which should be for an armature and also no vertex groups applied which is needed to be rigged to a skeleton. I suspect that the gun is an attachment and when it was exported only the gun was active to the rig and when brought into defold it shows only the gun moving as expected.
This is an educated guess, I would only be able to confirm it with the complete glTF export that includes the gun.
Oh, there are 2 files one with the gun and one without it. I shared the one without the gun as gun animations are working. In the video, I tried combining the animations on the same file with the gun. Sorry for the confusion.
But, if the one without gun is playing that’s all fine.
The weird thing is that character was not playing animations on the unlit example but plays it on character example.
Thanks a lot for the help. Will try to find why unlit example was not playing animation later but for now, character example will be enough



