3 registered members (Ayumi, Akow, AndrewAMD),
1,505
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Polygonkollisionserkennung
[Re: Robotronic]
#114719
03/04/07 15:41
03/04/07 15:41
|
Joined: Jan 2007
Posts: 15 Berlin, Germany
XPress
OP
Newbie
|
OP
Newbie
Joined: Jan 2007
Posts: 15
Berlin, Germany
|
Also er geht immer sobald man im Moddeleinzugberreich ist nach oben (kolliediert aber trotzdem nur nicht mit den Deckenflächen)...und unsichtbare Blöcke haben wir nicht....jemand ne Idee?
Last edited by XPress; 03/04/07 15:47.
Gott ist Coder mit einer krassen 4 Bit Sprache , offenem Quellcode aber verdammt schlampiger Doku.
Zeigt mir die Kommentare in der DNA und wir können darüber reden, dass der Mensch geschaffen wurde
|
|
|
Re: Polygonkollisionserkennung
[Re: XPress]
#114721
03/07/07 23:59
03/07/07 23:59
|
Joined: Dec 2005
Posts: 414 Munich, Germany
Robotronic
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 414
Munich, Germany
|
Ihr solltet sicherstellen, daß sich sowohl in der Playeraction, als auch im Kameracode keine trace-Anweisungen befinden, bzw. diese durch c_trace ersetzen. Ich erinnere mich jedenfalls dunkel, daß mein Player erst dann in seinem Hausmodell herumlaufen konnte, nachdem ich alles durch c_trace ersetzt hatte. Postet im Zweifelsfall mal den Code. Ansonsten eventuell das Torbogen-Modell mal aus dem Level entfernen, speichern, neu builden und dann das Modell nochmal laden und Polygon Flag setzen. Keine Ahnung, ob´s was hilft ...
|
|
|
Re: Polygonkollisionserkennung
[Re: Robotronic]
#114722
03/10/07 11:10
03/10/07 11:10
|
Joined: Jan 2005
Posts: 134 Germany
TTKJonas
Member
|
Member
Joined: Jan 2005
Posts: 134
Germany
|
@Robotronic
Schonmal vielen Dank für den Hinweis! Das hat bereits sehr geholfen und Kollision funktioniert jetzt!
Allerdings gibt es ein neues Problem. Die Kollision der Spielfigur zu Blöcken funktioniert nicht mehr richtig und sinkt immer bis zum Nullpunkt in den Boden ein. Das Script, das den Fehler verursacht sieht so aus:
FUNCTION handle_gravity() { trace_mode = ignore_me+ignore_passable+activate_trigger+use_aabb; result = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000),nullvector); ...
Ich hab schon mit den verschiedenen "mode" Flags herumprobiert, aber der Spieler ist entweder in den Boden gesunken, oder richtung Himmel geschwebt.
Um das Level befindet sich ein ausgehüllter Block mit dem "Sky" Flag
Hat jemand eine Idee?
Gruß Jonas
Last edited by TTKJonas; 03/10/07 11:12.
|
|
|
Re: Polygonkollisionserkennung
[Re: TTKJonas]
#114723
03/10/07 11:37
03/10/07 11:37
|
Joined: Dec 2005
Posts: 414 Munich, Germany
Robotronic
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 414
Munich, Germany
|
Wenn du c_trace verwendest, mußt du den trace mode nicht mehr separat setzen. Er ist jetzt ein Parameter der c_trace Funktion. Die allgemeine Form sieht so aus: c_trace(VECTOR* from, VECTOR* to, var mode) Die "Schwerkraft" sollte so ähnlich funktionieren (ich habe hier den Schwerkraft-code in der player action): action my_player { var distance_to_ground; //... while(1) { vec_set (temp, my.x); // copy player's position to temp temp.z -= 5000; // set temp.z 5000 quants below player's origin distance_to_ground = c_trace (my.x, temp.x, IGNORE_ME | IGNORE_PASSABLE | USE_BOX); //... } } Ansonsten oberhalb der while-Schleife die Bounding Box an das Modell anpassen, entweder mit c_setminmax, oder direkt (mit my.min_x etc). Ich kann leider nicht genau sagen, was an eurem Code nicht stimmt (bin nur Hobbyprogrammierer ) ...
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|