This page will give you a brief introduction to the Hierarchy and Content Editors, how to identify and understand the nodes and in which editor they can be used.
To use these editors you will need to switch to the Logic Layout of the Designer. They can be switched in the top right corner of the User Interface.
The Hierarchy and Content editors have very useful features which will help you with your daily work. Keep in mind that also your colleagues should be able to work with your project, therefore a good documentation is the key to success. You can use the Annotations to document either the Scene or Layers in the Hierarchy Editor or select a specific node and create an annotation for that selected node in the Hierarchy or Content Editor. This will come in handy for very complex scenes, hierarchies and logics. There are a bunch of shortcuts and mouse controls available for the editors, so it would be wise to have a look into the Hierarchy Editor and Content Editor shortcut reference pages as well.
The Hierarchy Editor reflects, as the name says, the hierarchy of a 3D Layer. A 3D Layer will be rendered to a 2D Texture and then blended with all other Layers . This editor contains mostly the nodes which are used to visualize or position content in the renderer window - these nodes directly affect the behavior of the rendering engine of Ventuz in some way or another.
Go ahead and place a Cube Node in the Hierarchy of your scene! You can now see the cube in the Renderer Window of the Designer, you can place additional nodes that either create additional objects or affect the objects that come beneath them in the hierarchy tree (see Order And Sorting for more.
The way the hierarchy is shown also reflects the rendering order of the engine. Generally speaking the engine is processing the nodes the way they are sorted in the hierarchy. It processes node by node from top left to bottom right.
This way it is easier to understand how to sort objects - this is important because e.g. objects that are drawn first will be occluded by objects that are drawn later if they are located at the same position (see also Z-Buffer).
Following is an example of a hierarchy and its rendering:
The above image illustrates the render order and the sorting order. In this example the images share the same z-position and are still layered over each other, therefore the hierarchy order plays a big role to decide what gets drawn first and whats on top. If you would resort the same scene and put the bigger white rectangle in the third place, it would cover all other elements, since this white rectangle would be drawn last.
The hierarchy order is not only important for the rendering order it is also important for the way you would e.g. Transform (that is moving, rotating and scaling) elements. By default all objects are placed in the origin of the world with no rotation and a scaling of 1. With one or several axes in front of an object you can change this transformation.
As you can see by the following image, the very first axis is used for rotation and all axes behind that very first are depending on its rotation. Therefore if you rotate the first axis, all others are depending on that. The same goes for the translation. If you change the translation for the very first axis, the rest will follow since they are in the same branch of the hierarchy. If you alter the position for the second axis, the third will still follow. This way you can create a bunch of arranged elements, for user interface elements for example, but still move a whole group. Keep in mind that the same goes for scalation, translation, colors etc. In fact every hierarchy node affects each node in its Subtree.
Hierarchy nodes can also be collapsed and will then be shown as a stack of nodes. Right-Click on a stack of collapsed nodes to uncollapse them, or if you like to collapse nodes till the selected one, just right-click onto a node and all nodes behind will be collapsed.
Aside from creating a group node in front of a bunch of hierarchy nodes to get a better kind of structure you can also merge nodes to a hierarchy container. Just select from where you would like to merge the nodes into a container and click the Merge to Container icon in the top bar of the hierarchy editor or use the ctrl + m shortcut. This creates a new node that contains all merged hierarchy nodes. It behaves just like its contained hierarchy tree.
You can have very complex and deep layers by creating containers, since you can container in a container and so on. To navigate between these container levels you can use the Level Up/Down buttons or use the shortcuts ctrl + u for up and ctrl + d for down. Middle-clicking the container moves your view inside of it as well. Double- or middle-clicking the arrow on the top left of the hierarchy when inside a container will move you outside of it.
Double- or middle-clicking a 3D Layer's root node will move you a level upwards to the Layer Level of the scene, just like when doing it inside a container.
Another useful feature is to use the Hierarchy Editor for Layers. You can enable this feature by click on the Eye icon at the top right of the hierarchy editor window and select the Use for Layers.
This way the Hierarchy Editor will switch to a view users are used to have from older Ventuz versions, without the layers workflow. The mode makes it possible whenever you navigate to the top of the hierarchy - the Layer Level - to visualize the individual layers as nodes in a hierarchy used way. The Layers View itself will then be unused and appears to be disabled. You can as well hide it now with the View menu in the menu bar of the designer or with the SHIFT + F5 shortcut.
When using the Hierarchy Editor for showing layers you should consider using the Container Outline window to quickly navigate in your scene. You can enable it with Ctrl + Shift + F10.
The Content Editor contains all of the logic of your scene and visualizes all the bindings between nodes. You will at all times see all Hierarchy Nodes that you currently selected in the Hierarchy Editor as well as all Content Nodes that are connected to exactly these nodes. Additionally you see all Content Nodes that are not connected to any Hierarchy Node.
Bindings are visualized with an arrow going from the providing node to the receiving one. To bind a Property of a node to a Property of another node you need to drag the receiving property you to a node that contains the wanted property:
If there are multiple possibly fitting properties a dropdown menu will pop-up asking you to select the target property.
If you have multiple bindings between two nodes you can hover over the binding and a balloon tip will show up showing all connections in that binding. It is like a collapsed view to simplify the visualization of each binding between all nodes. Delete the bindings by clicking on a binding and delete the individual bindings by clicking the cross (x) in front of the binding or select to delete all.
By default this mechanism mostly shows its Output properties when dropping an Input property of another node on the node in question. By right-click and dragging the property instead you will get a list of all properties of that node - this way you can even bind to that nodes Input Properties.
To have a better overview of the content area, especially for big projects and complex logics, it would make sense to use the family, which is a kind of grouping, or to merge parts of the logic into a container. In many cases it makes sense to create a family out of a group of nodes. This will generally help you to get a better overview for yourself or a colleague who is working with that project as well. Next to it will visually keep nodes together and mimics the sense of that the nodes are in a kind of relation - therefore the naming family. Select a bunch of logic nodes and use either the shortcut ctrl + shift + f or select/ click the Create Familiy icon in the top bar of the content editor:
The same way you would merge nodes into a Content Container - you select a bunch of logic nodes and use either the shortcut ctrl + m or select/ click Merge to Container
You can have very complex and deep layers by container, since you can container in a container and so on and so forth -the same way like with the hierarchy editor. To navigate between these container levels you can use the Level Up/Down buttons or use the shortcuts ctrl + u for up and ctrl + d for down.
As you see the Hierarchy- and Content Editor are more or less the core of Ventuz. Aside from the Hierarchy Editor the Content Editor is a very unique solution to create logics for a scene. Both editors have powerful features which makes it possible to create stunning scenes. The amount of features, controls, and possibilities is overwhelming and will need a while until you unleashed everything - keep alone an eye on the shortcuts and mouse controls. You will realize that the more you make yourself familiar with the editor features the faster you will be able to create content. Know your tool and the success will be yours.
After completing this introduction you should have especially start to work with most of the nodes and analyse their use cases as well as how to integrate them in a scene. Make use not only of this User Manual for that but also of the Help Scenes inside the Designer - accessed by hovering a node and pressing F1. More advanced topics that build upon these editors and should be taken care of as well are Nodes and Bindings, Containers and Interfaces and lastly Toolbox and Repository. Also have a look at the Best Practices Overview to get more insights into building scenes more carefully and maintainably.
This is still a brief overview and more detailed intel are supplied in the See Also section, where we list the links for each individual editor as well.