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.

  • Luke@lemmy.ml
    ·
    10 months ago

    I'm new to Godot, so I can't help you, but I just wanted to say how cool your approach sounds. I'm looking forward to knowing how to do that kind of thing, it sounds like you're mixing 2D and 3D in a clever way!

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

      God, it works great. Read through the tutorial and it will give you an idea of just how powerful the tile editor is.

      The only downside to scene types is that they are effectively instanced at every placement in the scene, so they're more demanding; but most of the time that's not that big a deal.