Olá, Tudo bem ?
Vi que você respondeu a essa pergunta duas vezes, porem não estou sabendo como implementar isso em meu código.
Preciso fazer as alterações citadas nos outros posts somente em MovomentoJogador ?
Ao fazer as mudanças em meu código o "ray" dentro da condição do IF esta dando erro e não consigo solucionar.
Meu código esta dessa forma:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovimentoJogador : MovimentoPersonagem
{
private GameObject posicaoMira;
public void RotacaoJogador(LayerMask MascaraChao)
{
Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
Plane plano = new Plane(Vector3.up, posicaoMira.transform.position);
//RaycastHit impacto;
float distanciaColisao;
if (plano.Raycast(ray, out distanciaColisao))
{
Vector3 localColisao = raio.GetPoint(distanciaColisao);
localColisao.y = 0; //ou transform.position.y
//direcao para onde vamos olhar baseado onde estamos
Vector3 posicaoParaOlhar = localColisao - transform.position;
Quaternion novaRotacao = Quaternion.LookRotation(posicaoParaOlhar);
GetComponent<Rigidbody>().MoveRotation(novaRotacao);
}
}
}