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.

  • Lil' Bobby Tables@programming.dev
    hexagon
    ·
    10 months ago

    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!