3 registered members (Quad, VoroneTZ, 1 invisible),
862
guests, and 3
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Flugzeug mit konstruktionsproblem
#246312
01/14/09 16:08
01/14/09 16:08
|
Joined: Dec 2008
Posts: 605 47°19'02.40" N 8°32'54.67" E...
hopfel
OP
User
|
OP
User
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
|
Ich habe einen Flugsimulator gebaut. Mit Flugzeug, umgebung etc. nun hat sich aber ein problem aufgetan. Wenn ich während dem Spiel den roll-Winkel ändere, und dann den tilt-Winkel (für eine Kurve), fliegt mein Flugzeug nach oben, statt dass es sich dem roll-winkel anpasst und eine Steilkurve fliegt. Mein Code:
flieger = me; var kmh=3; var mh=0; while(1) { vec_set(camera.x,vector(-100,0,10)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan); if(key_q&&kmh<35) kmh+=0.5*time_step; if(key_a&&kmh>3) kmh-=0.5*time_step; if(key_cuu) my.tilt-=1*time_step; if(key_cud) my.tilt+=1*time_step; if(key_cur) mh=6; if(key_cul) mh=-6; if(!key_cul&&!key_cur) mh=0;
c_move(my,vector(kmh*time_step,0,0),nullvector,IGNORE_MODELS+GLIDE); c_rotate(my,vector(0,0,mh*time_step),nullvector,IGNORE_MODELS+GLIDE); wait(1); }
Hilf mir, dir zu helfen!
|
|
|
Re: Flugzeug mit konstruktionsproblem
[Re: hopfel]
#246441
01/15/09 08:56
01/15/09 08:56
|
Joined: Aug 2005
Posts: 512 Bayern
Schmerzmittel
User
|
User
Joined: Aug 2005
Posts: 512
Bayern
|
Hm...das selbe Problem hatte ich auch.
Wenn mein Fliegerle sich auf eine Seite rollte, dann waren die Achsen vertauscht.
Stell dir das mal Bildlich vor. Wenn du ein Kreuz (in diesem Fall die Achsen) in die Mitte deines Fliegers setzen würdest und den Flieger dann drehst, drehen sich die Achsen auch mit. Dann fliegt er aber auch nach oben oder unten, weil die Achsen immer noch in diese Richtung schauen(also schräg in die Richtung schauen).
Anders kann ich es leider grad nicht erklären. Probier mal einzeln, welche Achsen stimmen; also rauf, runter, links, rechts und in kombination miteinander.
Ich gucke heute mal nach meinem alten Script, vielleicht hilft dir das.
Grüße Schmerzmittel
Last edited by Schmerzmittel; 01/15/09 08:58.
A7 Com V7.80
|
|
|
Re: Flugzeug mit konstruktionsproblem
[Re: hopfel]
#246467
01/15/09 11:37
01/15/09 11:37
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
Serious User
|
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Das währe mit vec_rotateaxis lösbar, dreht eine Entity um eine achse, die schräg im Raum steht. Allerdings experimentiere ich zurzeit auch mit dem Befehl, bringe es aber nicht zum laufen. Siehe mein Topic: Mein Topic Vielleicht kannst du auch mit ang_add oder ang_rotate was anfangen...
|
|
|
Re: Flugzeug mit konstruktionsproblem
[Re: hopfel]
#246696
01/16/09 16:00
01/16/09 16:00
|
Joined: Dec 2008
Posts: 605 47°19'02.40" N 8°32'54.67" E...
hopfel
OP
User
|
OP
User
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
|
Habe das Problem jetzt auf die primitive Art und weise gelöst:
var kmh=3; var mh=0; var parti=0; var tiltroll=0; var panroll=0; var rollhi=180; var rollhi2=-90; var rollhi3=90;
if(my.roll>180) my.roll=-180; if(my.roll<-180) my.roll=180; if(rollhi>180) rollhi=-180; if(rollhi<-180) rollhi=180; if(rollhi2>180) rollhi2=-180; if(rollhi2<-180) rollhi2=180; if(rollhi3>180) rollhi3=-180; if(rollhi3<-180) rollhi3=180; if(key_q&&kmh<35) kmh+=0.3*time_step; if(key_a&&kmh>3) kmh-=0.3*time_step; if(key_cuu) { my.tilt+=tiltroll/2; my.pan+=panroll/2; } if(key_cud) { my.tilt-=tiltroll/2; my.pan-=panroll/2; } if(key_cur) mh=5; if(key_cul) mh=-5; if(!key_cul&&!key_cur) mh=0; my.roll+=mh*time_step; rollhi-=mh*time_step; rollhi2-=mh*time_step; rollhi3-=mh*time_step; c_move(my,vector(kmh*time_step,0,0),nullvector,IGNORE_MODELS+GLIDE);
if(my.roll>-90&&my.roll<90) panroll=(my.roll)/30; if(my.roll<-89&&my.roll>-180||my.roll>89&&my.roll<180) panroll=(rollhi)/30; if(rollhi2>-90&&rollhi2<90) tiltroll=(rollhi2)/30; if(rollhi2<-89&&rollhi2>-180||rollhi2>89&&rollhi2<180) tiltroll=(-rollhi3)/30;
naja aber eben.... nich gerade seriös
Hilf mir, dir zu helfen!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|