Unigine.NodeDummy Class
Inherits: | Node |
A dummy node is a zero-sized node that has no visual representation. It is used to organize the other nodes into a hierarchy: the dummy node serves as a parent node and enables to organize the other nodes that are made its children into a group.
A bounding box of the dummy node is equal to the bounding boxes of all its child nodes combined together.
Creating a Dummy Node#
To create a dummy node, perform as follows:
- Create an instance of the NodeDummy class.
- Release script ownership so that the node can be added to UnigineEditor.
- Add the node to UnigineEditor (wherein, node ownership will be passed to the editor automatically).
You can also specify such settings as a name, transformation and so on.
// AppWorldLogic.cs
using Unigine;
namespace UnigineApp
{
class AppWorldLogic : WorldLogic
{
public override bool Init()
{
// create a dummy node and release script ownership
NodeDummy dummy = new NodeDummy();
// set a name
dummy.Name = "DummyNode";
return true;
}
}
}
Organizing a Nodes Hierarchy#
To organize nodes in a hierarchy, perform as follows:
- Create an instance of the NodeDummy class.
- Release script ownership so that the node can be added to UnigineEditor.
- Create a node and add it as a child to the created dummy node.
- Add the dummy node to UnigineEditor (wherein, node ownership will be passed to the editor automatically).
// AppWorldLogic.cs
using Unigine;
#if UNIGINE_DOUBLE
using Vec3 = Unigine.dvec3;
using Mat4 = Unigine.dmat4;
#else
using Vec3 = Unigine.vec3;
using Mat4 = Unigine.mat4;
#endif
namespace UnigineApp
{
class AppWorldLogic : WorldLogic
{
public override bool Init()
{
// create a dummy node
NodeDummy root = new NodeDummy();
// set a name for the node
root.Name = "root";
// create child nodes
for (int y = -10; y <= 10; y++)
{
for (int x = -10; x <= 10; x++)
{
// create a mesh
Mesh mesh = new Mesh();
mesh.AddBoxSurface("box_0", new vec3(1.0f));
// create a node (an instance of the ObjectMeshStatic class)
ObjectMeshStatic node = new ObjectMeshStatic(mesh);
// assign a material to the object's surfaces
for (int i = 0; i < node.NumSurfaces; i++)
node.SetMaterial("mesh_base", i);
// set node transformation
node.WorldTransform = MathLib.Translate(new Vec3(x * 2, y * 2, 0.0f));
// set a name for the node
node.Name = String.Format("mesh_{0}_{1}", x + 10, y + 10);
// add the node as a child to the root dummy node
root.addWorldChild(node);
}
}
return 1;
}
}
}
NodeDummy Class
Members
static NodeDummy ( ) #
Constructor. Creates a dummy node.static int type ( ) #
Returns the type of the node.Return value
NodeDummy type identifier.Last update:
2020-07-31
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)