As an experiment, I’m trying to create a Viewport of a 3D scene, to be rendered on a ViewportTexture, which will be displayed in a 2D scene. (Specifically, it’ll be displayed as a scene tile that’s part of a TileSet.)
As of yet, it works fine. (In the graphic, that’s a 3D torus at the center left, in the red area, and it’s animating. Great so far.)
However, the background is imprinting over anything I have in a lower tile layer. This is not good, it limits me to a rectangular shape.
I attempt to set transparent_bg
to true for the SubViewport, but after I do that, all 3D objects in the scene become transparent, not just the background. All that’s left is the little microscopic Godot icon at the top left, which is a Sprite2D; the MeshInstance and the Sprite3D disappear. However, I can see the green tile that’s placed beneath it.
Is this a bug in the program, or a bug in my understanding? It’s version 4.1.
UPDATE: It seems that if I’m working with an ordinary 2D scene, without a TileMap, simply selecting “Transparent BG” works fine. Interesting.
Cool that it works but why would one do such a thing.
I assume you could render 3D stuff over a 2D viewport? Not really understood your setup maybe this is exactly what you’re doing.
I’m hacking together a demo game, and I can save enormous amounts of animation time if I can simply use an armature in the middle of my otherwise JRPG-like game. That way i don’t have to worry about individual frames, and can almost go directly from Krita/Blender to Godot.
Scene tiles allow me to do that.
Later on, I can try replacing these with animated tiles selectively, if overhead becomes an issue.
I’ll post a link when things start coming together!