Ich habe zwei Kreise in der gleichen Szene, und ich brauche eine von ihnen wiederholen Sie die gleiche Bewegung, die andere Stelle. Nur die Entfernung von der Größe der anderen halten.Unity3D - Ein Objekt dem anderen mit der gleichen Geschwindigkeit folgen (variable Geschwindigkeit)
Betrachtet man den Kreis "A" und den Kreis "B", speichere ich die Kreiskoordinate "A" auf einem Array von Positionen, dann liest der Kreis "B" diese Positionen und führt diese aus.
Mit dieser Methodik habe ich Probleme beim Erhöhen des Geschwindigkeitskreises "A", weil wie der Kreis "B" immer noch die Geschwindigkeit liest, die vorher gespeichert wurde, um Kreise zu trennen.
Siehe das Bild:
der Kreis „B“ laufen auf der aktuellen Geschwindigkeit des Kreises „A“ Idealerweise, aber es wird nie möglich sein, von einem Array lesen zu bereits mit der Geschwindigkeit des Kreises "A" zu dieser Zeit aufgezeichnet.
var dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.AngleAxis(angle, Vector3.forward), 180 * Time.deltaTime);
transform.position += transform.right * Time.deltaTime * velocity;
Camera.main.transform.position = new Vector3(transform.position.x, transform.position.y, Camera.main.transform.position.z);
recordList.Insert(0, new Recorder
{
Position = transform.position,
Rotation = transform.rotation,
Velocity = velocity
});
Was wäre der beste Weg, um dieses Szenario zu machen?
Ich freue mich über jede Hilfe im Voraus!
Hallo, vielen Dank für Ihre Antwort. Aber wenn wir das Objekt im Array speichern, wird die durchgeführte Berechnung zu diesem Zeitpunkt gespeichert ... einschließlich der Ausführung SPEED (die zum Zeitpunkt der Speicherung berechnet wird) 'transform.position + = transform.right * Time.deltaTime * Geschwindigkeit; '. Bitte sehen Sie sich die aktualisierte Frage an. – IgoR