Adding extras to imported models?

Godot Version

v4.3.stable.official [77dcf97d8]

Question

What is the idiomatic way of adding “extras” to imported models?

For example, particle effects or lights?

Background

I’m new to 3D modelling, and decided to focus on figuring out the gameplay of my game. This meant I’m just building out my game with simple boxes instead of real models etc. Recently I realised I was referencing the RigidBody and MeshInstance, and I wasn’t sure how this would work if I actually imported a model. So I decided to build a simple model in Blender and export it as a glb file. I’m glad I did as I needed to refactor several things in my game to get it to work with an imported model!

Now I’m wondering the best way to attached extras to my model. As a more concrete example, I’m making a game about trains so would like to attach smoke to the pipe.

Ideas I had

  1. Use the “New Inherited Scene” feature. Manually add the extras to the new scene.
  2. Add placeholder something (not sure what) to the model in Blender. Use code to automatically attach the extras to the placeholders.
  3. Add the extras in Blender before exporting.

Option 1 seemed like it would get quite tedious and cause issues if I had to reimported the base model?

Option 2 seemed like quite a good idea, but I’m not sure what object to use in Blender as the placeholder? It would need to be something I could name/find easily, any advice or ideas welcome!

Option 3 seemed like a bad idea, as I’d like to have control over the extras. For example I’d like to be able to adjust the smoke depending on the speed of the locomotive or how windy the level is.

Any other ideas? Am I just misunderstanding something?

your objects must be saved as scenes. in the scenes, you can add the things like particle effects and lights that are shared between instances of the scene.
or you can just append these things to the node in your main scene.

this is the way things should be done.

after creating new inherited scene you have to save it as scene and can do cleanup and add stuff.
then instantiate a copy into your level.

if your games needs these to be dynamic.

NO. just no.
unless it’s geometry, don’t do this.
add lights and particle effects in godot, it’s less work and guaranteed to work.

you use empty’s. they will import as Node3Ds.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.