Scripting API

Physics

static class in UnityEngine · UnityEngine.PhysicsModule

43 of 59 of Unity's membersUnity's documentation
In Tassix

Global physics settings, queries, and the simulation step. The player loop steps physics after each FixedUpdate and then sends OnTrigger* and OnCollision* messages, as Unity does.

Fields 3

const int AllLayers
const int DefaultRaycastLayers
const int IgnoreRaycastLayer

Properties 11

static bool autoSyncTransforms { get; set; }
static float bounceThreshold { get; set; }
static float defaultContactOffset { get; set; }
static float defaultMaxAngularSpeed { get; set; }
static int defaultSolverIterations { get; set; }
static int defaultSolverVelocityIterations { get; set; }
static Vector3 gravity { get; set; }
static bool queriesHitBackfaces { get; set; }
static bool queriesHitTriggers { get; set; }
static SimulationMode simulationMode { get; set; }
static float sleepThreshold { get; set; }

Methods 30

static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, out RaycastHit hitInfo, Quaternion orientation, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, out RaycastHit hitInfo, Quaternion orientation, float maxDistance, int layerMask)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, out RaycastHit hitInfo, Quaternion orientation, float maxDistance)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, out RaycastHit hitInfo, Quaternion orientation)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation = default, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation, float maxDistance, int layerMask)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation, float maxDistance)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation)
static bool BoxCast(Vector3 center, Vector3 halfExtents, Vector3 direction)
static RaycastHit[] BoxCastAll(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation = default, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] BoxCastAll(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation, float maxDistance, int layerMask)
static RaycastHit[] BoxCastAll(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation, float maxDistance)
static RaycastHit[] BoxCastAll(Vector3 center, Vector3 halfExtents, Vector3 direction, Quaternion orientation)
static RaycastHit[] BoxCastAll(Vector3 center, Vector3 halfExtents, Vector3 direction)
static int BoxCastNonAlloc(Vector3 center, Vector3 halfExtents, Vector3 direction, RaycastHit[] results, Quaternion orientation, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int BoxCastNonAlloc(Vector3 center, Vector3 halfExtents, Vector3 direction, RaycastHit[] results, Quaternion orientation)
static int BoxCastNonAlloc(Vector3 center, Vector3 halfExtents, Vector3 direction, RaycastHit[] results, Quaternion orientation, float maxDistance)
static int BoxCastNonAlloc(Vector3 center, Vector3 halfExtents, Vector3 direction, RaycastHit[] results, Quaternion orientation, float maxDistance, int layerMask)
static int BoxCastNonAlloc(Vector3 center, Vector3 halfExtents, Vector3 direction, RaycastHit[] results)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, out RaycastHit hitInfo)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance, int layerMask)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance)
static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction)
static RaycastHit[] CapsuleCastAll(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] CapsuleCastAll(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance, int layerMask)
static RaycastHit[] CapsuleCastAll(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance)
static RaycastHit[] CapsuleCastAll(Vector3 point1, Vector3 point2, float radius, Vector3 direction)
static int CapsuleCastNonAlloc(Vector3 point1, Vector3 point2, float radius, Vector3 direction, RaycastHit[] results, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int CapsuleCastNonAlloc(Vector3 point1, Vector3 point2, float radius, Vector3 direction, RaycastHit[] results, float maxDistance, int layerMask)
static int CapsuleCastNonAlloc(Vector3 point1, Vector3 point2, float radius, Vector3 direction, RaycastHit[] results, float maxDistance)
static int CapsuleCastNonAlloc(Vector3 point1, Vector3 point2, float radius, Vector3 direction, RaycastHit[] results)
static bool CheckBox(Vector3 center, Vector3 halfExtents, Quaternion orientation = default, int layermask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool CheckBox(Vector3 center, Vector3 halfExtents, Quaternion orientation, int layermask)
static bool CheckBox(Vector3 center, Vector3 halfExtents, Quaternion orientation)
static bool CheckBox(Vector3 center, Vector3 halfExtents)
static bool CheckCapsule(Vector3 start, Vector3 end, float radius, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool CheckCapsule(Vector3 start, Vector3 end, float radius, int layerMask)
static bool CheckCapsule(Vector3 start, Vector3 end, float radius)
static bool CheckSphere(Vector3 position, float radius, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool CheckSphere(Vector3 position, float radius, int layerMask)
static bool CheckSphere(Vector3 position, float radius)
static Vector3 ClosestPoint(Vector3 point, Collider collider, Vector3 position, Quaternion rotation)

The point on collider, placed at position and rotation, closest to point.

static bool ComputePenetration(Collider colliderA, Vector3 positionA, Quaternion rotationA, Collider colliderB, Vector3 positionB, Quaternion rotationB, out Vector3 direction, out float distance)

How to move colliderA out of colliderB at the given poses; false when they don't overlap.

static bool GetIgnoreCollision(Collider collider1, Collider collider2)
static bool GetIgnoreLayerCollision(int layer1, int layer2)
static void IgnoreCollision(Collider collider1, Collider collider2, bool ignore = true)
static void IgnoreCollision(Collider collider1, Collider collider2)

Makes the two colliders stop (or start again) colliding with each other.

static void IgnoreLayerCollision(int layer1, int layer2, bool ignore = true)
static void IgnoreLayerCollision(int layer1, int layer2)
static bool Linecast(Vector3 start, Vector3 end, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Linecast(Vector3 start, Vector3 end, int layerMask)
static bool Linecast(Vector3 start, Vector3 end)
static bool Linecast(Vector3 start, Vector3 end, out RaycastHit hitInfo, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Linecast(Vector3 start, Vector3 end, out RaycastHit hitInfo, int layerMask)
static bool Linecast(Vector3 start, Vector3 end, out RaycastHit hitInfo)
static Collider[] OverlapBox(Vector3 center, Vector3 halfExtents, Quaternion orientation = default, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static Collider[] OverlapBox(Vector3 center, Vector3 halfExtents, Quaternion orientation, int layerMask)
static Collider[] OverlapBox(Vector3 center, Vector3 halfExtents, Quaternion orientation)
static Collider[] OverlapBox(Vector3 center, Vector3 halfExtents)
static int OverlapBoxNonAlloc(Vector3 center, Vector3 halfExtents, Collider[] results, Quaternion orientation = default, int mask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int OverlapBoxNonAlloc(Vector3 center, Vector3 halfExtents, Collider[] results, Quaternion orientation, int mask)
static int OverlapBoxNonAlloc(Vector3 center, Vector3 halfExtents, Collider[] results, Quaternion orientation)
static int OverlapBoxNonAlloc(Vector3 center, Vector3 halfExtents, Collider[] results)
static Collider[] OverlapCapsule(Vector3 point0, Vector3 point1, float radius, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static Collider[] OverlapCapsule(Vector3 point0, Vector3 point1, float radius, int layerMask)
static Collider[] OverlapCapsule(Vector3 point0, Vector3 point1, float radius)
static int OverlapCapsuleNonAlloc(Vector3 point0, Vector3 point1, float radius, Collider[] results, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int OverlapCapsuleNonAlloc(Vector3 point0, Vector3 point1, float radius, Collider[] results, int layerMask)
static int OverlapCapsuleNonAlloc(Vector3 point0, Vector3 point1, float radius, Collider[] results)
static Collider[] OverlapSphere(Vector3 position, float radius, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static Collider[] OverlapSphere(Vector3 position, float radius, int layerMask)
static Collider[] OverlapSphere(Vector3 position, float radius)
static int OverlapSphereNonAlloc(Vector3 position, float radius, Collider[] results, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int OverlapSphereNonAlloc(Vector3 position, float radius, Collider[] results, int layerMask)
static int OverlapSphereNonAlloc(Vector3 position, float radius, Collider[] results)
static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance, int layerMask)
static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance)
static bool Raycast(Vector3 origin, Vector3 direction)
static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask)
static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance)
static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo)
static bool Raycast(Ray ray, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Raycast(Ray ray, float maxDistance, int layerMask)
static bool Raycast(Ray ray, float maxDistance)
static bool Raycast(Ray ray)
static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask)
static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance)
static bool Raycast(Ray ray, out RaycastHit hitInfo)
static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction, float maxDistance, int layerMask)
static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction, float maxDistance)
static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction)
static RaycastHit[] RaycastAll(Ray ray, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] RaycastAll(Ray ray, float maxDistance, int layerMask)
static RaycastHit[] RaycastAll(Ray ray, float maxDistance)
static RaycastHit[] RaycastAll(Ray ray)
static int RaycastNonAlloc(Ray ray, RaycastHit[] results, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int RaycastNonAlloc(Ray ray, RaycastHit[] results, float maxDistance, int layerMask)
static int RaycastNonAlloc(Ray ray, RaycastHit[] results, float maxDistance)
static int RaycastNonAlloc(Ray ray, RaycastHit[] results)
static int RaycastNonAlloc(Vector3 origin, Vector3 direction, RaycastHit[] results, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int RaycastNonAlloc(Vector3 origin, Vector3 direction, RaycastHit[] results, float maxDistance, int layerMask)
static int RaycastNonAlloc(Vector3 origin, Vector3 direction, RaycastHit[] results, float maxDistance)
static int RaycastNonAlloc(Vector3 origin, Vector3 direction, RaycastHit[] results)
static void Simulate(float step)

Steps the simulation (for SimulationMode.Script) and sends the messages.

static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask)
static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance)
static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo)
static bool SphereCast(Ray ray, float radius, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool SphereCast(Ray ray, float radius, float maxDistance, int layerMask)
static bool SphereCast(Ray ray, float radius, float maxDistance)
static bool SphereCast(Ray ray, float radius)
static bool SphereCast(Ray ray, float radius, out RaycastHit hitInfo, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static bool SphereCast(Ray ray, float radius, out RaycastHit hitInfo, float maxDistance, int layerMask)
static bool SphereCast(Ray ray, float radius, out RaycastHit hitInfo, float maxDistance)
static bool SphereCast(Ray ray, float radius, out RaycastHit hitInfo)
static RaycastHit[] SphereCastAll(Vector3 origin, float radius, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] SphereCastAll(Vector3 origin, float radius, Vector3 direction, float maxDistance, int layerMask)
static RaycastHit[] SphereCastAll(Vector3 origin, float radius, Vector3 direction, float maxDistance)
static RaycastHit[] SphereCastAll(Vector3 origin, float radius, Vector3 direction)
static RaycastHit[] SphereCastAll(Ray ray, float radius, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static RaycastHit[] SphereCastAll(Ray ray, float radius, float maxDistance, int layerMask)
static RaycastHit[] SphereCastAll(Ray ray, float radius, float maxDistance)
static RaycastHit[] SphereCastAll(Ray ray, float radius)
static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance, int layerMask)
static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance)
static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results)
static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results, float maxDistance = float.PositiveInfinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal)
static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results, float maxDistance, int layerMask)
static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results, float maxDistance)
static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results)
static void SyncTransforms()

Transforms always reach the simulation before stepping and queries.

Not in Tassix yet 16

(constructor) BakeMesh ContactEvent ContactModifyEvent ContactModifyEventCCD GetCurrentIntegrationInfo RebuildBroadphaseRegions clothGravity defaultMaxDepenetrationVelocity defaultPhysicsScene improvedPatchFriction interCollisionDistance interCollisionSettingsToggle interCollisionStiffness invokeCollisionCallbacks reuseCollisionCallbacks

Checked against Unity

Conformance scenarios that exercise it, recorded in Unity and compared event by event.