codeAPI Reference
Sandbox.PhysicsWorld
Sandbox.PhysicsWorld
Access to the physics simulation.
Overview
PhysicsWorld provides access to the physics simulation, including gravity, time step, and broad queries.
Access
CSHARP
// From scene
PhysicsWorld physics = Scene.PhysicsWorld;Gravity
CSHARP
// Get/set gravity
Vector3 gravity = physics.Gravity;
physics.Gravity = new Vector3(0, 0, -800);Time Step
CSHARP
// Physics simulation rate
float step = physics.TimeStep; // Usually 0.02 (50Hz)Bodies
CSHARP
// All physics bodies
foreach (var body in physics.Bodies)
{
Log.Info($"Body: {body.GameObject}");
}Queries
CSHARP
// AABB query
var inBox = physics.GetBodiesInBox(box);
// Sphere query
var inSphere = physics.GetBodiesInSphere(center, radius);
// Raycast (use Scene.Trace for this)Layers
CSHARP
// Layer mask for queries
int mask = physics.GetLayerMask("solid", "debris");Simulation
CSHARP
// Pause physics
physics.SimulationEnabled = false;
// Resume
physics.SimulationEnabled = true;Events
CSHARP
// Global collision events
physics.OnCollisionStart += (body1, body2, collision) =>
{
Log.Info($"Collision: {body1} vs {body2}");
};
Was this helpful?