Simulate Actor with Kinematics Properties Using MATLAB
This example shows how to simulate an actor in Unreal Engine® simulation environment by setting kinematics properties using MATLAB®. You build sphere and box actors to animate. To simulate an actor in Unreal Engine® simulation environment by setting kinematics properties using Simulink®, see Simulate Actor with Kinematics Properties Using Simulink.
First, you create a 3D environment using sim3d.World and build the actors using sim3d.Actor classes. Then, you set actor properties to enable mobility and set a view in the scene. Finally, you view the animation in the Simulation 3D Viewer window.
Create 3D Environment
Create a world object.
world = sim3d.World();
Build Actors
Instantiate the actor objects named sphere and box. You can use any name for the actors. Use the createShape function to build sphere and box shapes for the actor objects and specify the size. Add the actor objects to the world.
actor1 = sim3d.Actor(ActorName='sphere'); createShape(actor1,'sphere',[0.5 0.5 0.5]); add(world,actor1); actor2 = sim3d.Actor(ActorName='box'); createShape(actor2,'box',[0.5 0.5 0.5]); add(world,actor2);
Set Movable Actor
Use the sim3d.Actor properties to create a movable actor. Use the kinematics properties LinearVelocity and AngularVelocity to move and rotate the actors ActObj1 and ActObj2, respectively.
actor1.Translation = [1 -2 1]; actor1.Color = [0 1 1]; actor1.Mobility = sim3d.utils.MobilityTypes.Movable; actor1.LinearVelocity = [0 0.5 0]; actor2.Translation = [1 0 -1]; actor2.Color = [1 0 1]; actor2.Mobility = sim3d.utils.MobilityTypes.Movable; actor2.AngularVelocity = [0 0 pi/4];
Set Viewer Window Point of View
If you do not create a viewport, then the default view is set and you can use the keyboard shortcuts and mouse controls to navigate in the Simulation 3D Viewer window.
For this example, use the createViewport function to create a viewport.
viewport = createViewport(world,Translation=[-6 0 0]);
Run Animation
Run a simulation set for 10 seconds with a sample time of 0.02 seconds.
sampletime = 0.02; stoptime = 10; run(world,sampletime,stoptime);

Delete World
Delete the world object.
delete(world)
See Also
sim3d.Actor | sim3d.World | createShape | add | run
Topics
- Simulate Actor with Kinematics Properties Using Simulink
- Simulate Actors with Kinetics Properties Using MATLAB
- Simulate Actors with Dissipative Properties Using MATLAB
- Simulate Actor Movement Using MATLAB
- Create 3D Simulations in Unreal Engine Environment
- Unreal Engine Simulation Environment Requirements and Limitations