Exemplo n.º 1
0
void ANavigationObjectBase::GetSimpleCollisionCylinder(float& CollisionRadius, float& CollisionHalfHeight) const
{
	if (RootComponent == CapsuleComponent && IsRootComponentCollisionRegistered())
	{
		// Note: assuming vertical orientation
		CapsuleComponent->GetScaledCapsuleSize(CollisionRadius, CollisionHalfHeight);
	}
	else
	{
		Super::GetSimpleCollisionCylinder(CollisionRadius, CollisionHalfHeight);
	}
}
Exemplo n.º 2
0
void ACharacter::GetSimpleCollisionCylinder(float& CollisionRadius, float& CollisionHalfHeight) const
{
#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
    if (IsTemplate())
    {
        UE_LOG(LogCharacter, Log, TEXT("WARNING ACharacter::GetSimpleCollisionCylinder : Called on default object '%s'. Will likely return zero size. Consider using GetDefaultHalfHeight() instead."), *this->GetPathName());
    }
#endif

    if (RootComponent == CapsuleComponent && IsRootComponentCollisionRegistered())
    {
        // Note: we purposefully ignore the component transform here aside from scale, always treating it as vertically aligned.
        // This improves performance and is also how we stated the CapsuleComponent would be used.
        CapsuleComponent->GetScaledCapsuleSize(CollisionRadius, CollisionHalfHeight);
    }
    else
    {
        Super::GetSimpleCollisionCylinder(CollisionRadius, CollisionHalfHeight);
    }
}