public sealed class Sandbox.PhysicsWorld
A world in which physics objects exist. You can create your own world but you really don't need to. A world for the map is created clientside and serverside automatically.
Related Guides
Broader workflow and conceptual references connected to this API.
Constructors
Showing 1 constructors
public PhysicsWorld()
Create a new physics world. You should only do this if you want to simulate an extra world for some reason.
No results match this filter.
Methods
Showing 11 methods
public void DebugDraw()
Updates all the SceneObjects in the `Sandbox.PhysicsWorld.DebugSceneWorld`, call once per tick or frame.
public void Delete()
Delete this world and all objects inside. Will throw an exception if you try to delete a world that you didn't manually create.
public Sandbox.Physics.CollisionRules.Result GetCollisionRule(string left, string right)
Gets the specific collision rule for a pair of tags.
public Sandbox.PhysicsTraceResult RunTrace(Sandbox.PhysicsTraceBuilder trace)
Like calling PhysicsTraceBuilder.Run, except will re-target this world if it's not already the target
public Sandbox.PhysicsTraceResult[] RunTraceAll(Sandbox.PhysicsTraceBuilder trace)
Like calling PhysicsTraceBuilder.RunAll, except will re-target this world if it's not already the target
public void SetCollisionRules(Sandbox.Physics.CollisionRules rules)Obsolete
Used internally to set collision rules from gamemode's project settings. You shouldn't need to call this yourself.
Obsolete: Use CollisionRules Property
No results match this filter.
Properties
Showing 14 properties
public float Sandbox.PhysicsWorld.AirDensity { get; set; }
Air density of this physics world, for things like air drag.
public System.Collections.Generic.IEnumerable`1<Sandbox.PhysicsBody> Sandbox.PhysicsWorld.Bodies { get; set; }
All bodies in the world
public Sandbox.PhysicsBody Sandbox.PhysicsWorld.Body { get; set; }
The body of this physics world.
public Sandbox.Physics.CollisionRules Sandbox.PhysicsWorld.CollisionRules { get; set; }
Set or retrieve the collision rules for this `Sandbox.PhysicsWorld`.
public Sandbox.SceneWorld Sandbox.PhysicsWorld.DebugSceneWorld { get; set; }
A SceneWorld where debug SceneObjects exist.
public Vector3 Sandbox.PhysicsWorld.Gravity { get; set; }
Access the world's current gravity.
public Sandbox.PhysicsGroup Sandbox.PhysicsWorld.Group { get; set; }
The physics group of this physics world. A physics world will contain only 1 body.
public int Sandbox.PhysicsWorld.PositionIterations { get; set; }Obsolete
Obsolete: This API member is obsolete.
public Sandbox.PhysicsSimulationMode Sandbox.PhysicsWorld.SimulationMode { get; set; }
Physics simulation mode. See `Sandbox.PhysicsSimulationMode` for explanation of each mode.
public bool Sandbox.PhysicsWorld.SleepingEnabled { get; set; }
If true then bodies will be able to sleep after a period of inactivity
public int Sandbox.PhysicsWorld.SubSteps { get; set; }
If you're seeing objects go through other objects or you have a low tickrate, you might want to increase the number of physics substeps. This breaks physics steps down into this many substeps. The default is 1 and works pretty good. Be aware that the number of physics ticks per second is going to be tickrate * substeps. So if you're ticking at 90 and you have SubSteps set to 1000 then you're going to do 90,000 steps per second. So be careful here.
public float Sandbox.PhysicsWorld.TimeScale { get; set; }Obsolete
Obsolete: This API member is obsolete.
public Sandbox.PhysicsTraceBuilder Sandbox.PhysicsWorld.Trace { get; set; }
Raytrace against this world
public int Sandbox.PhysicsWorld.VelocityIterations { get; set; }Obsolete
Obsolete: This API member is obsolete.
No results match this filter.
Metadata
| Field | Value |
|---|---|
| Namespace | Sandbox |
| Type | class |
| Assembly | Sandbox.Engine |
| Doc ID | T:Sandbox.PhysicsWorld |