Skip to main content

โšกActions

This section lists all available Actions in MakeIt3D. Use these in Construct 3 Event Sheets to create and control 3D elements.

Worldโ€‹

๐ŸŒ

Initialize Rapier Physics

world

Initialize the Rapier physics engine to enable physics simulation in your 3D scene.

Example:

MakeIt3D.InitRapierPhysics()
Action
๐ŸŒ

Update Physics Step

world

Update the physics engine simulation to keep everything synchronized with the frame rate.

Parameters

deltaTime
Time elapsed since last frame update.

Example:

MakeIt3D.UpdatePhysicsStep(dt)
Action
๐ŸŒ

Change Gravity

world

Modify the physics world's gravity settings and optionally wake sleeping objects to apply changes immediately.

Parameters

x
Gravity force along X axis.
y
Gravity force along Y axis.
z
Gravity force along Z axis.
wakeSleeping
Whether to wake sleeping bodies (true/false).

Example:

MakeIt3D.ChangeGravity(0, -9.81, 0, true)
Action
๐ŸŒ

Set Object Gravity Scale

world

Set a multiplier for how much gravity affects a specific rigidbody object.

Parameters

objectId
ID of the rigidbody to modify gravity for.
gravityScale
Gravity multiplier (1.0 = normal, 0 = no gravity, 2.0 = double gravity).

Example:

MakeIt3D.SetGravityScale('feather1', 0.1)
Action

Transformationsโ€‹

๐Ÿ”„

Set Object Position

transforms

Directly set the position of a rigidbody. Best used with kinematic objects to avoid unrealistic teleporting.

Parameters

objectId
ID of the rigidbody object to move.
x
X coordinate of the new position.
y
Y coordinate of the new position.
z
Z coordinate of the new position.

Example:

MakeIt3D.SetPosition('player1', 10, 5, -3)
Action
๐Ÿ”„

Set Object Rotation

transforms

Directly set the rotation of a rigidbody. Best used with kinematic objects to avoid unrealistic teleporting.

Parameters

objectId
ID of the rigidbody object to rotate.
x
X rotation in degrees.
y
Y rotation in degrees.
z
Z rotation in degrees.

Example:

MakeIt3D.SetRotation('platform1', 0, 45, 0)
Action

Raycastโ€‹

๐ŸŽฏ

Camera to Screen Raycast

raycast

Cast a ray from the camera through screen coordinates to detect objects in 3D space.

Parameters

x
X coordinate on screen viewport.
y
Y coordinate on screen viewport.
rayLength?
Maximum distance of the ray (default: 1000).
getNormal?
Whether to return surface normal at hit point.

Example:

MakeIt3D.CameraToScreenRay(400, 300, 1000, true)
Action
๐ŸŽฏ

Object to Directional Raycast

raycast

Cast a ray from an object's position in a specified local direction, updating with object movement.

Parameters

objectId
ID of object to cast ray from.
direction
Ray direction as Vector3 (e.g., Vector3(0,0,-1) for forward).
rayLength?
Maximum distance of the ray (default: 1000).
debug?
Whether to draw a debug line showing the ray.

Example:

MakeIt3D.ObjectToDirectionalRay('player1', Vector3(0,-1,0), 2, true)
Action
๐ŸŽฏ

Origin to Directional Raycast

raycast

Cast a ray from any world position in a specified direction for general-purpose collision detection.

Parameters

origin
Starting position as Vector3.
direction
Ray direction as Vector3.
rayLength?
Maximum distance of the ray (default: 1000).
debug?
Whether to draw a debug line showing the ray.

Example:

MakeIt3D.OriginToDirectionalRay(Vector3(0,10,0), Vector3(0,-1,0), 50, false)
Action
๐ŸŽฏ

Set Ignore Raycast

raycast

Configure whether raycast operations should ignore specific objects and pass through them.

Parameters

objectId
ID of object(s) to configure raycast behavior for.
ignore
Whether to ignore this object in raycasts (true/false).

Example:

MakeIt3D.IgnoreRaycast('glass_window', true)
Action

Jointsโ€‹

๐Ÿ”—

Create Fixed Joint

joints

Create a rigid connection between two rigidbodies that prevents all relative motion.

Parameters

objectIdA
ID of the first rigidbody to connect.
objectIdB
ID of the second rigidbody to connect.
jointId
Unique identifier for this joint connection.

Example:

MakeIt3D.CreateFixedJoint('car_body', 'car_wheel', 'wheel_joint_1')
Action
๐Ÿ”—

Create Revolute Joint

joints

Create a hinge joint that allows rotation around a specified axis between two rigidbodies.

Parameters

objectIdA
ID of the first rigidbody to connect.
objectIdB
ID of the second rigidbody to connect.
jointId
Unique identifier for this joint connection.
anchorA
Local anchor point on first object as Vector3.
anchorB
Local anchor point on second object as Vector3.
axis
Rotation axis as normalized Vector3.

Example:

MakeIt3D.CreateRevoluteJoint('door', 'frame', 'door_hinge', Vector3(0,0,0), Vector3(0,0,0), Vector3(0,1,0))
Action
๐Ÿ”—

Create Spherical Joint

joints

Create a ball joint that allows rotation in all directions between two rigidbodies.

Parameters

objectIdA
ID of the first rigidbody to connect.
objectIdB
ID of the second rigidbody to connect.
jointId
Unique identifier for this joint connection.
anchorA
Local anchor point on first object as Vector3.
anchorB
Local anchor point on second object as Vector3.

Example:

MakeIt3D.CreateSphericalJoint('shoulder', 'arm', 'shoulder_joint', Vector3(0,0,0), Vector3(0,0,0))
Action
๐Ÿ”—

Create Prismatic Joint

joints

Create a sliding joint that allows linear movement along a specified axis with optional distance limits.

Parameters

objectIdA
ID of the first rigidbody to connect.
objectIdB
ID of the second rigidbody to connect.
jointId
Unique identifier for this joint connection.
anchorA
Local anchor point on first object as Vector3.
anchorB
Local anchor point on second object as Vector3.
axis
Sliding axis as Vector3.
minLimit
Minimum sliding distance (can be negative).
maxLimit
Maximum sliding distance.

Example:

MakeIt3D.CreatePrismaticJoint('piston', 'cylinder', 'piston_joint', Vector3(0,0,0), Vector3(0,0,0), Vector3(0,1,0), -2, 2)
Action
๐Ÿ”—

Remove Joint

joints

Remove an existing joint connection from the physics world using its unique identifier.

Parameters

jointId
Unique identifier of the joint to remove.

Example:

MakeIt3D.RemoveJoint('door_hinge')
Action
๐Ÿ”—

Set Joint Motor Position

joints

Drive a joint towards a specific target position using a spring-damper system.

Parameters

jointId
Unique identifier of the joint to control.
targetPosition
Target position/angle for the joint.
stiffness
Spring strength of the motor control.
damping
Oscillation resistance of the motor.

Example:

MakeIt3D.SetJointMotorPosition('servo_joint', 1.57, 1000, 50)
Action
๐Ÿ”—

Set Joint Motor Velocity

joints

Drive a joint at a constant target velocity, ignoring position control.

Parameters

jointId
Unique identifier of the joint to control.
targetVelocity
Desired velocity for the joint movement.
damping
Oscillation resistance of the motor.

Example:

MakeIt3D.SetJointMotorVelocity('wheel_motor', 10, 20)
Action
๐Ÿ”—

Set Joint Motor Advanced

joints

Advanced motor control combining both position and velocity using spring-like behavior.

Parameters

jointId
Unique identifier of the joint to control.
targetPosition
Target position for the joint.
targetVelocity
Target velocity for the joint.
stiffness
Spring strength coefficient.
damping
Damping coefficient for stability.

Example:

MakeIt3D.SetJointMotor('advanced_servo', 0.5, 2.0, 800, 40)
Action
๐Ÿ”—

Set Joint Motor Model

joints

Configure the underlying motor control algorithm for a joint (force-based or acceleration-based).

Parameters

jointId
Unique identifier of the joint to configure.
model
Motor model type: 'force' or 'acceleration'.

Example:

MakeIt3D.SetJointMotorModel('precise_joint', 'acceleration')
Action
๐Ÿ”—

Set Joint Motor Max Impulse

joints

Limit the maximum force or torque that a joint motor can apply for safety or realism.

Parameters

jointId
Unique identifier of the joint to limit.
maxImpulse
Maximum impulse (force/torque) the motor can apply.

Example:

MakeIt3D.SetJointMotorMaxImpulse('safety_joint', 500)
Action

Objects (Rigidbody)โ€‹

๐Ÿ“ฆ

Add Plane RigidBody

objects

Add an infinite plane rigidbody to the scene with physics properties and visual appearance.

Parameters

objectId
Unique identifier for the plane object.
type
Rigidbody type: static, dynamic, or kinematic.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
tag?
Tag for later identification.

Example:

MakeIt3D.AddPlane('ground', 'static', 1.0, 0.1, 0.1, 0.8, 0.0, Vector3(0,-5,0), Vector3(0,0,0), rgbEx(100,100,100), Vector3(1,1,1), 'floor')
Action
๐Ÿ“ฆ

Add Cube RigidBody

objects

Add a cube-shaped rigidbody to the scene with full physics simulation capabilities.

Parameters

objectId
Unique identifier for the cube object.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
tag?
Tag for later identification.

Example:

MakeIt3D.AddCube('box1', 'dynamic', 1.0, 0.1, 0.1, 0.7, 0.3, Vector3(0,10,0), Vector3(0,0,0), rgbEx(255,0,0), Vector3(1,1,1), 'redbox')
Action
๐Ÿ“ฆ

Add Sphere RigidBody

objects

Add a spherical rigidbody to the scene with realistic physics behavior.

Parameters

objectId
Unique identifier for the sphere object.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
tag?
Tag for later identification.

Example:

MakeIt3D.AddSphere('ball1', 'dynamic', 1.0, 0.05, 0.05, 0.6, 0.8, Vector3(0,15,0), Vector3(0,0,0), rgbEx(0,255,0), Vector3(1,1,1), 'greenball')
Action
๐Ÿ“ฆ

Add Cylinder RigidBody

objects

Add a cylindrical rigidbody to the scene for creating pillars, barrels, or rolling objects.

Parameters

objectId
Unique identifier for the cylinder object.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
tag?
Tag for later identification.

Example:

MakeIt3D.AddCylinder('barrel1', 'dynamic', 1.2, 0.1, 0.1, 0.8, 0.2, Vector3(5,8,0), Vector3(0,0,0), rgbEx(139,69,19), Vector3(1,2,1), 'barrel')
Action
๐Ÿ“ฆ

Add Cone RigidBody

objects

Add a cone-shaped rigidbody to the scene for creating pointed objects or markers.

Parameters

objectId
Unique identifier for the cone object.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
tag?
Tag for later identification.

Example:

MakeIt3D.AddCone('cone1', 'dynamic', 1.0, 0.1, 0.1, 0.7, 0.3, Vector3(-5,8,0), Vector3(0,0,0), rgbEx(255,165,0), Vector3(1,1,1), 'cone')
Action
๐Ÿ“ฆ

Add Capsule RigidBody

objects

Add a capsule (pill-shaped) rigidbody to the scene, ideal for character controllers or rounded objects.

Parameters

objectId
Unique identifier for the capsule object.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
position?
World position using Vector3(x,y,z).
rotation?
World rotation using Vector3(x,y,z).
color?
RGB color using rgbEx(r,g,b).
scale?
Object scale using Vector3(x,y,z).
radius
Radius of the capsule's rounded ends.
length
Length of the capsule's cylindrical body.
tag?
Tag for later identification.

Example:

MakeIt3D.AddCapsule('player1', 'kinematic-position', 1.0, 0.2, 0.2, 0.5, 0.1, Vector3(0,5,0), Vector3(0,0,0), rgbEx(0,0,255), Vector3(1,1,1), 0.5, 2.0, 'player')
Action
๐Ÿ“ฆ

Attach RigidBody to Object

objects

Convert an existing 3D object into a physics-enabled rigidbody with collision detection.

Parameters

objectId
ID of the existing 3D object to make physical.
type
Rigidbody type: static, dynamic, kinematic-position, or kinematic-velocity.
colliderType
Collision shape: guess_shape, plane, cube, sphere, capsule, cylinder, cone.
density?
Mass per unit volume of the object.
linearDamping?
Air resistance affecting linear velocity.
angularDamping?
Rotational friction affecting spin.
friction?
Surface friction to prevent sliding.
restitution?
Bounciness (0 = no bounce, 1 = perfect bounce).
tag?
Tag for later identification.

Example:

MakeIt3D.AttachRigidBodyToObject('myModel', 'dynamic', 'guess_shape', 1.0, 0.1, 0.1, 0.7, 0.3, 'physicsobject')
Action

Forces & Tourquesโ€‹

๐Ÿ’ช

Apply Force

forces

Apply continuous force to a rigidbody. Force persists until reset, ideal for propulsion or wind effects.

Parameters

objectId
ID of the rigidbody to apply force to.
x
Force magnitude in X direction.
y
Force magnitude in Y direction.
z
Force magnitude in Z direction.

Example:

MakeIt3D.ApplyForce('rocket1', 0, 100, 0)
Action
๐Ÿ’ช

Apply Force at Point

forces

Apply continuous force at a specific point on the rigidbody, creating both linear and rotational motion.

Parameters

objectId
ID of the rigidbody to apply force to.
x
Force magnitude in X direction.
y
Force magnitude in Y direction.
z
Force magnitude in Z direction.
pointX
X coordinate of force application point.
pointY
Y coordinate of force application point.
pointZ
Z coordinate of force application point.

Example:

MakeIt3D.ApplyForceAtPoint('car1', 50, 0, 0, 0, -1, 2)
Action
๐Ÿ’ช

Apply Impulse

forces

Apply an instant burst of force to a rigidbody, ideal for jumps, explosions, or one-time pushes.

Parameters

objectId
ID of the rigidbody to apply impulse to.
x
Impulse magnitude in X direction.
y
Impulse magnitude in Y direction.
z
Impulse magnitude in Z direction.

Example:

MakeIt3D.ApplyImpulse('ball1', 0, 500, 0)
Action
๐Ÿ’ช

Apply Impulse Toward Point

forces

Apply an impulse that pushes the rigidbody toward or away from a specific world position.

Parameters

objectId
ID of the rigidbody to apply impulse to.
pointX
X coordinate of target point.
pointY
Y coordinate of target point.
pointZ
Z coordinate of target point.
strength
Strength of the impulse (negative values repel).

Example:

MakeIt3D.ApplyImpulseTowardPoint('asteroid1', 0, 0, 0, -200)
Action
๐Ÿ’ช

Apply Impulse at Point

forces

Apply an instant impulse at a specific point on the rigidbody for realistic impact simulation.

Parameters

objectId
ID of the rigidbody to apply impulse to.
x
Impulse magnitude in X direction.
y
Impulse magnitude in Y direction.
z
Impulse magnitude in Z direction.
pointX
X coordinate of impulse application point.
pointY
Y coordinate of impulse application point.
pointZ
Z coordinate of impulse application point.

Example:

MakeIt3D.ApplyImpulseAtPoint('crate1', 100, 0, 0, 0, 1, 0)
Action
๐ŸŒ€

Apply Torque

torques

Apply continuous rotational force to a rigidbody. Torque persists until reset, ideal for motors or spinning effects.

Parameters

objectId
ID of the rigidbody to apply torque to.
x
Torque around X axis.
y
Torque around Y axis.
z
Torque around Z axis.

Example:

MakeIt3D.ApplyTorque('wheel1', 0, 0, 50)
Action
๐ŸŒ€

Apply Torque at Point

torques

Apply continuous rotational force at a specific point on the rigidbody for complex rotational effects.

Parameters

objectId
ID of the rigidbody to apply torque to.
x
Torque around X axis.
y
Torque around Y axis.
z
Torque around Z axis.
pointX
X coordinate of torque application point.
pointY
Y coordinate of torque application point.
pointZ
Z coordinate of torque application point.

Example:

MakeIt3D.ApplyTorqueAtPoint('propeller1', 0, 100, 0, 0, 0, 2)
Action
๐ŸŒ€

Apply Torque Impulse

torques

Apply an instant burst of rotational force to a rigidbody for sudden spinning motion.

Parameters

objectId
ID of the rigidbody to apply torque impulse to.
x
Torque impulse around X axis.
y
Torque impulse around Y axis.
z
Torque impulse around Z axis.

Example:

MakeIt3D.ApplyTorqueImpulse('dice1', 50, 100, 75)
Action
๐Ÿ’ช

Reset Force

forces

Stop all continuous forces currently being applied to a rigidbody.

Parameters

objectId
ID of the rigidbody to reset forces for.

Example:

MakeIt3D.ResetForce('rocket1')
Action
๐ŸŒ€

Reset Torque

torques

Stop all continuous torques currently being applied to a rigidbody.

Parameters

objectId
ID of the rigidbody to reset torques for.

Example:

MakeIt3D.ResetTorque('motor1')
Action

Collions & Triggersโ€‹

๐Ÿ’ฅ

Enable Collision Events

collision

Enable physical collision detection events for an object to receive OnCollisionEnter and OnCollisionExit callbacks.

Parameters

objectId
ID of the object to enable collision events for.

Example:

MakeIt3D.EnableCollisionEvents('player1')
Action
๐Ÿ’ฅ

Enable Trigger Events

collision

Enable non-physical trigger events for an object to receive OnTriggerEnter and OnTriggerExit callbacks.

Parameters

objectId
ID of the object to enable trigger events for.

Example:

MakeIt3D.EnableTriggerEvents('checkpoint1')
Action
๐Ÿ’ฅ

Disable Collision Events

collision

Disable physical collision event detection for an object to stop receiving collision callbacks.

Parameters

objectId
ID of the object to disable collision events for.

Example:

MakeIt3D.DisableCollisionEvents('wall1')
Action
๐Ÿ’ฅ

Disable Trigger Events

collision

Disable non-physical trigger event detection for an object to stop receiving trigger callbacks.

Parameters

objectId
ID of the object to disable trigger events for.

Example:

MakeIt3D.DisableTriggerEvents('powerup1')
Action
๐Ÿ’ฅ

Enable Contact Force Events

collision

Enable contact force event detection to receive detailed collision force information when impacts exceed the threshold.

Parameters

objectId
ID of the object to enable contact force events for.
threshold
Minimum force magnitude to trigger events (in Newtons).

Example:

MakeIt3D.EnableContactForceEvents('car1', 500)
Action

Continue with other sections...โ€‹

You can organize the rest of your actions (Lights, Materials, Animation, Utils) in the same professional card format!