godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.53k stars 21.26k forks source link

SubViewport displays none of its children objects in the 3D window of the editor if it has own_world_3d or world_3d set #66345

Open Maveyyl opened 2 years ago

Maveyyl commented 2 years ago

Godot version

4.0-beta1_mono_win64

System information

Windows 10

Issue description

SubViewport displays none of its children objects in the 3D window of the editor if it has own_world_3d or world_3d set.

We can see what's rendered in the SubViewportContainer though.

Setting its own world to a SubViewport is important because otherwise its content gets displayed on any other scenes on the 3D window, and displays other scenes that are opened in its render whenever I use it as an editor plugin dock slot. Not sure if it's normal too.

Steps to reproduce

Create a control scene

Add a subviewport as child

Create anything as child of subviewport

Go in on the 3D window and assure what you just created is visible

tick own_world_3d or set world_3d of subviewport

whatever was visible before is now not rendered on the 3D window

Minimal reproduction project

BugSubViewport.zip

Calinou commented 2 years ago

@Maveyyl Please upload a minimal reproduction project to make this easier to troubleshoot.

Maveyyl commented 2 years ago

Done

JohnPandich commented 1 year ago

This still exists in Beta 15, and IMHO is probably somewhat related to https://github.com/godotengine/godot/issues/55471 which was fixed by https://github.com/godotengine/godot/pull/70132. This issue was not fixed by that change but it might be a good place to start.

hawkerm commented 2 months ago

Think I've seen this in v4.3.stable.mono.official [77dcf97d8] as well. I was very confused, as the subviewport still worked correctly with the game running, and I could see it in the container. But nothing but the gizmos were appearing in the editor when I selected the 3D nodes of the world. Meant I couldn't use the editor to setup my scene and have it isolated from my other world. So, I had to go back to having a shared world and just moving them back down and then up in the sky for now to edit what I wanted to look at easily.