Main Content

Interact with Virtual Reality Worlds

Create and interact with MATLAB® virtual world objects, input virtual world data to Simulink® models

You can use MATLAB functions and classes to interact with virtual reality worlds. Create a virtual world object (vrobject) and node objects (vrnode) to represent a virtual world that you create with Simulink 3D Animation™. Change and control the degrees of freedom for the virtual world from within the MATLAB environment by setting values for the available virtual world nodes and their fields using vrnode object methods.

Virtual reality scenes can contain sensors, which are nodes that generate events and output values depending on time, navigation, and actions and distance changes in the scene. These nodes add interactivity to the virtual world. You can use Simulink 3D Animation functions to read sensor field values into simulation models and control simulation based on the user interaction with the virtual scene. You can write an S-function or a MATLAB Function block that reads the sensor output.

Functions

expand all

vrworld(To be removed) Create new vrworld object associated with virtual world
vrdrawnow(To be removed) Update virtual world
vrnode(To be removed) Create node or handle to existing node
vr.canvas(To be removed) Create virtual reality canvas
vrclear(To be removed) Remove all closed virtual worlds from memory
vrwho(To be removed) List virtual worlds in memory
vrwhos(To be removed) List details about virtual worlds in memory
vrfigure(To be removed) Create virtual reality figure
capture(To be removed) Capture virtual reality figure image
close(To be removed) Close virtual reality figure
get(To be removed) Return property value of vrfigure object
isvalid(To be removed) Check validity of vrfigure object handles
set(To be removed) Set property values of vrfigure object
vrgcf(To be removed) Handle for active virtual reality figure
vrgcbf(To be removed) Current callback vrfigure object
vrclose(To be removed) Close virtual reality figure windows
vr.utils.stereo3d(To be removed) Stereoscopic vision settings for vr.canvas and vr.figure objects
vrdir2ori(To be removed) Convert viewpoint direction to orientation
vrori2dir(To be removed) Convert viewpoint orientation to direction
vrrotvec(To be removed) Calculate rotation between two vectors
vrrotmat2vec(To be removed) Convert rotation from matrix to axis-angle representation
vrrotvec2mat(To be removed) Convert rotation from axis-angle to matrix representation
vrifs2patch(To be removed) Convert virtual world IndexedFaceSet nodes to MATLAB patches
vrpatch2ifs(To be removed) Convert MATLAB patches to IndexedFaceSet nodes
vrjoystick(To be removed) Create joystick object
vrspacemouse(To be removed) Create space mouse object

Blocks

VR Source (To be removed) Read data from virtual world to Simulink model

MATLAB Interaction

Create vrworld Object for a Virtual World

Connect MATLAB to a virtual world and interact with that virtual world through the MATLAB command-line interface by creating vrworld and vrnode objects.

Open a Virtual World with MATLAB

Open a virtual world to view the virtual world in a virtual world viewer, scan its structure, and change virtual world properties from the MATLAB Command Window.

Interact with a Virtual World with MATLAB

Interact with virtual world by using vrnode object methods to set vrworld object property values for all the available virtual world nodes and their fields.

Close and Delete a vrworld Object

Close virtual worlds and remove them from memory.

Virtual World Data Types

Explore the data types used by nodes for defining objects and the types of data that can appear in the node fields and events.

VRML Sensor Input to Models

Use Sensors

Move or modify virtual world objects during simulation based on user input from the virtual world or events in the virtual world.

Modify Remote Virtual World via Sensor Events

Interactive mode allows clients to modify a remote virtual world via events from sensor nodes defined in the virtual world.

Detect Object Collisions

Use collision detection to avoid having two objects collide, or to trigger a change in virtual world object behavior or display.