Ich habe zwei Vektoren, "V" und "W", die aneinander hängen. Wenn sich "V" dreht, wird "W" winkelförmig um "V" verschoben. "W" hat eine feste Drehung, die ich auf 45º eingestellt habe.
Ich habe dies in MS Paint grob dargestellt, wie Sie hier sehen können:
Nun, mein Endziel ist es, "W" auf einen bestimmten Punkt zielen zu lassen, der überall in einem 2D-Raum sein kann, aber nur durch Drehen von "V". Bitte beachten Sie, dass ich nur "V" drehen kann, "W" hat eine feste Drehung und die Größe des Vektors zwischen ihnen ist immer konstant.
Also, wenn ich möchte, dass "W" zum Beispiel auf "A" zeigt, welche Drehung sollte ich auf "V" anwenden und / oder welche Endposition möchte ich für "W", um dies zu erreichen?
Für den optionalen Kontext: „V“ und „W“ sind Spielobjekte in Unity. "W" ist ein Kind von "V" und hat eine feste relative Position dazu. Ich kann nur die Drehung von "V" manipulieren, wodurch sich "W" entsprechend verschiebt. „W“ sollte in der Lage sein, einen Raycast zu einem der Zielpunkte („A“, „B“, „C“ oder „D“) zu senden und effektiv einen Treffer zurückzugeben.
Ich habe nach ähnlichen Themen gesucht, aber sie scheinen dieses spezielle Problem nicht anzusprechen (wenn sie dies tun, entziehen sie sich meinem Verständnis).
Diese Frage sollte besser in http://gamedev.stackexchange.com gepostet werden, da Sie anscheinend keine Frage zur Physik stellen, sondern eher, wie Sie etwas in einer Spiele-Engine erreichen können.
Angenommen, Sie kennen den Winkelversatz von W relativ zu V und haben eine Möglichkeit, den Versatz von V aus einem Strahl zu bestimmen, der zwischen seinem Ursprung und dem beabsichtigten Punkt geworfen wird. An diesem Punkt können Sie nun den Versatz von W relativ zum Strahl bestimmen, der vom Ursprung von V nach A geworfen wird, sodass Sie den Betrag finden können, um den Sie V drehen müssen, um W bei A zu zeigen.
JeneralJames
JeneralJames
JeneralJames
Frankenstein
Frankenstein