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
Related 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