NodeDummy Class
The scope of applications for UnigineScript is limited to implementing materials-related logic (material expressions, scriptable materials, brush materials). Do not use UnigineScript as a language for application logic, please consider C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScipt (beyond its scope of applications) is not guaranteed, as the current level of support assumes only fixing critical issues.
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.
#include <core/unigine.h>
int init() {
// create a dummy node
NodeDummy dummy = new NodeDummy();
// set a name
dummy.setName("DummyNode");
}
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).
#include <core/unigine.h>
int init() {
// create a dummy node
NodeDummy root = new NodeDummy();
// set a name for the node
root.setName("root");
// release script ownership
class_remove(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", 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.getNumSurfaces(); i++)
node.setMaterial("mesh_base", i);
// set node transformation
node.setWorldTransform(translate(Vec3(x * 2, y * 2, 0.0f)));
// set a name for the node
node.setName(format("mesh_%d_%d", x + 10, y + 10));
// release script ownership
class_remove(node);
// add the node as a child to the root dummy node
root.addWorldChild(node);
}
}
}
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)