Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Configuration Editor
  • Device Configuration
  • Machine Configuration
  • Render Setup Editor
  • Introduction to Compositions, Screens and Outputs
  • Explanation of Compositions, Screens and Outputs
  • Live Runtime Control
  • Project and Show Management
  • Web Configuration Editor
  • Communication Protocol Overview
  • GPI Configuration for Runtime or Director
  • Introduction to the Ventuz Video Engine
  • Supported Formats
  • Supported Hardware
  • Color Management and HDR Workflow
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Configs & Content to Ventuz 8
  • Migrating Content to Ventuz 7
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • PBR Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
  • Multi Screen and Output Setup
  • Explanation of Compositions, Screens and Outputs
  • Workflow of using Multi Screens
  • Multi GPU
  • Previs
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Scene Control Window
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • In-Scene Editing
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Color Management and HDR Workflow
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Scene Transitions
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Project Documentation
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How To Build a Custom Scene Transition
  • How to Use the Color Difference Keyer
  • How To Enable HDR Video Output
  • How To Work with the HDR Layer
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How To use Stream Out
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
  • How to use the Companion with Director
  • How to build Previs scenes with Designer
  • How to migrate from Ventuz 6 to Ventuz 7
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Previs Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • What's New in Director
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Transitions
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Scene Transitions
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Editor
  • Machine Configuration
  • Device Configuration
  • Project and Show Management
  • Live Runtime Control
  • Web Configuration Editor
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Multi Screen and Output Setup
  • How to migrate from Ventuz 6 to Ventuz 7
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

Multi Output & Display Setups

Introduction
  • Introduction to Compositions, Screens and Outputs
  • Explanation of Compositions, Screens and Outputs
  • Machine Clustering
  • Support for multiple GPU's
Editors
  • Configuration Editor
  • Device Configuration
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Designer Stage Editor
Workflows
  • How to Build Content for Multiple Screens
  • How To Play Out On Multiple Outputs
  • How To Render on a Machine Cluster
  • How to build Previs scenes with Designer

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How To Build a Custom Scene Transition
  • How to Use the Color Difference Keyer
  • How To Work with the HDR Layer
  • How To Enable HDR video output
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
  • Multi Screen and Output Setup
  • How To Enable HDR video output
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

Available Nodes Overview
  • All Designer Nodes
ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • Composition Layer
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Mixer Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Data Portals
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Render Setup Relation
  • Text Splitter
  • Timer
  • Toggle
  • Transition Info
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
PREVISUALIZATION
  • Introduction to Previs
  • Previs Screen
  • Previs Canvas
  • Compositon List
  • Rendersetup Objects
  • Composition Projector
  • Previs Screen Render Options
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths
  • Cloner

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting

Misc

  • Presets
« Previous: Camera
» Index «
Next: Cloner »

Path Nodes

Table of Contents

  1. Path Providers
    1. Select Path Segment
    2. Subdivide Path
  2. Property Groups
    1. Path Loader
  3. 3D Presets
    1. Path Property
  4. Path Axis
  5. Path Matrix
  6. Ventuz Path File Specification

Path Loader Provides a path that was loaded from a file.
Select Path Segment Selects segments of a given Path.
Subdivide Path Subdivides a Path into equally long parts.
Path Axis Adds the Transformation of a position on a given Path to the Hierarchy.
Path Matrix Outputs the Transformation of a position on a given Path.

The Path Nodes handle 3D Paths imported from other programs. They can be ultimately used by several Nodes that either render them (Geometry Renderer or Path Arrow) or use them for positioning (Path Axis or Particle System).

Path Providers

The Path Loader, Path Segment and Subdivide Path Nodes all Output a Path for further usage in the Scene Logic. Their Inputs depend on the chosen Source Property Group. You can load paths or modify them by chosing segments or performing a subdivision.

Select Path Segment

The Select Path Segment property group returns a path with only the chosen segments. The range is defined by the indices of the First- and LastSegment.

The source path can be either a Path Loader or a Path Property.

Subdivide Path

Subdivide Path takes a path and re-arranges its points so that even distances between them are created. This is mainly used to create a constant speed along the whole path - e.g. for animations along it. You can see a simple visualization of the original path and the result in the image below.

Property Groups

Each Path Provider passes a Path to the consisting node. Except on the Path Provider Node there are only two available Property Groups.

Path Loader

The Path Loader will load a path that was saved in a Ventuz Path File (.VPATH}) or an .SVG file. To import a Path to Ventuz and thus create a Ventuz Path File please see the Geometry Import Live Node.

Imported paths have points in 3D space and segments as defined in the software they are coming from. Paths from SVG Files have points in 2D space and each segment represents a <path>-element in that SVG File. All non-path elements of the SVG are ignored.

The units given in the loaded path file will by default directly apply to Ventuz units when not applying any scaling to the path.

If the AutoUpdate flag is turned on the Path Loader will automatically update the node whenever the loaded path file was changed.

The Path Loader provides several Presets for faster and easier usage.

Path Presets

3D Presets

These presets are used by Geometry Nodes like the Path Loader.

Geometry

Description

Internal resource name

Geometry

Description

Internal resource name

3D Helix

internal://Geometries/helix3d.vpath

2D Flower

internal://Geometries/flower2d.vpath

2D Ventuz Text

internal://Geometries/ventuz2d.vpath

Path Property

The Path Property is used to reference any path that is present in the Scene's Logic. Using this option enables you to first apply any kind of logic to the given path before using it on the corresponding node.

Path Axis

Path Axis works similar to the Axis in that it provides the upcoming subtree of the hierarchy with a transformation. You can again choose the Source of the Path which can either be a directly loaded path or a path from the scene's logic.

With the Segment property you can choose the used segment for the evaluation. The Position is used to determine the current point on that segment in percent. You can also turn on and of whether to use the current tangent as a rotation with the WithDirection boolean. If ConstantVelocity is enabled, the position on the path is calculated such that it is proportional to the Position property change.

Path Matrix

Path Matrix outputs the transformation matrix on the given point. Segment again chooses the used segment for that evaluation and Position determines the exact point on that segment. The Source can be either a Path Loader or a Path Property bound to any other Path Property in the Scene's Logic.

You can then further use the transformation matrix in your scene's logic before applying it somewhere. Additionally the node returns the position as XYZ values.

Ventuz Path File Specification

You can create custom .VPATH files in other software by building a JSON that follows the specifications defined in this chapter.

Ventuz stores 3D paths in a JSON file with .vpath extension. A Ventuz Path consists of one or more segments, each of which is a path of spline curves that can be open or closed.

What's following is a pseudocode description of the used JSON format in a C-link language that should be easy to translate to the language of your choice:

/* 
* VPATH JSON file format (pseudocode), Version 1.0
* Copyright 2019 Ventuz Technology AG
*/

// Top-level JSON structure
struct VPathFile
{
    // this needs to come first for Ventuz to identify the file format
    string @ = "http://ventuz.com/SplinePath/1.0";
   
    PathDef Path;
}

// Each path object consists of a number of independent segments,
// e.g. the inner and outer outline of the letter "A".
struct PathDef
{
    PathSegment[] segments;
}

// Each path segment consists of a number of control points and 
// whether the path is closed (the last point loops back to the first).
struct PathSegment
{
    PathPoint[] points;
    bool isClosed;
}

// Each point consists of a number of attributes
struct PathPoint
{
    // Position of the point. Most important.
    Vector3WithTangents pos;
    
    // "Up" auxiliary vector. Needed to construct a proper matrix from
    // the position and the spline direction. Make sure this is never 
    // collinear with the spline direction, e.g. if your spline is in the XY
    // plane, just use x=0, y=0, z=1 for "up".
    Vector3WithTangents up;
    
    // Point color. X is red, Y green, Z blue and W is alpha. Used in 
    // the Geometry Renderer.
    Vector4WithTangents color;
    
    // Point "size". Can be used in particle systems.
    ValueWithTangents size;
}

// 4-component vector structure
struct Vector4WithTangents
{
    ValueWithTangents x,y,z,w;
}

// 3-component vector structure
struct Vector3WithTangents
{
    ValueWithTangents x,y,z;
}

// Value with tangents, a.k.a explicit derivatives 
struct ValueWithTangents 
{
    // Actual value
    double value;
    
    // "Left" tangent, a.k.a. the derivative of the function towards the preceding point
    // (ignored for first point of open path)
    double tanL; 
    
    // "Right" tangent, a.k.a. the derivative of the function towards the succeeding point
    // (ignored for last point of open path)  
    double tanR;
}

Notes:

  • Non-specified fields will be filled with zeroes
  • Extraneous fields not specified in the file format will be ignored
  • The tangents specify the derivative of the spline function assuming the difference between the points' t is 1.0. If you deal with Bezier control points p0, p1, p2, and p3, convert to two spline points a and b component-wise like this:
    a.value = p0;
    a.tanR = (p1-p0)*3;
    b.tanL = (p2-p3)*3;
    b.value = p3;
    

Likewise, a linear spline segment is best expressed as a.tanR = b-a; b.tanL = a-b; Leaving the tangents at zero will result in a linear but poorly weighted segment affecting the speed along the resulting spline.

See also:
  • Path Renderer
  • Particle System
  • Arrow

« Previous: Camera
» Index «
Next: Cloner »
Copyright 2025 Ventuz Technology