Fixed Unit contact point
This commit is contained in:
@@ -1128,7 +1128,7 @@ Position WorldObject::GetHitSpherePointFor(Position const& dest) const
|
|||||||
{
|
{
|
||||||
G3D::Vector3 vThis(GetPositionX(), GetPositionY(), GetPositionZ());
|
G3D::Vector3 vThis(GetPositionX(), GetPositionY(), GetPositionZ());
|
||||||
G3D::Vector3 vObj(dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ());
|
G3D::Vector3 vObj(dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ());
|
||||||
G3D::Vector3 contactPoint = vThis + (vObj - vThis).directionOrZero() * GetObjectSize();
|
G3D::Vector3 contactPoint = vThis + (vObj - vThis).directionOrZero() * std::min(dest.GetExactDist(this), GetObjectSize());
|
||||||
|
|
||||||
return Position(contactPoint.x, contactPoint.y, contactPoint.z, GetAngle(contactPoint.x, contactPoint.y));
|
return Position(contactPoint.x, contactPoint.y, contactPoint.z, GetAngle(contactPoint.x, contactPoint.y));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user