Wenn es ein Klick ist, möchte ich, dass der Charakter zur Mausposition wandert. Aber wenn es die Maustaste gedrückt hält, möchte ich das Zeichen drehen. Aber aus irgendeinem Grund ist es die ganze Zeit im Ruhezustand. Wenn ich also einen Klick mache, springt der Charakter im kleinen Sprung und nicht zur Mausposition.Wie zwischen einem Mausklick und Maus gedrückt halten?
Wenn ich den ganzen Teil des if (Input.GetMouseButton (0)) entfernen werde, dann wird es beim Klicken mit der Maus gut auf die Mausposition gehen, aber sobald er diesen Teil hinzugefügt hat, wird er nicht gehen.
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
}
}
}