Hello,
I’m trying to create a ledge climbing mechanic and think I’ve gotten the basics down but when it comes to turning ledges it seems as though my player won’t move to the exact hit point of the turning ledge ray cast?
void RightCornerCheck(RaycastHit hit, float startPoint, float length)
{
Vector3 lineStart;
Vector3 lineEnd;
// lineStart = (RlineEnd * startPoint) + transform.right;
lineStart = new Vector3(transform.position.x + startPoint, transform.position.y, transform.position.z) + transform.forward ;
lineEnd = (lineStart + transform.right * length);
Physics.Linecast(lineStart, lineEnd, out hit, ledgeScript.hangMask);
Debug.DrawLine(lineStart, lineEnd, Color.blue);
if (hit.collider)
{
canTurnRight = true;
if (canTurnRight)
{
if (Input.GetKey(KeyCode.D))
{
Vector3 position = transform.position;
Vector3 offsetToHit = position - hit.point;
offsetToHit.Normalize();
offsetToHit *= 1;
position = hit.point + offsetToHit;
transform.position = new Vector3(position.x, transform.position.y, position.z);
}
}
}
}