Ok, hier ist mein Problem, ich habe ein Skript, mit dem ich ein feindliches Ziel einkreisen und umkreisen kann. Das Problem ist, wenn sich mein Charakter bewegt, wenn er den Einrastknopf drückt, bewegt sich der Charakter weiter in die Richtung, in die er sich vor dem Drücken der Taste bewegt hat, unabhängig davon, ob mehr Tasten gedrückt werden, außer in die entgegengesetzte Richtung.Unity-Character bewegt sich weiter, wenn es auf Gegner geblockt wird
Dies passiert nicht, wenn ich stationär bin, wenn mein Charakter still steht und ich den Knopf am Schloss drücke funktioniert alles gut. Es ist nur, wenn ich mich bewege.
Ich bin mir nicht sicher, ob dies genug Informationen, oder was sonst könnte jemand brauchen, um besser zu verstehen, aber hier ist mein Skript:
if (GetComponent<DetectedEnemies>().locked)//checks bool to see if lockOn button was pressed
{
mainCam.SetActive(false);//turns off main cam
lockCam.SetActive(true);//turns on lockOn cam
movesetting.tarObject = GetComponent<DetectedEnemies>().Closest;//target object will be the closest enemy to player
this.transform.LookAt(movesetting.tarObject.transform.position);//player will look at the target object at all times
if (currXRot.x > maxXRot.x)//if the current x rot of this object exceeds the maxXRot it can go...
currXRot.x = maxXRot.x;//it gets reset
transform.Translate(Vector3.right * movesetting.speed * Time.deltaTime * turnInput);//orbits around the target object
transform.Translate(Vector3.forward * movesetting.speed * Time.deltaTime * forwardInput);//in control of moving towards and away from target
}
Jedwedes Hilfe sehr appreaciated wird, danken Ihnen im Voraus. Wenn Sie weitere Informationen benötigen oder etwas nicht klar ist, lassen Sie es mich wissen.