ワンクリックすると、キャラクターがマウスの位置に移動します。 しかし、マウスのボタンを押している場合は、私はそれが文字を回転させたい。 何らかの理由で、アイドル状態になっています。だから、私がワンクリックをすると、キャラクターは小さなジャンプでジャンプし、マウスの位置に歩いていない。ワンクリックマウスとマウスを切り替えるにはどうすればいいですか?
if(Input.GetMouseButton(0))の全体部分を削除すると、マウスをクリックするとマウスの位置までうまくいくが、一度この部分を追加すると歩行しない。マウスボタンが押されている場合、常に真
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0))
{
_animator.CrossFade("Walk", 0);
Plane playerPlane = new Plane(Vector3.up, transform.position);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
float hitdist = 0.0f;
if (playerPlane.Raycast(ray, out hitdist))
{
Vector3 targetPoint = ray.GetPoint(hitdist);
targetPosition = ray.GetPoint(hitdist);
targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
destination = targetPosition;
}
}
if (Input.GetMouseButton(0))
{
_animator.CrossFade("Idle", 0);
RaycastHit hit;
Ray ray1 = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray1, out hit) && hit.collider.name != "ThirdPersonController")
{
transform.LookAt(hit.point);
}
else
{
transform.LookAt(ray1.GetPoint(100)); //the number here is compltely arbitrary
}
}
}