Мне нужно сделать raycast от персонажа моего персонажа, к объекту хита моей рации, но я не могу заставить свой код работать, он всегда кажется смещенным.Raycasting для шутера от третьего лица
void Update() {
RaycastHit hit;
Ray playerAim = playerCamera.GetComponent <Camera>().ScreenPointToRay(new Vector3(Screen.width/2, Screen.height/2));
Physics.Raycast(playerAim, out hit);
Debug.DrawRay(playerAim.origin, playerAim.direction * hit.distance, Color.green);
if (Physics.Raycast(playerAim, out hit)){
// something was hit
RaycastHit playerHit;
Physics.Raycast(transform.position, hit.transform.position, out playerHit);
Debug.DrawRay(transform.position, playerHit.transform.position, Color.red);
Debug.Log ("Distance from camera: "+ hit.distance);
Debug.Log ("Distance from player: "+ playerHit.distance);
}
}
http://i.stack.imgur.com/HzdVU.jpg
Я думал Debug.DrawRay(transform.position, playerHit.transform.position, Color.red);
должен нарисовать красную линию от своего игрока до конца зеленой линии камеры хит точки, вместо этого он стреляет мимо в пол.