Simulink 3D Animation

Visualize dynamic system behavior in a virtual reality environment

 

Simulink 3D Animation™ links Simulink® models and MATLAB® algorithms to 3D graphics objects in virtual reality scenes. You can animate a virtual world by changing position, rotation, scale, and other object properties during desktop or real-time simulation. You can also sense collisions and other events in the virtual world and feed them back into your MATLAB and Simulink algorithms. Video from virtual cameras can be streamed to Simulink for further processing.

Simulink 3D Animation includes editors and viewers for rendering and interacting with virtual scenes. With the 3D World Editor, you can import CAD and URDF file formats as well as author detailed scenes assembled from 3D objects. The 3D world can be viewed immersively using stereoscopic vision. You can incorporate multiple 3D scene views inside MATLAB figures, and interact with the virtual world using a force-feedback joystick, space mouse, or other hardware device. Simulink 3D Animation supports X3D, an ISO standard file format and run-time architecture for representing and communicating with 3D scenes and objects.

Get Started:

Authoring 3D Worlds

Author and Import virtual reality worlds using the 3D World Editor.

Building 3D Worlds

The 3D World Editor offers a hierarchical view of VRML objects that make up the virtual world. It contains object, texture, transform, and material libraries that are stored locally for easy access.

3D World Editor showing a hierarchical, tree-style view (left) and scene preview (right) of lunar module components.

Using 3D Content from the Web

You can build 3D worlds with several 3D authoring tools and export them to the X3D or VRML97 format for use with Simulink 3D Animation. In addition, you can download 3D content from the web and use it to assemble detailed 3D scenes.

Drone imported from a Paint 3D library, saved as an FBX file, and loaded into a 3D world.

Importing CAD Models

3D World Editor lets you manipulate 3D objects imported from most CAD packages for developing detailed 3D worlds that animate dynamic systems modeled in Simscape Multibody™Robotics System Toolbox™, and Aerospace Blockset™. Simulink 3D Animation enables you to process X3D and VRML files created by CAD tools such as SolidWorks® and PTC Creo™. You can also import CAD models from STL, FBX, DAE COLLADA, URDF, and SDF file formats into the 3D World Editor.

Explore gallery (2 images).

Viewing Worlds

View, zoom, pan, and move in your virtual worlds, including in stereoscopic vision.

VRML Viewers

Simulink 3D Animation includes viewers that let you navigate the virtual world by zooming, panning, moving sideways, and rotating about points of interest known as viewpoints. Establish viewpoints to emphasize areas of interest, guide visitors, or observe an object in motion from different positions. During simulation, you can switch between these viewpoints.

Visualization of a minidrone flight path.

Building User Interfaces Containing 3D Worlds

The Simulink 3D Animation Viewer integrates with MATLAB figures so that you can combine virtual scenes with MATLAB Handle Graphics® and multiple views of one or more virtual worlds.

Example of a graphical interface authored with MATLAB Handle Graphics.

Remote Viewing of 3D Worlds in a Web Browser

The Simulink 3D Animation Web Viewer works with web browsers to display virtual worlds on computers, phones, and tablets. You can open a virtual world on your computer then view it remotely in a web browser on a mobile device or a computer even if it does not have Simulink 3D Animation installed.

3D animation of a Foucault pendulum in an HTML5-enabled browser.

Interacting with Worlds

Use bidirectional MATLAB and Simulink interfaces to 3D worlds for programmatic access, user interaction, and virtual prototyping with 3D input devices.

MATLAB Interface to 3D Worlds

From MATLAB, you can read and change the positions and other properties of VRML objects, read signals from VRML sensors, create callbacks from graphical tools, record animations, and map data onto 3D objects. Use MATLAB Compiler™ to generate standalone applications that include Simulink 3D Animation functionality.

3D scene object properties programmatically accessed using MATLAB.

Simulink Interface to 3D Worlds

From Simulink, control the position, rotation, and size of a virtual object in a scene to visualize its motion and deformation. During simulation, object properties in the scene can also be read into Simulink. You can adjust views relative to objects and display Simulink signals as text in the virtual world. 2D outputs of synthetic cameras defined in the virtual world can be streamed into Simulink for video processing. You can also trace the 3D trajectory of an object in the associated virtual scene.

Simulation of vehicle dynamics. 2D output of a synthetic camera attached to the car is processed using a video processing algorithm and displayed in a video viewer window.

3D Input Devices

Simulink 3D Animation provides Simulink blocks and MATLAB objects that enable you to use hardware input devices (including 3D mice and force-feedback joysticks) to manipulate objects in virtual worlds. These can also be used to drive any Simulink block or control MATLAB based algorithms.

Model in which a space mouse is used to control a manipulator in the virtual scene. The device provides to Simulink information about translation and rotation of its controller cap and status of its buttons.

Detecting Collisions in 3D Worlds

Use collision data as inputs to your MATLAB and Simulink algorithms.

Collision Detection

Simulink 3D Animation lets you detect collisions of point clouds, ray fans, and primitive geometries with surrounding virtual reality objects. You can model ultrasonic, LIDAR, and touch sensors.

3D world of a wheeled robot with LIDAR sensor. Green lines show distance to collision with surrounding objects.

Recording and Sharing Animations

Record scene data and share your work.

Recording Scene Data

Simulink 3D Animation enables you to create frame snapshots (captures) of a virtual scene or record animations as video files. You can schedule and configure recordings of animation data into AVI 2D video files and 3D animation X3D files for future playback. 3D Animation files let you inspect recorded animations with full virtual reality viewing experience — observe scenes from different viewpoints and use stereoscopic vision.

Simulating two sets of vehicle dynamics data in the same scene.

Visualizing Real-Time Simulations

Visualize real-time simulations and connect with input hardware.

Animations for Real-Time Applications

Use C code generated from Simulink models with Simulink Coder™ to drive animations. Enhance your hardware-in-the-loop simulations or rapid prototyping applications on Simulink Real-Time™ and Simulink Desktop Real-Time™ by providing a visual animation of your dynamic system model as it connects with real-time hardware.

Components of a Simulink Real-Time testing environment that includes Simulink 3D Animation for rapid prototyping and hardware-in-the-loop simulation.

Latest Features

Full X3D support

X3D (Extensible 3D), the current ISO standard for representing 3D scenes, is now the Simulink 3D Animation default format

Strings

VR Sink and VR Source blocks support string data types

PROTO editing

Work with PROTO definitions directly in the 3D World Editor

Collision detection

Collision sensor nodes allow simulation of LIDARs, distance and touch sensors

Offscreen video rendering

Stream the VR to Video block without the need to keep the viewer window open during simulation

FBX file Import

Load FBX files as nodes in virtual reality worlds

See release notes for details on any of these features and corresponding functions.