Panzerturm an Wanne ausrichten!

Posted By: hahn51

Panzerturm an Wanne ausrichten! - 05/16/07 17:27

Hallo!

Ich habe da ein kleines Problem! Ich erzeuge mit ent_create den Turm auf dem Panzer. Soweit ok ich lasse x,y,z,tilt,roll des Turmes mit den werten der wanne abgleichen. Wenn ich jedoch den turm um 90 Grad drehe über nimmt er beim Fahren den Tilt der Wanne dann wippt der Turm nach rechts was er natürlich nicht soll! Was muss ich jetzt machen damit der Turm immer gerade bleibt und den Bewegungen der Wanne mitgeht egal wie ich ihn drehe?

Soweit habe ich das:
Code:
 function turm_action()
{

turm=me;

while(1)
{
my.pan=camera_view.pan+180;
my.tilt=player.tilt;
my.roll=player.roll;
my.x=player.x;
my.y=player.y;
my.z=player.z;






wait(1);
}

}



Danke Schonmal gruß Michael
Posted By: HeelX

Re: Panzerturm an Wanne ausrichten! - 05/18/07 08:33

Probier mal das, hab ich allerdings nicht getestet:

Code:
1   function turm_action()
2 {
3 turm = my;
4
5 while(1) {
6
7 vec_set(my.x, player.x);
8 vec_set(my.pan, player.pan);
9 ang_add(my.pan, vector((camera_view.pan+180-player.pan),0,0));
10
11 wait(1);
12 }
13
14 }



Das Prinzip ist folgendes: du setzt den Turm auf die Position des Panzers (Z.7), dann drehst du den Turm wie den Panzer (Z.8). In Zeile 9 addierst du dann auf die Turmrotation (pan) ein offset. Ich habe jetzt die Formel (camera_view.pan+180-player.pan) benutzt aber das ist wahrscheinlich so nicht richtig. Besser wäre es, wenn du eine einfache offset Variable benutzt, die du dann durch die Mausbewegung veränderst. Also sowas wie offset += mouse_force.x * 5 * time_step; oder so. Ich hab in dein Skript auch etwas ersetzt, nämlich einige Zeilen durch vec_set. Damit lässt sich der Code vereinfachen. Solche my.x = you.x; Orgien plustern den code nur auf.

Probiere das einfach mal aus und versuche das mit der offset Variable.
Posted By: hahn51

Re: Panzerturm an Wanne ausrichten! - 05/18/07 19:51

Das will irgendwie nicht richtig funktionieren! Ich habe immer noch das Prob mit dem Tilt! Weiß einer vlt noch ne andere Lösung?
Posted By: Xarthor

Re: Panzerturm an Wanne ausrichten! - 05/18/07 20:36

könntest du vllt genauer beschreiben was nicht so funktioniert wie du es dir wünschst, oder vllt sogar einen screenshot hochladen auf dem man alles ein wenig besser sehen kann?
Posted By: hahn51

Re: Panzerturm an Wanne ausrichten! - 05/19/07 11:16

Hi!
Ich denke hier sieht man das Problem ganz deutlich!



Posted By: Xarthor

Re: Panzerturm an Wanne ausrichten! - 05/19/07 11:43

Und HeelX code behebt das problem nicht?

Könntest du bitte den code so wie du ihn jetzt hast nochmal posten.
Und bitte mit dreh anweisung, also im prinzip den kompletten movement code (wenns sein muss)
Posted By: hahn51

Re: Panzerturm an Wanne ausrichten! - 05/19/07 13:32

Hallo!

Also ich erkläre es mal nochmal ausführlich^^

Ich erstelle den Turm in der Wannenfunktion. Dann setze ich den Turm via Script auf die richtige stelle der Wanne!

Code:
function turm_action()
{

turm=my;

while(1)
{
my.pan=camera_view.pan+180;
my.x=player.x;
my.y=player.y;
my.z=player.z;
my.tilt=player.tilt;
















wait(1);
}

}



Mit dem Code drehe ich den Turm pan syncron zum Kamera pan. Der Tilt des Turmes wird vom tilt der Wanne (player) übernommen. wenn das Rohr gerade nach vorne zeigt und ich die Steigung hochfahre dann übernimmt der Turm den Tilt der Wanne und es ist alles wies sein soll. Wenn ich dann aber den turm um z.b. 90 grad drehe dann übernimmt er ja immer noch den tilt der dann aber ja noch vorne geht wie sonst auch allerdings ist bei 90 grad vorne dann ja links und rechts und das ist der fehler! Der Turm soll einfach in jeder Position wie angeschweist auf der Wanne sitzen jetzt verstanden?
Posted By: Xarthor

Re: Panzerturm an Wanne ausrichten! - 05/19/07 13:48

Jap verstanden.
Schonmal über c_rotate nachgedacht?
Das bietet dir genau das was du brauchst.

Zwei zeilen für dein problem:
vec_set(my.pan,player.pan);
c_rotate(my,vector(camera_view.pan+180,0,0),use_axisr);

edit:
statt c_rotate könntest du auch ang_rotate benutzen.

edit #2:
und bitte benutz:
vec_set(my.x,player.x);
alles andere is ja ein krampf.
Posted By: Scorpion

Re: Panzerturm an Wanne ausrichten! - 05/19/07 13:52

wenn du den panzer schräg hast, musst du dasnatürlcih auch noch berücksichtigen.

der pan ist ja vom panzer der pan +offset, asl ist das ok...

der tilt und roll wert des panzers passen sich ja dem boden an (der normale)
ich denke mal das du dass mit vec_to_angle gemacht hast...

naja versuch mal den code: ich bin so gar net sicher ob er klappt, aber sollte zumindest theorethisch...

Code:
action panzer
{
var turm;
var turm_rotation;
turm = ent_create("turm.mdl",my.x,null);
while(1)
{
/*bewege und drehe den panzer hier mit c_trace*/
vec_set(temp,normal);
vec_rotate(temp,vector(my.pan,0,0));
vec_to_angle(my.pan,temp);
/*position des turmes hier+
verändern von turm_rotation*/
vec_set(temp,normal);
vec_rotate(temp,vector(my.pan+turm_rotation,0,0));
you=turm;
vec_to_angle(vector(turm_rotation,0,0),temp;
/*schießen..animieren...etc...*/
wait(1);
}
}



ich hoffe es funzt
Posted By: hahn51

Re: Panzerturm an Wanne ausrichten! - 05/19/07 14:16

Hallo!

@Scorpion

Das script will irgendwie nicht so richtig der turm steht irgenwo inner luft ,,, habe ich das richtig verstanden das: vec_set(temp,normal);
vec_rotate(temp,vector(my.pan,0,0));
vec_to_angle(my.pan,temp);
Muss in dir Panzer action?
und das :
vec_set(temp,normal);
vec_rotate(temp,vector(my.pan+turm_rotation,0,0));
you=turm;
vec_to_angle(vector(turm_rotation,0,0),temp;
in die turm action?

Achso hätte ich evtl noch sagen sollen das der Panzer physikalisch ist?^^
Posted By: Scorpion

Re: Panzerturm an Wanne ausrichten! - 05/19/07 14:20

oh..ja hättest du^^

ich habe es einfach so vor:
der panzer richtet isch ja an der normale aus (jetzt halt mit physik)
und der turm muss dann auch daran ausgerichtet werden..halt nur mit versetztem pan...

aber da du das mit physik machst denke ich dass du den turm einfach zu einem gelenk machst und dann zu einem "motor" werden lässt
Posted By: hahn51

Re: Panzerturm an Wanne ausrichten! - 05/19/07 14:59

Das könnte ne idee sein das versuche ich doch gleich mal^^

Danke für den tipp!!

edit:

Noch ne Frage dazu mit Physik habe ich es noch nicht so bin noch am üben^^ Das macht man dann doch mit ph_hinge oder?
Posted By: Scorpion

Re: Panzerturm an Wanne ausrichten! - 05/19/07 18:45

ich bin ncoh mehr am üben als du, habs erst vor ein paar tagen bekommen^^
aber ja hinge dürfte gehen
© 2024 lite-C Forums