Navigation

Ventuz 6 Quick Guide

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Designer Overview
  • Ventuz System Requirements
  • Configuration
  • Video/Audio Configuration
  • Machine Configuration
  • GPI Configuration for Runtime or Director
  • Optimize Rendering Performance
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • What's new
  • FAQ
  • Common Mistakes
  • Deployment
  • Migration Guide
  • Ventuz 5 Migration Guide
  • Summary Shortcuts

Ventuz 6 Designer

  • Index
  • Getting Started
  • Designer Options
  • Designer Overview
Projects & Scenes
  • Projects and Scenes
  • Project Browser
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Tree
  • Scene Management
  • Scene Statistics
  • Deployment
Interface
  • Designer Interface
  • Renderer Window
  • Realtime Rendering
  • Optimize Scene Performance
  • Performance Statistics
  • Transformation Gizmo
  • Render to Disk
  • Camera Navigation
  • Isolated Objects
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Layer Editor Shortcuts
  • Hierarchy Editor
  • Working with Nodes
  • Containers
  • Find and Replace
  • Shortcuts Hierarchy Editor
  • Content Editor
  • Working with Nodes
  • Containers
  • Content Editor Shortcuts
  • Toolbox
  • Property Editor
  • Project Data and Scene Data
  • Property Groups
  • Shader Editor
  • Text Editor
  • Scene Tree
  • Message View
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Animation Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Shortcuts Animation Editor
  • Text Rendering
  • Text Editor
  • Character Sets
  • Geometry Import
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • How to work with Head Mounted Displays
  • Cluster
  • Multi Display Setups and Shaping
  • Warping, Soft Edging and Masking
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes

Ventuz 6 Node Reference

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
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
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
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
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

Ventuz 6 Configuration Editor

  • Configuration
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Supported Hardware
  • How to Setup a Cluster Render

Ventuz 6 Director

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

How To

  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop workflow
  • How to use Head Mounted Displays
  • How to work with Shadows
  • How to use Emoijs
  • How to Build a Template
  • How to use Newtek NDI
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to Setup a Cluster Render
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • 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 setup Spout with Ventuz
  • How to use the Substance Integration

Keyboard Shortcuts

  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Advanced and Development

  • Command Line Options
  • Remoting Overview
  • Remoting 4
  • Remoting 4 via Websockets
  • Deprecated Remoting
  • Ventuz IP Ports
  • Ventuz Machine Service
  • Remoting Machine Signature
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API

General Reference

  • Terminology
  • Manual Index

Miscellaneous

  • Presets
« Previous Article
» Index «
Next Article »

Touch Ripples

Touch Ripples Ripples are used to visualize touch positions regardless of the gestures a touch my trigger.

The Touch Ripple node serves too purposes in one: Its primary use is to give the user visual feedback which touches have been registered by Ventuz and where they are. A typical effect is to have outward moving lines (hence the name ripples) or some form of glow effect appear underneath the users fingers. Especially for non-direct surface tracking (e.g. laser scanners in front of a project wall) where the user does not actually touch the surface, giving a visual feedback of the vicinity the user is touching in can improve usability.

Visualization of Touches

The Touch Ripples node works in a fashion similar to the Ticker node. The number of touches to be tracked can be adjusted by the buttons at the bottom of the Hierarchy Editor. For each touch, an additional output branch is created in the scene hierarchy.

The hierarchy nodes behind an output are considered a re-usable element that visualizes a single touch. For example, when dragging a Touch Ripples node into the Hierarchy Editor, by default 5 outputs are created and each is connected to its own Container. When a new touch appears, the Touch Ripples node assigns one of the yet unused outputs to that touch and updates its world matrix to match the position of the touch on screen.

Similar to the Touch Translation, Rotation & Transformation nodes, a touch's position is mapped to the virtual X/Y-plane of the Touch Ripples node itself. Rotating the Touch Ripples node will therefore also rotate the plane in which the ripples lie.

Although the position of a ripple is therefore done under the hood, its visibility is up to the user. In general, one wants to connect the Touch#IsActive output property (where # represent the number of the output) to the respective content behind the Touch Ripples node and have the content change its visibility accordingly. The default content for example fades in a ripple when the flag is enabled and fades it out when it becomes deactivated again. Otherwise ripples would be visible even after a touch has left the surface.

Raw Touch Information

Besides the IsActive property, each output contains further properties that give detailed information about a touch:

  • IsActive: Is the output currently used (i.e. "is the touch on the surface?").
  • X: The X coordinate of the touch, only meaningful when the touch is active.
  • Y: The Y coordinate of the touch, only meaningful when the touch is active.
  • Pressure: A value between -1 and 0 represents a touch hovering above the surface and a value greater than 0 a touch that is on the surface.

Very few touch devices actually transmit a pressure value. The virtual touch generated by Ventuz when moving the mouse above the render output is one example. Although no mouse button is pressed, a mouse-touch will set its IsActive property to true as soon as it enters the render area. However, its pressure will be -1 (hovering) until the user presses the left mouse button and the pressure becomes 1 (fully pressed).

For marker objects (uniquely identifiable objects as opposed to generic fingers), two further properties are filled with meaningful values:

  • MarkerID: A string representing the object's ID as generated by the tracking system. Check your touch device for further information. If this property is empty, the touch is not a marker but a normal touch (e.g. a finger touching the screen).
  • Angle: The rotation of the marker on the surface in degrees.

While those properties can be used to refine the visualization of ripples, their main purpose is for customized touch-handling. For example, a user might choose to ignore all Ventuz interaction nodes and instead bind the output properties to a custom script and create completely new gestures.

Configuration

A couple of input properties are available to change the behavior of the Touch Ripples node:

  • CoordinateSystem: Activating the Local flag changes the coordinates to be mapped to the render area of the current machine instead of a complete cluster output. The Pixel flag changes the X/Y output values to be in pixel instead of lying in the 0 to 1 interval.
  • RecylingMode: By default, the First unassigned output is used when a new touch is detected. This is the usually preferred behavior when attaching some custom logic to the Touch Ripples node output. However, it can lead to problems when a touch leaves and a new one enters before the ripple visualization finishes its out animation. The result is that the old touch does not fade out but suddenly disappears as the output's content is re-used. By switching this property to Cycle, not the first but the next available output is used, preventing one touch from stealing another's visualization as long as the number of outputs is high enough.
  • TouchTypes: By default, the Touch Ripples node only tracks ordinary touches (i.e. fingers) and not markers. This output can be used to also track marker objects.
  • TrackingMode: Ripples usually appear for all touches, regardless of whether they hit a button or activate another gesture. However, especially for remoting other applications or using scripts, it can be interesting to just track touches that are not used by any of Ventuz's interaction node. This can be achieved by setting this property to Non Captured.

See also:
  • Multi Touch

« Previous Article
» Index «
Next Article »
Copyright 2020 Ventuz Technology