PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zugriff auf Lokale Achsen


MagicStyle
17.08.2013, 10:12
Hi Comm,
weiss jemand wie man die Lokalen Achsen eines Objektes beim Befehl "setPos" ansprechen kann?

Ich kenne es eigentlich nur beim Befehl "attachto", aber wie realisiere ich es bei setPos ?
Denn wenn ich es so mache...
for [{_i=1}, {_i < 100}, {_i=_i+1}] do
{
sleep 0.01;
_object setPos (10, getpos _obect select 1, getpos _obect select 2);
};
...bewegt sich das Objekt ja immer nur auf den globalen Achsen, ich möchte aber das es sich auf der Objektlokalen Achse bewegt.
Beispiel: Wäre das Objekt ein Auto, würde es bei diesem Code der das Objekt ja auf der globalen Achse bewegt, ständig in der Map an der X-Achse entlang "fahren", egal wie ich auch lenke, und das will ich nicht.

Ich möchte das sich das Objekt ständig auf der Objektlokalen x-Achse nach vorne bewegt, nicht auf der globalen Achse!

Danke im Vorraus für jede Hilfe!
Gruß M.S.

Buliwyf
17.08.2013, 14:01
Ich kapier kein Wort... :D ..aber in Deinem Code ist OBJECT zweimal falsch geschrieben... ein Problem?

:komisch:

MagicStyle
17.08.2013, 14:26
Ne, das mit Object war nur ein Beispiel fürs Forum, von dem her kein Problem ;) Habs ausversehen falsch geschrieben

Ich versuch nochmal den Unterschied zu Global und Lokal zu veranschaulichen
http://www10.pic-upload.de/thumb/17.08.13/y13zxmt7fv9h.png (http://www.pic-upload.de/view-20437726/Global.png.html)

http://www10.pic-upload.de/thumb/17.08.13/focjvzkc9o6s.png (http://www.pic-upload.de/view-20437702/Lokal.png.html)

Bei Global orintiert sich das Objekt wie man schön sehen kann an den Achsen der Welt (Grid) (Siehe Rote und Grüne Linie am Gitter), man vergleiche das Grid [Gitter] unterm Auto mit den Achsenpfeilen.
Bei Lokal kann man sehen das sich das Objekt eben nicht an diese Achsen vom Grid orientiert, sondern an der eigenen Lokalen Achse. Hoffe das war diesmal verständlich ^^

Gruß M.S.

MagicStyle
18.08.2013, 08:56
War es diesmal verständlich? Wenn nicht kann ich mir nochwas einfallen lassen um es zu erklären.
Gruß M.S.

Vienna
18.08.2013, 09:35
Keine Ahnung wozu das gut sein soll. In ArmA kann man mit setPos z.B. einen Sandsack in 10m Höhe fix hinstellen. Das geht aber nicht mit einem Fahrzeug, das wird automatisch zu Boden fallen.

MagicStyle
18.08.2013, 09:52
Keine Ahnung wozu das gut sein soll
Ich arbeite gerade an einer Boost Funktion für Fahrzeuge/Flugzeuge, hierfür muss das Vehikel auf der objektlokalen X-Achse nach vorne bewegt werden. Der Code ist bereits fertig, ich muss nurnoch mein setPos so modifizieren das es die objektlokale Achse anspricht anstatt die globale.

Edit:
GELÖST! Ich konnte es mit folgendem Code lösen. Danke an Sinus und Cosinus
_vel = velocity _vehicle;
_dir = direction _vehicle;
_speed = 10;
_vehicle setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+ (cos _dir*_speed),(_vel select 2)];