Kinematic mechanism
Skyreal VR can't import Kinematics from CATIA, however you can recreate your kinematics inside Unreal Engine.
Here is an example of a robotic arm on which we will simulate kinematics.
Add PhysicsConstraint component
Select the part on which you want to create the joint and click on Add Component
in the Details tab. Then search PhysicsConstraint
.
Now, be sure the PhysicsConstraint
is selected and scroll to the Constraint tab.
You must select the parts involved in the joint using the pipette.
Define the constraint
Still in the PhysicsConstraint
:
First of all, you must check Disable Collision
in the Constraint Behavior tab.
Then, you must define the degrees of freedom of your joint. The coordinate system associated to the joint is the local coordinate system of the part. You must define the Linear Limits
and Angular Limits
to set the degrees of freedom of the joint.
You can choose between Free, Locked and Limited. Limited lets you choose a distance from the origin of the joint after which the part will be blocked. You can choose only one distance limit for all axis (on both directions).
For the rotation, here is a table that links the angular motion names to the axis.
Angular Motion | Axis |
---|---|
Swing 1 Motion | Z |
Swing 2 Motion | Y |
Twist Motion | X |
Set actor properties
Now select the actor instance. We will set the Physics and Collision parameters.
Set physics settings
You must check Simulate Physics
for every part concerned by kinematics EXCEPT for the root actor!
You can also set Constraints locks that come on the top of the kinematic simulation. It is useful to force the part to keep an orientation in order to get a smoother simulation. For instance, we authorize the arm to rotate only on Z axis to prevent from calculation mistakes.
Set collision settings
You must choose a collision preset which sets the Object type to Dynamic. It is mandatory to get the simulation running.
You have the choice between:
- BlockAllDynamic: The part is selectable.
- Custom -> Physics Only -> WorldDynamic: The part is not selectable. It is useful to avoid the user to move parts of the mechanism.
Tips (sum up)
- Start the mechanism with its root actor and go on recursively.
- Always add the physical constraints in the parent actors (nearest actor from the root actor). This way you can easily know in which actor is stored the constraint.
- Enable
Simulate Physics
for every parts of the mechanism except for the root actor! - Check
Disable Collision
on every physical constraint. - Use constraint locks to stabilize the mechanism.
- Set
BlockAllDynamic
collision settings to the parts of your scene you want to collide with your mechanism. - Do not activate Physics in Skyreal VR ! It would override your settings !