diff --git a/Source/Engine/Physics/Colliders/CapsuleCollider.cpp b/Source/Engine/Physics/Colliders/CapsuleCollider.cpp
index 7728e6a3e..19a44cc52 100644
--- a/Source/Engine/Physics/Colliders/CapsuleCollider.cpp
+++ b/Source/Engine/Physics/Colliders/CapsuleCollider.cpp
@@ -9,7 +9,7 @@ CapsuleCollider::CapsuleCollider(const SpawnParams& params)
, _height(100.0f)
, _direction(ColliderOrientationDirection::YAxis)
{
- SetDirection(_direction);
+ SetColliderDirection(_direction);
}
void CapsuleCollider::SetRadius(const float value)
@@ -34,6 +34,24 @@ void CapsuleCollider::SetHeight(const float value)
UpdateBounds();
}
+void CapsuleCollider::SetColliderDirection(ColliderOrientationDirection value)
+{
+ _direction = value;
+ switch (value)
+ {
+ case ColliderOrientationDirection::XAxis:
+ SetColliderOrientation(Quaternion::Identity);
+ break;
+ case ColliderOrientationDirection::YAxis:
+ SetColliderOrientation(Quaternion::Euler(0, 0, 90));
+ break;
+ case ColliderOrientationDirection::ZAxis:
+ SetColliderOrientation(Quaternion::Euler(0, 90, 0));
+ break;
+ default: ;
+ }
+}
+
#if USE_EDITOR
#include "Engine/Debug/DebugDraw.h"
@@ -58,24 +76,6 @@ void CapsuleCollider::DrawPhysicsDebug(RenderView& view)
DEBUG_DRAW_WIRE_TUBE(_transform.LocalToWorld(_center), rot, radius, height, Color::GreenYellow * 0.8f, 0, true);
}
-void CapsuleCollider::SetDirection(ColliderOrientationDirection value)
-{
- _direction = value;
- switch (value)
- {
- case ColliderOrientationDirection::XAxis:
- SetColliderOrientation(Quaternion::Identity);
- break;
- case ColliderOrientationDirection::YAxis:
- SetColliderOrientation(Quaternion::Euler(0, 0, 90));
- break;
- case ColliderOrientationDirection::ZAxis:
- SetColliderOrientation(Quaternion::Euler(0, 90, 0));
- break;
- default: ;
- }
-}
-
void CapsuleCollider::OnDebugDrawSelected()
{
Quaternion collRot;
@@ -119,7 +119,7 @@ void CapsuleCollider::Deserialize(DeserializeStream& stream, ISerializeModifier*
DESERIALIZE_MEMBER(Radius, _radius);
DESERIALIZE_MEMBER(Height, _height);
DESERIALIZE(_direction);
- SetDirection(_direction);
+ SetColliderDirection(_direction);
}
void CapsuleCollider::UpdateBounds()
diff --git a/Source/Engine/Physics/Colliders/CapsuleCollider.h b/Source/Engine/Physics/Colliders/CapsuleCollider.h
index 210a49450..ef910df32 100644
--- a/Source/Engine/Physics/Colliders/CapsuleCollider.h
+++ b/Source/Engine/Physics/Colliders/CapsuleCollider.h
@@ -10,8 +10,19 @@
///
API_ENUM() enum class ColliderOrientationDirection
{
+ ///
+ /// Orient to the X-Axis.
+ ///
XAxis,
+
+ ///
+ /// Orient to the Y-Axis.
+ ///
YAxis,
+
+ ///
+ /// Orient to the Z-Axis.
+ ///
ZAxis
};
@@ -66,9 +77,8 @@ public:
///
/// Gets the orientation direction of the capsule collider.
///
- /// The capsule height will be scaled by the actor's world scale.
API_PROPERTY(Attributes="EditorOrder(111), DefaultValue(typeof(ColliderOrientationDirection), \"YAxis\"), EditorDisplay(\"Collider\")")
- FORCE_INLINE ColliderOrientationDirection GetDirection() const
+ FORCE_INLINE ColliderOrientationDirection GetColliderDirection() const
{
return _direction;
}
@@ -76,8 +86,7 @@ public:
///
/// Sets the orientation direction of the capsule collider.
///
- /// The capsule height will be scaled by the actor's world scale.
- API_PROPERTY() void SetDirection(ColliderOrientationDirection value);
+ API_PROPERTY() void SetColliderDirection(ColliderOrientationDirection value);
public:
// [Collider]