28.04.2011, 02:34 | #1 (permalink) |
Registriert seit: 05.01.2008
Alter: 33
Beiträge: 1.703
|
KI immer auf gleicher Höhe fliegen lassen
Hallo,
ich habe mal eine Frage, ist es möglich ein UAV das von der KI gesteuert wird immer in die gleichen Höhe fliegen zu lassen und zwar ohne die Landschaft zu beachten? Ich habe bereits eine MQ-9 Drohne im Editor platziert und mit der Init: Code:
mq9_1 setPos [(getPos mq9_1 select 0),(getPos mq9_1 select 1),2000]; mq9_1 flyInHeigt 2000 Gibt es eine Möglichkeit, ohne große Scripte, die KI so zu beeinflussen, dass sie immer dieselbe Höhe über N.N. einhällt? Es it echt nervig wenn man ein klares Bild von seinem Einsatzgebiet haben will und die KI immerwieder in der Höhe schwankt und damit auch unterschiedlich schnell ist. Ich hab schon die Scripting Commands durchgeschaut, aber mir ist keine andere Möglichekeit außer flyInHeigt aufgefallen... |
28.04.2011, 12:15 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Gib diese Zeile in einen "Funkauslöser" zum Testen. Beim Aufrufen sollte das Objekt eine Höhe von 200 über dem Meeresspiegel einhalten.
Code:
temp = [VehicleName,200] spawn {private ["_u","_h"];_u=_this select 0;_h=_this select 1; while {alive _u}do{_u setPosASL [getPosASL _u select 0, getPosASL _u select 1, _h];sleep 0.01}} |
28.04.2011, 13:32 | #3 (permalink) |
Registriert seit: 05.01.2008
Alter: 33
Beiträge: 1.703
|
Super, das funktioniert.
Kann ich jetzt irgendwie hingehen und einen Auslöser platzieren, der z.B. so aussieht, dass wenn das UAV einen neuen Wegpunkt bekommt, die Höhe des Wegpunktes nimmt (wieder die Höhe über N.N.) und dann darauf 2000m addiert? Ich habe leider keine Ahnung wie ich einen Wegpunkt als Objekt nehmen kann um die Höhe auszulesen. Nur Irgendwie muss es ja möglich sein, mit getPosASL die Meereshöhe zu bekommen und dann darauf 2000 zu addieren. edit: Mir ist ein kleines Problem mit deinem Code aufgefallen Vienna, das UAV wird jetzt zwar auf Höhe gehalten, aber die KI versucht immernoch eine andere Höhe zu erreichen. Das sieht etwas seltsam aus, das UAV fliegt nich horizontal sondern ein wenig nach vorne geneigt. Das Problem könnet ich aber lösen indem ich 2 Auslöser platziert hab und der eine die Höhe über dem Terrain abfragt und der andere diese Höhe dann mit dem Befehl "flyInHeigt" and die KI weitergibt. Geändert von JoeJoe87577 (28.04.2011 um 13:49 Uhr). |
28.04.2011, 14:54 | #4 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Gib die Höhe in eine globale Variable ein, der kannst du dann jederzeit einen anderen Wert zuweisen.
z.B. in einem Auslöser dann mit: UAVhoehe = 500 Der Code dazu: Code:
UAVhoehe = 200; temp = [VehicleName] spawn {private ["_u"];_u=_this select 0; while {alive _u}do{_u setPosASL [getPosASL _u select 0, getPosASL _u select 1, UAVhoehe];sleep 0.01}}; |
28.04.2011, 16:03 | #5 (permalink) |
Registriert seit: 05.01.2008
Alter: 33
Beiträge: 1.703
|
Das werde ich auch mal versuchen. Im Moment versuche ich ein kleines Script auzubauen, mit dem ich die Höhe der Drohne auslese (Das funktniert ohne Probleme) und dann diese Höhe der KI mit flyInHeigt zuweise.
Code:
while { alive mq9 } do { heigt = getPosATL mq9; sleep 0.25; mq9 flyInHeigt heigt; } Code:
Error Fehlendes ; heigt = getPosATL mq9; sleep 0.25; mq9 |#|flyInHeigt heigt; }; Geändert von JoeJoe87577 (28.04.2011 um 16:18 Uhr). |
28.04.2011, 17:13 | #6 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Die Position wird als Array angegeben [x,y,z]. z ist die Höhe. Die wird aus dem Array mit select ausgelesen. Index: x=0, y=1, z=2.
Code:
while { alive mq9 } do { mq9 flyInHeigt (getPosATL mq9 select 2); sleep 0.25; } |
28.04.2011, 17:45 | #7 (permalink) |
Registriert seit: 05.01.2008
Alter: 33
Beiträge: 1.703
|
Ich hab das eben getestet und bekomme wieder die Fehlermeldung, dass vor dem flyInHeigt ein ; fehlen soll...
Warum funktioniert das ganze ohne Probleme wenn man einen festen Wert als Zahl gibt und das Teil im Editor in die Init einfügt, aber als Script macht das Ganze nur Stress -.-. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
KI präzise fliegen lassen | Wobbegong | Editing & Scripting | 2 | 04.02.2011 18:22 |
Ki kann nicht fliegen ! | Panzagrenadier | Technische Fragen & Probleme | 6 | 28.11.2010 16:08 |
UAV Höhe behalten | miromanu | Editing & Scripting | 8 | 02.09.2010 17:10 |
UAV soll sehr hoch fliegen | Nischi | Editing & Scripting | 8 | 14.08.2010 21:30 |
ULB Heli bei Missionsbeginn auf 500m Höhe | todyoungblood | Editing & Scripting | 3 | 02.08.2010 18:51 |