Camera needed but not mentioned

Orestis Konstantinidis(Orestiskon)


I love the courses so far, but some steps aren't mentioned.

I've spent the last 40 minutes trying to figure out why the viewport isn't working, and to reverse engineer an example from the project settings. After about half an hour I figured that we need a camera in the 3D scene so the viewport is showing something.

A lot of details aren't mentioned either, such as that the viewport needs to be a child of the ViewportContainer. We can see that in the screenshot, but that information isn't verified. For example, the 3d objects are a child of the viewport in the screenshot as well, does it have to be that way?

I wonder if I'm missing something obvious on how to follow this course because a lot of such instructions seem to be missing.

Furthermore, I noticed there are a lot more examples in the project files than there are lessons.

"we’ll revisit this topic in future tutorials that involve post-processing."

Does it mean that there are more lessons coming? I'd be very interested in post-processing as well as the stencil examples but I can't see them in the curriculum .

  • Nathan Lovato replied

    I'll let François, who wrote this lesson, give you some more details, but here are some preliminary answers:

    1. "we’ll revisit this topic in future tutorials that involve post-processing.": this is certainly about lessons involving post-processing that are already available, like the shockwave or blur series.
    2. "I noticed there are a lot more examples in the project files than there are lessons": that's intended. We are building a library of free and open-source shaders for the Godot community, and they are all included with the course for you to access and use at your leisure. The course's lessons should include complete code listings for their topic.
    3. "Does it mean that there are more lessons coming?": we are looking to keep improving the course in the future, yes. For now, we're working on Godot 2D Secrets, and focusing our efforts on it until we've delivered a v1.0 to our Kickstarter backers. Which topics would you like to see covered the most? By stencil, do you mean the ImpossibleCube demo?
    4. "the 3d objects are a child of the viewport in the screenshot as well, does it have to be that way?": for them to render in this viewport, I think so, but I'll let François confirm.

    Whenever you are missing explanations in a lesson, please let us know. We'll add them.

  • Razoric replied

    At the root of the scene tree in Godot is a Viewport. The Default Viewport, if you will. In 3D scenes, if you don't have a camera, you don't see anything. Having a sub viewport just repeats this process, hence the need for a new camera.

    3D objects don't have to be part of the sub viewport to be seen in the viewport so long as that viewport has a camera, and the camera can see the layer the 3D objects occupy.

    The ViewportContainer node's express job is to be a displaying container to a Viewport.

    I'm not sure how much more explanation the lessons really need or where the text needs shoring up, but if you have particular passages you can point us to, I can see about clarifying the steps or some more clarifications about some of the concepts.

  • Nathan Lovato replied

    I think what you just wrote about the camera would be good to have because the root viewport is hidden in the editor, and so the UX doesn't show users that every viewport requires a camera. Someone could imagine that you could have one camera and use it for every viewport.

    Also, we could consider linking to the viewports' documentation as a complementary resource. They should provide a more detailed overview than what we have. https://docs.godotengine.org/en/stable/tutorials/viewports/viewports.html

  • O
    Orestis Konstantinidis(Orestiskon) replied

    Hi guys, thanks for the quick replies.

    By stencil, do you mean the ImpossibleCube demo?

    Yes, I was always curious how this could be done in Godot so I'm rather excited to find it in the examples.

    I'm not sure how much more explanation the lessons really need

    I understand you need to find a good balance between short, readable content and granularity. I find the content so far very pleasant to read and extremely valuable.

    I hadn't worked on the 3D side of Godot yet, so somethings aren't obvious to me, such as requiring a camera in the 3D scene. In some cases it's not very obvious how to achieve the result if I try to follow the instructions step by step, but I see your point on not overcrowding the content. From my side I'll try to add a comment if I get stuck on something!

  • Nathan Lovato replied

    We just published update 1.1.0, a note about 3D cameras in viewports, and two new lessons: https://gdquest.mavenseed.com/community/457-shader-secrets-1-1-0-is-out

  • N
    Geoffrey Megardon(Nodragem) replied

    I just experienced the same issue :)
    I would suggest to move the note:

    For 3D scenes, you need to include a camera in every viewport. We will talk more about this in the 3D masking lesson.

    To the previous section "ViewportContainer", as this is when the user will attempt to make a viewport for the first time.

    Also in the current sentence, it is not obvious that without a camera the editor viewport won't display anything.

  • d
    d2clon replied

    I am also having difficulties following this lesson. I am trying to work in a 2D scene. I added the ViewportContainer and the Viewport as in the screenshot... Then I add a Sprite child to the Viewport but I don't see the Sprite rendered on the editor. When I run the Scene the Sprite is there :?... Should I add a Camera2D to the Viewport? I tried but has no effect. 

    I really think this lesson requires a more step-by-step explanation. With more examples.

    Is there a SceneDemo in the project?