holoride
Search Results for

    Show / Hide Table of Contents

    Graph Node Overview

    Map Sources

    Creates a map (of float values) of the environment. It can be used to generate terrain if used as a height map, to filter spawned objects, or as an input for several other nodes.

    Info: The maps are visualized in a black/white/blue manner. White is always the maximum value (does not have to be “1”), and black always represents the minimum value (does not have to be “0”). Shades of blue are used for negative values.

    All these nodes generate “Map” data types:

    Constant Value

    Outputs a map with a constant value.

    Constant One

    Outputs a map with only “1”s.

    Constant Texture

    Outputs a defined texture as a map.

    Constant Zero

    Outputs a map with only “0”s.

    Terrain Elevation

    Terrain Elevation node

    The height map of the earth surface retrieved from satellite images. Note that neither tunnels nor bridges are contained. Additionally, the map is not detailed enough to foresee the vehicle’s altitude.

    Perlin Noise

    Outputs a perlin noise.

    Example Use Case: Adding synthetic variety by either adding or multiplying perlin noise to another image.

    Pose Set Rasterizer

    This node transforms a “pose set” into a map. This node is very helpful for visualization/preview purposes in the graph.

    Example Use Case: Using the distance transform to get the distances to the closest pose.

    OSM Geometry Rasterizer

    Returns a “black and white” image of where the queried entities are. The results can either be drawn filled or as an outline.
    Info: Geometry that is not closed (roads) but drawn with the filled style will result in odd looking shapes.

    Example Use Case: Using the park query to only allow spawning of trees in this permitted area and feeding it into a grass texture layer.

    Road Network Mask

    Road Network Mask Node

    ➞ Visit the in depth page

    Blend Texture At Pose Heights

    Blends a given texture at the positions of a set of poses with the input map and returns the blended map. Height and Alpha channel can be chosen from the source texture. A scale factor is multiplied with the xz-scale as well the height of the blended pattern.

    Note: The Height channel is added to the poses' y-positions and then blended with the input map's height data.

    Example Use Case: Used to blend patterns from a texture with an existing terrain map. The texture can incorporate a channel for actual height values as well as a channel for alpha blending values.

    Map Modifiers

    Map operators are a set of nodes used to modify “Maps” in different ways.

    Blur

    Adds blur to the “black and white” image.

    Example Use Case: Smoothing edges to let values fade into each other.

    Convolute

    A custom convolution. https://en.wikipedia.org/wiki/Convolution

    Example Use Case: Using a Sobel filter kernel to highlight edges. https://en.wikipedia.org/wiki/Sobel_operator

    Distance Transform

    Distance Transform Node

    ➞ Visit the in depth page

    Math

    Feel free to explore the possibilities!

    Remap

    Remap Node

    ➞ Visit the in depth page

    Normal Projection Evaluator

    Computes the dot-product between the given normal and the derived input image at every position.

    Example Use Case: Evaluating how steep the slope of a hill is in order to, say, put trees on top and stones at the side of the hill.

    Scale

    Scales the map values by a given factor.

    Pose Set Sources

    Pose sets define a group of positions. They are usually used as a preprocessing step to spawners as there are several nodes to modify the poses before spawning objects based on a pose set.

    All these nodes generate “PoseSet” data types:

    Grid Poses

    The Grid Poses node generates an even grid of poses.

    OSM Poses

    OSM Poses Node

    ➞ Visit the in depth page

    Road Network Poses

    Road Network Poses Node

    ➞ Visit the in depth page

    Pose Set Modifiers

    There are a variety of nodes to process the generated pose sets.

    Add Random Rotation

    Randomly rotates the generated poses.

    Add Random Translation

    Randomly translates/shifts the generated poses.

    Remove By Map

    Uses a map to remove/mask certain poses.

    Example Use Case: You want to spawn coins on the road, but based on the road width, you want to have more of them. Then you can combine it with the Grid Positions node like in the example above.

    Remove Close Neighbours

    Removes poses that are closer than the defined distance.

    Example Use Case: Cleaning up your poses to make them less dense. RotateTowardsGradientDirection

    Rotates poses depending on the gradient.

    Example Use Case: Rotating spawned objects toward a road.

    Translate Along Gradient

    Move poses in the direction provided by a gradient.

    Example Use Case: Moving spawned objects away from the road.

    Set Heights By Map

    Set Heights by Map Node

    ➞ Visit the in depth page

    Unify Poses

    The Unify Poses node fuses multiple pose sets to one.

    Example Use Case: Cleaning up / simplifying your graph.

    Portals

    Portal Nodes

    ➞ Visit the in depth page

    Spawners

    As the name indicates, spawners are the node type to spawn prefabs and game objects in your scene based on different rules.

    OSM Building Spawner

    This spawner is dedicated to spawning buildings on places where buildings also exist in the real world. It uses the outline of a building and creates a 3D mesh with the chosen material applied.

    Pose Set Spawner

    Pose Set Spawner Node

    ➞ Visit the in depth page

    Road Network Spawner

    This spawner spawns objects on all roads (note: roads can also be pedestrian walkways or similar).

    Speciality for Road Network Spawner – Geometry Bending By adding the component RouteGeometryBender to a prefab, it is possible to bend the geometry with the route spline.

    As the bending target, a MeshCollider and/or MeshFilter can be added to the component. The bending resolution determines the sample count on the spline. In order to get a satisfying result, an evenly tessellated mesh with a sufficient resolution should be provided.

    Example Use Case: Generating tunnels or trenches to drive or fly through spaces in VR.

    Grid Spawner

    Grid Spawner Node

    ➞ Visit the in depth page

    Unconstrained Grid Spawner

    Allows spawning objects in a grid, like the Grid Spawner, but is not restricted by the Extents of the Elastic Scene Generator.

    Note

    Due to the Spawner being able to spawn objects in areas without Map data, the Spawner does not allow graph data injection.

    OSM Spawner

    The OSMSpawner spawns objects based on OSM/Overpass queries.

    Collision Solver

    To keep objects from intersecting with each other, you can add a CollisionSolver component to the prefab of the game object that you want to place.

    Note that intersections can be detected only with game objects that have some sort of collider attached to them. The terrain itself is excluded from all intersections. The physics engine then takes care of shifting objects over a certain number of iterations.

    Elastic Scene Definition

    Elastic Scene Definition Node

    ➞ Visit the in depth page

    Texture Layer

    Texture Layer Node

    ➞ Visit the in depth page

    Data Provider Nodes

    Data Provider nodes allow the user to select one element of a list using different approaches.
    Currently the ElasticSDK offers the following nodes.

    Pick Prefab Randomly

    Pick Prefab Randomly Node

    ➞ Visit the in depth page

    Pick Prefab by Map

    Pick Prefab by Map Node

    ➞ Visit the in depth page

    In This Article

    Back to top
    ©   holoride
    Privacy   Imprint