@@ -280,12 +280,8 @@ void CharacterController::OnActiveTransformChanged()
|
||||
// Change actor transform (but with locking)
|
||||
ASSERT(!_isUpdatingTransform);
|
||||
_isUpdatingTransform = true;
|
||||
Transform transform;
|
||||
PhysicsBackend::GetRigidActorPose(PhysicsBackend::GetShapeActor(_shape), transform.Translation, transform.Orientation);
|
||||
transform.Translation -= _center;
|
||||
transform.Orientation = _transform.Orientation;
|
||||
transform.Scale = _transform.Scale;
|
||||
SetTransform(transform);
|
||||
const Vector3 position = PhysicsBackend::GetControllerPosition(_controller) - _center;
|
||||
SetPosition(position);
|
||||
_isUpdatingTransform = false;
|
||||
|
||||
UpdateBounds();
|
||||
|
||||
@@ -3008,7 +3008,7 @@ void* PhysicsBackend::CreateController(void* scene, IPhysicsActor* actor, Physic
|
||||
desc.material = DefaultMaterial;
|
||||
const float minSize = 0.001f;
|
||||
desc.height = Math::Max(height, minSize);
|
||||
desc.radius = Math::Max(radius - desc.contactOffset, minSize);
|
||||
desc.radius = Math::Max(radius - Math::Max(contactOffset, 0.0f), minSize);
|
||||
desc.stepOffset = Math::Min(stepOffset, desc.height + desc.radius * 2.0f - minSize);
|
||||
auto controllerPhysX = (PxCapsuleController*)scenePhysX->ControllerManager->createController(desc);
|
||||
PxRigidActor* actorPhysX = controllerPhysX->getActor();
|
||||
|
||||
Reference in New Issue
Block a user