• 3D
  • Extrusion tool in Blender caused "hollow" objects in Godot

I used blender to model an assault rifle that I wanted to animate in Godot. I created the 3d model in blender mostly using the extrusion tool, and I exported the file using the Better Collada extension (.dae file). Does anyone know why the gun model looks strangely hollow in godot, while looking fine in Blender? I likely used the extrusion tool incorrectly...

You can recalculate the normals in Blender. I think that should fix it.

There might be a normals related option to tweak on the godot importer side, perhaps worth a try.

@cybereality is right. Your normals are most likely messed up in blender. The reason why you can't see that is because back face culling isn't enabled in your solid viewport. Godot culls back faces by default to save on performance. You can enable back face culling in blender and you'll see the same effect as in Godot. To do so, click the drop-down button beside the viewport modes. Make sure you are in solid view first. You should see an option to enable back face culling. Press it, and faces with normals pointing away from you will not be drawn. To recalculate the normals, go into edit mode and press Ctrl+Alt+N. Your normals should be alright after that. If not, use Alt+N instead, which will flip all the normals the opposite direction.

As @SIsilicon28 said, you need to turn back face culling on. In blender, press N, and a menu should come up on the right side of the screen. Somewhere down the menu, you should see back face culling. I always have it on by default; if you want to save the start-up file, that's CTRL-U.

I think the extrude problem is simply because you extruded the wrong direction. You can see problems like this if you have back face culling on, but you can fix it: Select all the faces that need to be flipped Press W * Flip normals

Flip every normal that needs it. You will know which normals need to be flipped when back face culling is on.

6 days later

To extend the answer, you can also see which way the normals are facing if you press the overlay dropdown menu, which you'll find to the left viewport modes @SIsilicon28 describes. You have to be in Edit-mode for it to work though. So select your object, go into edit-mode and in the Overlay dropdown menu, almost at the bottom you see "Normals" and 3 extra buttons. Enable the last button of those 3 to see which direction your normals are facing.

It's pretty clear what you did wrong and I'm surprised nobody has mentioned it yet.

You used a mirror modifier in blender and you didn't apply the modifier before exporting it.

The mirror modifier without applying means that you only have half of the object mesh. It only looks like the whole thing in blender. Only if you apply it does it make the whole mesh. You will see the apply button on the mirror modifier section. Be careful though, after you apply it and blender makes the full mesh you cannot continue to edit using mirror. Only apply it before exporting and keep a save of before you applied it so that you can continue to edit using mirror if you need to.

Are you sure? The model doesn't look cut in half. If you look at the nozzle, it is whole in both Blender and Godot.

You can use the mirror modifier to mirror and merge things without them being perfectly cut in half.

edit: also worth mentioning that exporters usually have options for toggling things such as to apply modifiers.