IN THIS ARTICLE
PhysX Collider Component
The PhysX Collider component adds a PhysX collider to an entity so that the entity can be included in PhysX simulation. The collider can be defined by a mesh you create, automatically generated convex meshes, shapes that have been automatically fit to a decomposed mesh, or a simple shape primitive selected in the the PhysX Collider component. The PhysX Collider component can also define a trigger area or a force region.
Note:The PhysX Collider component attached to an entity by itself creates a static (non-moving) entity. Add a PhysX Rigid Body component with a PhysX Collider component to create a dynamic or a kinematic entity. Dynamic entities have simulated movement in response to collisions and forces. Kinematic entities aren’t affected by collisions or forces, but are driven by scripted movement. For information about the various PhysX collider types and how to process them, refer to Process PhysX Collider Assets.
|Collision Layer||Assigns the collider to a collision layer. Collision layers can be used to restrict physical interactions between PhysX objects.||Any collision layer defined in the project’s Collision Layers .|
|Collides With||Assigns the collider to a collision group. Collision groups contain the collision layers that this collider can collide with.||Any collision group defined in the project’s Collision Groups .|
|Trigger||If enabled, this collider functions as a trigger. Triggers perform quick overlap tests with other colliders. Triggers don’t apply forces or return contact point information. Use this to speed up PhysX computations in which a simple overlap test between colliders is sufficient. Triangle meshes are not supported as triggers.||Boolean|
|Simulated||If enabled, this collider is included in the physics simulation.||Boolean|
|In Scene Queries||If enabled, this collider can be queried for raycasts, shapecasts, and overlap.||Boolean|
|Offset||Sets the collider’s local offset position relative to the entity.||Vector3: -Infinity to Infinity||X: |
|Rotation||Sets a local rotation for the collider around the Offset of the PhysX collider component.||Vector3: -180.0 to 180.0||X: |
|Physics Materials||Choose a physics material for each material of this collider. Physics materials define physical properties for the surface such as dynamic and static friction, and density. A collider can have multiple physics materials assigned.||A |
|Tag||Sets a tag for this collider. Tags can be used to quickly identify components in script or code.||String||None|
|Rest offset||Sets the minimum distance between this collider and other colliders. Although this property applies to all colliders, it is particularly important for dynamic colliders. Dynamic colliders are at rest when the forces affecting them drop below the Sleep threshold of their rigid body component. When a dynamic collider comes to rest while in contact with any other collider, the colliders are separated by the sum of their Rest offset values. Rest offset values that are too large might make dynamic entities appear to float. Negative Rest offset values might make dynamic entities appear to intersect. You might need to adjust this value in scenarios where the collider does not closely match the render mesh of the entity. The Rest offset value must be less than the Contact offset value.||Float: -Infinity to 50.0|
|Contact offset||Sets the distance from the collider where collisions are detected. PhysX bodies generate contacts when they are within the sum of their Contact offset values. The Contact offset value must be greater than the Rest offset value.||Float: 0.0 to 50.0|
|Shape||See Shape properties|
|Draw Collider||If enabled, the collider is displayed in the viewport.||Boolean|
|Edit||Enter collider component edit mode to adjust properties of the collider with manipulators in the viewport.|
Sets the collider for the collider component. A collider can be a primitive shape or a physics asset. Primitive shape colliders are not meshes. They are defined by simple dimension parameters that describe a box, sphere, or capsule. Primitive shape colliders are high performance, but they may not accurately represent the surface of the mesh provided by a Mesh component. Physics asset colliders are based on meshes that are processed by Asset Processor. Physics asset colliders can more accurately represent the shape of the mesh provided by a Mesh component, but incur a higher performance cost over primitive shapes. This property is set automatically if a
.pxmesh product asset exists for the associated mesh or actor asset. For information on processing collider assets, refer to
Process PhysX Collider Assets
|PhysX Mesh||Assigns a ||Product asset |
|Asset Scale||Scales the collider shape independent of the entity.||Vector3: 0.0 to Infinity||X: |
|Physics Materials from Asset||If enabled, the physics materials for this collider are automatically set based on the Physics Materials from the mesh’s PhysX asset. Physics material assignments cannot be edited while this option is enabled.||Boolean|
|Radius||Radius multiplier of the sphere collider. The size of the sphere primitive is the Radius value multiplied by the largest value in the Scale property in the entity’s Transform component.||Float: 0.0 to Infinity|
|Dimensions||Width, depth, and height of the box collider.||Vector3: 0.0 to Infinity||X: |
|Height||Height of the capsule collider. The Height value of the capsule must be at least twice the Radius value. For example, if the Radius of the capsule is ||Float: 0.0 to Infinity|
|Radius||Radius of the capsule collider. The Radius value of the capsule must be no greater than half the Height value. For example, if the Height of the capsule is ||Float: 0.0 to Infinity|
In collider component mode, you can edit colliders with manipulators in the viewport. To enter collider component mode, choose the Edit button at the bottom of the PhysX Collider component properties in the Entity Inspector.
There are three editing modes available in collider component mode.
|Resize||Scales the collider. The manipulator displayed in the viewport in resize mode is dependent on the collider shape. For primitive colliders, the resize manipulator handles are represented as black squares. For Physics Asset colliders, the resize manipulator is represented as a familiar scale manipulator.|
|Offset||Translates the collider relative to its entity transform.|
|Rotation||Rotates the collider around the component’s Offset.|
Sphere resize mode has one linear manipulator that controls the Radius property.
Box resize mode has six linear manipulators, one on each side of the box. The manipulators control the width, depth, and height Dimensions property.
Capsule resize mode has two linear manipulators. The manipulator at the top of the capsule controls the Height property. The manipulator on the side controls the Radius property.
Offset mode has a three-axis translate manipulator.
Rotation mode has a three-axis rotate manipulator.
Physics Asset resize mode has a three-axis scale manipulator.
The following navigation hotkeys are available in collider component mode.
|CTRL + Mouse Wheel Down||Next mode.|
|CTRL + Mouse Wheel Up||Previous mode.|
|R||Reset current mode. This is effectively an undo operation. You can step through the Resize, Offset, and Rotation modes and press R to reset changes to the current mode.|
|ESC||Exit component mode.|
Triggers allow colliders to perform efficient overlap tests. Colliders marked as triggers won’t be affected by forces when they intersect with another collider. This is useful for detecting when something enters a certain area or when two objects overlap. Use Lua or Script Canvas to detect overlap.
Note:Because triggers don’t perform contact resolution, the contact points between a trigger and another collider aren’t available. Triangle meshes are not supported as triggers.