GameDev Brasil
https://www.gamedev.com.br/forum/

Third Person Camera
https://www.gamedev.com.br/forum/viewtopic.php?f=60&t=41650
Página 1 de 1

Autor:  heltonluizsb [ Qua Out 09, 2019 12:19 am ]
Título:  Third Person Camera

Estou com um problema na criação de código para movimentação da câmera... O códio abaixo a câmera segue o personagem perfeitamente, quando eu rotaciono ele com as teclas A e D (através do LookAt(head), em visto que a movimentação está em outro código), agora o LookAt(head) não respeita a rotação dele... O código altera a rotação do objeto HEAD (GameObject vazio), tanto é que eu vejo os valores de Rotation Y alterando. Porém nada acontece com a câmera e se eu coloco a camera como filha de HEAD não obtenho o resultado desejado...

public class CamFollow : MonoBehaviour

{



public Transform head;

public Transform[] pos;

public int id;

public Vector3 speed = Vector3.zero;

public RaycastHit hit;

public float scroll;

private float rotSpeed, rotation;



// Start is called before the first frame update

void Start()

{

rotSpeed = 100;

id = 0;

}



void Update()

{

CameraAdjust();

CameraRotation();

}



// Update is called once per frame

void LateUpdate()

{

transform.LookAt(head);

if (!Physics.Linecast(head.position,pos[id].position))

{

transform.position = Vector3.SmoothDamp(transform.position,pos[id].position, ref speed, 0.1f);

Debug.DrawLine(head.position, pos[id].position);

}

else if (Physics.Linecast(head.position, pos[id].position, out hit))

{

transform.position = Vector3.SmoothDamp(transform.position, hit.point, ref speed, 0.1f);

Debug.DrawLine(head.position, pos[id].position);

}

}



void CameraAdjust()

{

scroll = Input.GetAxis("Mouse ScrollWheel");

if ((Input.GetAxis("Mouse ScrollWheel") < 0) && (id < 2))

{

id++;

}

else if ((Input.GetAxis("Mouse ScrollWheel") > 0) && ((id <= 2) && (id > 0)))

{

id--;

}

}



void CameraRotation()

{

rotation += Input.GetAxis("Mouse X") * rotSpeed;

rotation *= Time.deltaTime;

head.Rotate(0,rotation,0);

}



}

Página 1 de 1 Todos os horários são GMT - 3 horas
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/