Open 3D Engine PhysX Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Inherits Physics::Character.
Public Member Functions | |
AZ_CLASS_ALLOCATOR (CharacterController, AZ::SystemAllocator) | |
AZ_RTTI (PhysX::CharacterController, "{A75A7D19-BC21-4F7E-A3D9-05031D2DFC94}", Physics::Character) | |
CharacterController (physx::PxController *pxController, AZStd::unique_ptr< CharacterControllerCallbackManager > callbackManager, AzPhysics::SceneHandle sceneHandle) | |
CharacterControllerCallbackManager * | GetCallbackManager () |
void | SetFilterFlags (physx::PxQueryFlags filterFlags) |
AZ::Vector3 | GetBasePosition () const override |
void | SetBasePosition (const AZ::Vector3 &position) override |
AZ::Vector3 | GetCenterPosition () const override |
float | GetStepHeight () const override |
void | SetStepHeight (float stepHeight) override |
AZ::Vector3 | GetUpDirection () const override |
void | SetUpDirection (const AZ::Vector3 &upDirection) override |
float | GetSlopeLimitDegrees () const override |
void | SetSlopeLimitDegrees (float slopeLimitDegrees) override |
float | GetMaximumSpeed () const override |
void | SetMaximumSpeed (float maximumSpeed) override |
AZ::Vector3 | GetVelocity () const override |
AzPhysics::CollisionLayer | GetCollisionLayer () const override |
AzPhysics::CollisionGroup | GetCollisionGroup () const override |
void | SetCollisionLayer (const AzPhysics::CollisionLayer &layer) override |
void | SetCollisionGroup (const AzPhysics::CollisionGroup &group) override |
AZ::Crc32 | GetColliderTag () const override |
void | AddVelocityForTick (const AZ::Vector3 &velocity) override |
void | AddVelocityForPhysicsTimestep (const AZ::Vector3 &velocity) override |
void | ResetRequestedVelocityForTick () override |
void | ResetRequestedVelocityForPhysicsTimestep () override |
void | Move (const AZ::Vector3 &requestedMovement, float deltaTime) override |
void | ApplyRequestedVelocity (float deltaTime) override |
void | SetRotation (const AZ::Quaternion &rotation) override |
void | AttachShape (AZStd::shared_ptr< Physics::Shape > shape) override |
AZ::EntityId | GetEntityId () const override |
AzPhysics::Scene * | GetScene () override |
AZ::Transform | GetTransform () const override |
void | SetTransform (const AZ::Transform &transform) override |
AZ::Vector3 | GetPosition () const override |
AZ::Quaternion | GetOrientation () const override |
AZ::Aabb | GetAabb () const override |
AzPhysics::SceneQueryHit | RayCast (const AzPhysics::RayCastRequest &request) override |
AZ::Crc32 | GetNativeType () const override |
void * | GetNativePointer () const override |
void | Resize (float height) |
float | GetHeight () const |
void | SetHeight (float height) |
float | GetRadius () const |
void | SetRadius (float radius) |
float | GetHalfSideExtent () const |
void | SetHalfSideExtent (float halfSideExtent) |
float | GetHalfForwardExtent () const |
void | SetHalfForwardExtent (float halfForwardExtent) |
void | EnablePhysics (const Physics::CharacterConfiguration &configuration) |
void | DisablePhysics () |
Static Public Member Functions | |
static void | Reflect (AZ::ReflectContext *context) |
void PhysX::CharacterController::EnablePhysics | ( | const Physics::CharacterConfiguration & | configuration | ) |
Character Controller can be only enabled and disabled once after creation. And after being disabled it cannot be enabled again, it has to be destroyed and re-created. This is because the way PhysX controller works, it doesn't allow the state of having physics disabled, so being enabled/disabled is linked to be created/destroyed.