Wie passt man den Steigungswinkel eines Autos der Straße an?

Posted By: ColeFoster

Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/21/16 18:34

Hallo ich habe volgendes Problem:
Ich möchte ein Spiel mit Autos (Hovercars) machen, das Auto kann
sich frei bewegen und wird über folgende Anweisung auf die
Straße gesetzt:

Action Fall{
vec_set(temp, my.x);
temp.z -= 1000; // 100 Quants down
result = c_trace(my.x, temp,IGNORE_ME|IGNORE_PASSABLE|IGNORE_MODELS|IGNORE_SPRITES);
IF (My.Z>target.Z+My.Hohe) {My.Z-=10*Time;}
IF (My.Z<target.Z+My.Hohe) {My.Z=Target.Z+My.Hohe;}
}

Fahre ich nun eine Steigung an bleibt der Winkel des Autos
immer der selbe. Wie bekomme ich es hin, dass es sich der Steigung anpasst?
Posted By: Ch40zzC0d3r

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/21/16 18:50

hit.nx,ny,nz sind die richtungsvektoren der normalen von der straße.
zusammen mit einem vec_to_angle und modifizieren des car.tilt klappts laugh
Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/21/16 18:57

Hallo danke für die Antwort, aber wie schreibe ich es genau?
Vec_to_angle(my.tilt,hit) ? hit kennt das programm nicht.
Posted By: Ch40zzC0d3r

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/21/16 19:12

hit ist ein pointer auf einen struct welcher bei jedem c_trace verändert wird.
Code:
vec_to_angle(my.tilt, hit.nx)


Das nach dem c_trace sollte gehn.
Schau im manual nach "hit" für mehr informationen.
Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/28/16 18:44

hallo entschuldige,dass ich solang offline war. Ich habe hit in der online manual gefunden aber es taucht nicht in meiner hilfe auf und wenn ich es so schreibe

vec_to_angle(my.tilt, hit.nx)

dann bekomm ich die meldung : parameter unknown hit keyword

liegt es an meiner version? A7.5 extra
Posted By: Ch40zzC0d3r

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/28/16 18:53

Wie wärs mal mit einem upgrade?
Sollte allerdings schon in der A7 Version funktionieren..
Includest du acknex.h usw?
Du benutzt aber schon lite-c oder?
Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/28/16 19:08

lite-c den SED editor
nein muss ich das includen ?
Posted By: Ch40zzC0d3r

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 01/28/16 20:02

Wie zur hölle compilest du dein projekt ohne die engine header files zu includen o.o
Lite-C dateien enden auf *.c
Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 02/06/16 18:58

Ok keine ahnung wovon du redest aber meine daten enden .wdl das programmsymbol des SED editors ist Lite-c bin gerade leicht verwirrt ?! Ich benutze den Script editor der bei der lieferung des A7 dabei war. Aber ich ahne so langsam, das ich hier im falschen Forum bin. Sorry bin halt neu hier.
Posted By: Ch40zzC0d3r

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 02/06/16 22:11

Originally Posted By: ColeFoster
Ok keine ahnung wovon du redest aber meine daten enden .wdl das programmsymbol des SED editors ist Lite-c bin gerade leicht verwirrt ?! Ich benutze den Script editor der bei der lieferung des A7 dabei war. Aber ich ahne so langsam, das ich hier im falschen Forum bin. Sorry bin halt neu hier.


.wdl ist C-Script, .c ist Lite-c
Von C-Script habe ich leider überhaupt keine Ahnung frown
Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 02/09/16 18:40

Ok hab trotzdem wieder was neues gelernt danke für deine mühe ;-)
Posted By: Superku

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 02/09/16 18:52

Wenn du tatsächlich C-Script benutzt (und somit wdl Skripte kompilierst), dann lasse das lieber sofort und steige auf lite-C um.
Folgender Code sollte in etwa tun was du willst:
Code:
c_trace(...) // vertikaler trace nach unten
vec_rotate(normal,vector(-my.pan,0,0));
my.tilt = -asinv(normal.x);
my.roll = -asinv(normal.y);


oder etwas ausgefallener vllt wie folgt:
Code:
c_trace(my.x,vector(my.x,my.y,my.z-150),IGNORE_ME | IGNORE_PASSABLE)); // vllt andere Distanz oder USE_BOX
if(trace_hit)
{
vec_rotate(normal,vector(-my.pan,0,0));
my.tilt = -asinv(normal.x);
my.roll = -asinv(normal.y);
}
else
{
my.tilt += -my.tilt*0.2*time;
my.roll += -my.roll*0.2*time;
}

Posted By: ColeFoster

Re: Wie passt man den Steigungswinkel eines Autos der Straße an? - 02/09/16 19:52

Danke klappt wunderbar.
© 2024 lite-C Forums