PxControllerDesc Class Reference
[Character]
Descriptor class for a character controller.
More...
#include <PxController.h>
![Inheritance graph](classPxControllerDesc__inherit__graph.png)
![Collaboration graph](classPxControllerDesc__coll__graph.png)
Public Member Functions | |
virtual PX_INLINE bool | isValid () const |
returns true if the current settings are valid | |
PX_INLINE PxControllerShapeType::Enum | getType () const |
Returns the character controller type. | |
Public Attributes | |
PxExtendedVec3 | position |
The position of the character. | |
PxVec3 | upDirection |
Specifies the 'up' direction. | |
PxF32 | slopeLimit |
The maximum slope which the character can walk up. | |
PxF32 | invisibleWallHeight |
Height of invisible walls created around non-walkable triangles. | |
PxF32 | maxJumpHeight |
Maximum height a jumping character can reach. | |
PxF32 | contactOffset |
The contact offset used by the controller. | |
PxF32 | stepOffset |
Defines the maximum height of an obstacle which the character can climb. | |
PxF32 | density |
Density of underlying kinematic actor. | |
PxF32 | scaleCoeff |
Scale coeff for underlying kinematic actor. | |
PxF32 | volumeGrowth |
Cached volume growth. | |
PxUserControllerHitReport * | callback |
Specifies a user report callback. | |
PxControllerBehaviorCallback * | behaviorCallback |
Specifies a user behavior callback. | |
PxCCTInteractionMode::Enum | interactionMode |
The interaction mode controls if a character controller collides with other controllers. | |
PxCCTNonWalkableMode::Enum | nonWalkableMode |
The non-walkable mode controls if a character controller slides or not on a non-walkable part. | |
PxU32 | groupsBitmask |
The group bitmasks defines collision filtering when PxCCTInteractionMode::eUSE_FILTER is used. | |
PxMaterial * | material |
The material for the actor associated with the controller. | |
void * | userData |
User specified data associated with the controller. | |
Protected Member Functions | |
PX_INLINE | PxControllerDesc (PxControllerShapeType::Enum) |
constructor sets to default. | |
virtual PX_INLINE | ~PxControllerDesc () |
Protected Attributes | |
PxControllerShapeType::Enum | type |
The type of the controller. This gets set by the derived class' ctor, the user should not have to change it. |
Detailed Description
Descriptor class for a character controller.
- See also:
- PxBoxController PxCapsuleController
Member Function Documentation
PX_INLINE PxControllerShapeType::Enum PxControllerDesc::getType | ( | ) | const [inline] |
Returns the character controller type.
- Returns:
- The controllers type.
- See also:
- PxControllerType PxCapsuleControllerDesc PxBoxControllerDesc
Member Data Documentation
Specifies a user behavior callback.
This behavior callback is called to customize the controller's behavior w.r.t. touched shapes.
Setting this to NULL disables the callback.
Default: NULL
- See also:
- PxControllerBehaviorCallback
Referenced by PxControllerDesc().
Specifies a user report callback.
This report callback is called when the character collides with shapes and other characters.
Setting this to NULL disables the callback.
Default: NULL
- See also:
- PxUserControllerHitReport
Referenced by PxControllerDesc().
The contact offset used by the controller.
Specifies a skin around the object within which contacts will be generated. Use it to avoid numerical precision issues.
This is dependant on the scale of the users world, but should be a small, positive non zero value.
Default: 0.1
Referenced by isValid(), and PxControllerDesc().
Density of underlying kinematic actor.
The CCT creates a PhysX's kinematic actor under the hood. This controls its density.
Default: 10.0
Referenced by isValid(), and PxControllerDesc().
The group bitmasks defines collision filtering when PxCCTInteractionMode::eUSE_FILTER is used.
Default: 0xffffffff
- See also:
- PxCCTInteractionMode
Referenced by PxControllerDesc().
The interaction mode controls if a character controller collides with other controllers.
The default is to collide controllers.
Default: PxCCTInteractionMode::eINCLUDE
- See also:
- PxCCTInteractionMode
Referenced by PxControllerDesc().
Height of invisible walls created around non-walkable triangles.
The library can automatically create invisible walls around non-walkable triangles defined by the 'slopeLimit' parameter. This defines the height of those walls. If it is 0.0, then no extra triangles are created.
Default: 0.0
- See also:
- upDirection slopeLimit maxJumpHeight
Referenced by PxControllerDesc().
The material for the actor associated with the controller.
The controller internally creates a rigid body actor. This parameter specifies the material of the actor.
Default: NULL
- See also:
- PxMaterial
Referenced by isValid(), and PxControllerDesc().
Maximum height a jumping character can reach.
This is only used if invisible walls are created ('invisibleWallHeight' is non zero).
When a character jumps, the non-walkable triangles he might fly over are not found by the collision queries (since the character's bounding volume does not touch them). Thus those non-walkable triangles do not create invisible walls, and it is possible for a jumping character to land on a non-walkable triangle, while he wouldn't have reached that place by just walking.
The 'maxJumpHeight' variable is used to extend the size of the collision volume downward. This way, all the non-walkable triangles are properly found by the collision queries and it becomes impossible to 'jump over' invisible walls.
If the character in your game can not jump, it is safe to use 0.0 here. Otherwise it is best to keep this value as small as possible, since a larger collision volume means more triangles to process.
Default: 0.0
- See also:
- upDirection slopeLimit invisibleWallHeight
Referenced by PxControllerDesc().
The non-walkable mode controls if a character controller slides or not on a non-walkable part.
This is only used when slopeLimit is non zero.
Default: PxCCTNonWalkableMode::ePREVENT_CLIMBING
- See also:
- PxCCTNonWalkableMode
Referenced by PxControllerDesc().
Scale coeff for underlying kinematic actor.
The CCT creates a PhysX's kinematic actor under the hood. This controls its scale factor. This should be a number a bit smaller than 1.0.
Default: 0.8
Referenced by isValid(), and PxControllerDesc().
The maximum slope which the character can walk up.
In general it is desirable to limit where the character can walk, in particular it is unrealistic for the character to be able to climb arbitary slopes.
The limit is expressed as the cosine of desired limit angle. A value of 0 disables this feature.
Default: 0.707
- See also:
- upDirection invisibleWallHeight maxJumpHeight
Referenced by isValid(), and PxControllerDesc().
Defines the maximum height of an obstacle which the character can climb.
A small value will mean that the character gets stuck and cannot walk up stairs etc, a value which is too large will mean that the character can climb over unrealistically high obstacles.
Default: 0.5
- See also:
- upDirection
Referenced by isValid(), PxCapsuleControllerDesc::isValid(), PxBoxControllerDesc::isValid(), and PxControllerDesc().
PxControllerShapeType::Enum PxControllerDesc::type [protected] |
The type of the controller. This gets set by the derived class' ctor, the user should not have to change it.
Specifies the 'up' direction.
In order to provide stepping functionality the SDK must be informed about the up direction.
Default: (0, 1, 0)
Referenced by PxControllerDesc().
Cached volume growth.
Amount of space around the controller we cache to improve performance. This is a scale factor that should be higher than 1.0f but not too big, ideally lower than 2.0f.
Default: 1.5
Referenced by isValid(), and PxControllerDesc().
The documentation for this class was generated from the following file:
Copyright © 2008-2012 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com