Question about scene graph and available node types...or equivalent

I am working on a project where I need to implement some real-time interactive visualization that is built up programmatically based upon user interaction (e.g. these are not static models). Typically I’ve build these projects in OpenSceneGraph or Inventor. In those libraries we have the following node types. I’m wondering if folks can point me to the Babylonjs equivalents:

  • Group Node - this is a collection of child nodes (meshes, transforms, etc)
  • Switch Node - this is a collection which can have one or more child nodes on/off. Typically a child of a Group Node
  • Antisquish Node - a special type of node that “undoes” vertical transforms in the travseral path above it
  • Text Node - draw text, typically billboarded to screen alignment and dynamically sized

I’m working through the initial tutorials, and I don’t see anything for these (at least not that I recognize). Any pointers would be helpful.

Thanks!

Hello and welcome to the Babylon community!
The three first nodes can all be achieved using Transform Nodes ( Transform Node | Babylon.js Documentation (babylonjs.com)), they’re objects that aren’t rendered, but can have child nodes (other transformnodes or meshes). You can turn a node on/off by setting the enabled property ( TransformNode | Babylon.js Documentation (babylonjs.com)). And for text, there is all the power of Babylon GUI: The Babylon GUI | Babylon.js Documentation (babylonjs.com) :smile:

2 Likes

Thank you - it looks like Antisquish is not really available, but I could implement it. One other thing I’m missing is a proper Trackball. The ArcRotate camara isn’t correct (It reverses the direction of rotation depending on its orientation, because the Arc isn’t properly re-projected to the current surface of the sphere).

cc @PolygonalSun about the camera

Hey @Sean_Spicer, so just to make sure that I’m understanding correctly, you need the rotation directions of the camera to be inverted or flipped. Is that correct?