-
Notifications
You must be signed in to change notification settings - Fork 1
Entity
The VEML document can specify 0 or more entities to place in the environment. This page outlines the entity types defined in the VEML specification.
An entity is any type of object that exists in an environment. It can be solid, fluid, invisible, part of the UI, or something else.
Elements:
-
transform: transform - The transform of the entity.
Minimum: 1
Maximum: 1
-
entity: entity[] - The entities that fall directly under this entity in the hierarchy tree.
Minimum: 0
Maximum: unbounded
-
synchronizer: string - ID of the synchronizer to synchronize the entity with.
Minimum: 0
Maximum: 1
-
placement-socket: placementsocket - placement sockets to attach to this entity
Minimum: 0
Maximum: unbounded
Attributes:
-
tag: string - A tag to apply to the entity. This differs from an ID in that an entity is not guaranteed to be uniquely identifiable by its tag. Intended to be human readable.
Minimum: 1
Maximum: 1
-
id: string - A UUID-encoded identifier for the entity. If one is not provided, the engine will define a new one.
Minimum: 0
Maximum: 1
-
on-load-event: string - An optional event (script logic) to invoke upon completing loading of the entity.
Minimum: 0
Maximum: 1
The container entity extends the base entity.
It does not contain any additional fields.
The character entity extends the base entity.
It does not contain any additional fields.
The canvas entity extends the base entity.
It does not contain any additional fields.
The button entity extends the base entity.
Additional Fields:
-
on-click-event: string - An event to invoke upon clicking of the button.
Minimum: 0
Maximum: 1
The input entity extends the base entity.
It does not contain any additional fields.
The mesh entity extends the base entity.
Additional Fields:
-
mesh-name: string - Name of the top-level mesh.
Minimum: 1
Maximum: 1
-
mesh-resource: string[] - A list of files containing mesh resources to load for the mesh.
Minimum: 1
Maximum: unbounded
The light entity extends the base entity.
It does not contain any additional fields.
The terrain entity extends the base entity.
Additional Fields:
Elements:
-
layer: terrainentitylayer[] - A list of terrain entity layers to use on the terrain.
-
layer-masks: string - Comma-separated 2D arrays of layer mask values (the intensity of each layer at a given position). Each array is separated by a '|'. Example (for 3 layers on a 3x3 terrain):
0,0.1,0.2;0.3,0.4,0.5;0.6;0.7;0.8|0.9,1,0;0.1,0.2,0.3;0.4,0.5,0.6|0.7,0.8,0.9;1,0,0.1;0.2,0.3,0.4
Attributes:
-
length: double - Length (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
width: double - Width (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
height: double - Height (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
heights: string - A comma-separated 2D array of heights.
Example (for a 4x4x4 terrain):
"0,1,2,3;3,2,1,0;1,2,0,3;2,1,3,0"Minimum: 0
Maximum: 1
-
type: string - Type of terrain. Can be one of (heightmap, voxel, hybrid). Defaults to heightmap.
Minimum: 0
Maximum: 1
The text entity extends the base entity.
Additional Fields:
-
text: string - Text to place on the text entity.
Minimum: 1
Maximum: 1
-
font_size: float - Size to apply to the text entity's font.
Minimum: 1
Maximum: 1
The voxel entity extends the base entity.
It does not contain any additional fields.
Elements:
-
transform: transform - The transform of the entity.
Minimum: 1
Maximum: 1
-
entity: entity[] - The entities that fall directly under this entity in the hierarchy tree.
Minimum: 0
Maximum: unbounded
-
synchronizer: string - ID of the synchronizer to synchronize the entity with.
Minimum: 0
Maximum: 1
Attributes:
-
tag: string - A tag to apply to the entity. This differs from an ID in that an entity is not guaranteed to be uniquely identifiable by its tag. Intended to be human readable.
Minimum: 1
Maximum: 1
-
id: string - A UUID-encoded identifier for the entity. If one is not provided, the engine will define a new one.
Minimum: 0
Maximum: 1
-
on-load-event: string - An optional event (script logic) to invoke upon completing loading of the entity.
Minimum: 0
Maximum: 1
The container entity extends the base entity.
It does not contain any additional fields.
The character entity extends the base entity.
It does not contain any additional fields.
The canvas entity extends the base entity.
It does not contain any additional fields.
The button entity extends the base entity.
Additional Fields:
-
on-click-event: string - An event to invoke upon clicking of the button.
Minimum: 0
Maximum: 1
The input entity extends the base entity.
It does not contain any additional fields.
The mesh entity extends the base entity.
Additional Fields:
-
mesh-name: string - Name of the top-level mesh.
Minimum: 1
Maximum: 1
-
mesh-resource: string[] - A list of files containing mesh resources to load for the mesh.
Minimum: 1
Maximum: unbounded
The light entity extends the base entity.
It does not contain any additional fields.
The terrain entity extends the base entity.
Additional Fields:
-
length: double - Length (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
width: double - Width (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
height: double - Height (in meters) of the terrain.
Minimum: 1
Maximum: 1
-
heights: string - A comma-separated 2D array of heights.
Example (for a 4x4x4 terrain):
"0,1,2,3;3,2,1,0;1,2,0,3;2,1,3,0"Minimum: 1
Maximum: 1
The text entity extends the base entity.
Additional Fields:
-
text: string - Text to place on the text entity.
Minimum: 1
Maximum: 1
-
font_size: float - Size to apply to the text entity's font.
Minimum: 1
Maximum: 1
The voxel entity extends the base entity.
It does not contain any additional fields.
Author: fivesquaredtechnologies@gmail.com License: MIT