No código aparece o erro: CS0117 "Camera" não contém uma definição para "main"
Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);
No código aparece o erro: CS0117 "Camera" não contém uma definição para "main"
Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);
Oi, Pedro, tudo bem?
Você pode colar o script inteiro e todos os erros que aparecem no console da Unity?
Assim podemos dar uma olhada mais geral :)
eu acabei fazendo uma mudança na movimentação do personagem e na camera, deixando em terceira pessoa.
[RequireComponent(typeof(Rigidbody))]
public class PlayerMotor : MonoBehaviour
{
public float velocidade = 10.0f;
public float sensibilidade = 40;
private Rigidbody rb;
private PlayerController playerController;
private PlayerKeys playerKeys;
public Vector3 movimentando;
void Start()
{
rb = GetComponent<Rigidbody>();
playerController = GetComponent<PlayerController>();
playerKeys = GetComponent<PlayerKeys>();
}
void FixedUpdate()
{
if (!playerController.podeControlar)
return;
float z = (Input.GetAxis("Vertical") * velocidade) * Time.deltaTime;
float x = (Input.GetAxis("Horizontal") * velocidade) * Time.deltaTime;
rb.MovePosition(this.transform.localPosition + transform.TransformDirection(new Vector3(x, 0, z)));
movimentando = new Vector3(x, 0, z);
if (movimentando != Vector3.zero)
{
GetComponent<Animator>().SetBool("Movendo", true);
}
else
{
GetComponent<Animator>().SetBool("Movendo", false);
}
transform.Rotate(new Vector3(0, (Input.GetAxis("Mouse X") * sensibilidade) * Time.deltaTime, 0));
}
}