Kollisionsabfrage in 3D

Previous topic - Next topic

Tenorm

Hi,

ich habe ein Problem mit den Kollisionsabfragen im 3D-Modus:

Ich bekomme immer völlig sinnlose Werte (X_COLLISIONRAY) oder an den falschen Stellen ein FALSE oder TRUE (X_COLLISION, X_COLLISIONAABB). Ich arbeite mit animirten und sich bewegenden Quake II-Animationen, die ich dann in *.ddd´s umwandle, hab aber auch schon versucht, dass Problem mit *.3ds-Dateien zu beheben => Funktioniert trotzdem nicht. Da ich jetzt mal davon ausgehe, dass das an mir liegt, könnte mir bitte jemand nen Codeschnipsel einer Objektkollisionsabrage von Körper "0" und Körper"1" tippen. Nur das nötigste.

Wäre nett, weil ohne die Kollisionsabfrage komm ich nicht weiter.

Gruß

Tenorm

Kitty Hello

Du musst X_MOVEMENT/X_ROTATION aufrufen, um Objekt A and die Stelle zu schieben, wo es später gezeichnet wird.
Dann bei X_COLLISION eine Kugel in _globalen_ Koordinaten angeben.
Wenn's nicht geht, Code zeigen. Kann nur eine Kleinigkeit sein.

Tenorm

Die Kugel bzw. der Quader bwewgt sich immer mit dem Player mit. Aber ich zeig dir mal nen Ausschnitt:

...
X_SCALING 0.025,0.025,0.025
X_MOVEMENT 0-player_x,0-player_y,0-player_z
X_ROTATION player_rot,0,1,0
X_SETTEXTUR 0,-1
X_DRAWANIM 0, 0, 40, anim, TRUE

X_SCALING 0.025,0.025,0.025
X_MOVEMENT 100,0,100
X_ROTATION 90,0,1,0
X_SETTEXTUR 1,-1
X_DRAWANIM 1, 0, 40, anim, TRUE

IF X_COLLISIONAABB(1,anim,0-player_y,5+player_z,0-player_x,6,6)=TRUE THEN c=TRUE
...

player_... = Koordinaten von Spielfigur
anim        = Animationsstufe

Noch was: Muss ich bei den Collision*-Befehlen eigendlich das Objekt inner- oder ausserhalb des Quaders/ der Kugel angeben?

Gruß

Kitty Hello

Ja... Neee...
Du willst doch eine Kugel um den _Player_ mit den _Objekten_ prüfen. Nicht eine Kugel mit dem Player, oder?

Also:
x_movement hindernis_x, hindernis_y, hindernis_z
xif x_collisionaabb(id_player, anim, x_player, y_player, z_player, width, height) ....

Tenorm

OK, die Frage war aber eher nebensächlich, die Kollisionsab frage läuft aber immer noch nicht.
[SCHMOLL] .

Also liegt beim Code kein Fehler???

Hat sowas vielleichtwas mit den Modellen zu tun (also Dateityp), mit was für Dateien arbeitest du???

Die Position von X_COLL... stimmt auch, oder???

Schranz0r

Schonmal Debug angemacht, und geschaut ob die Kollisionsbox auch richtig sitzt?
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

BumbleBee

Warum fragt hier mich keiner. ;) Das Kollisionsproblem kann auch an X_SCALING liegen.
In der Hilfe steht:

QuoteSkalierte, inbesondere nicht orthotrope Skalierungen, können Probleme bei X_COLLISION hervorrufen.
Wenn ich zum Beispiel ein Terrain habe und mache X_SCALING 2,2,2  dann fällt der Spieler durch den Boden. Probier's mal aus bei dir.:)

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Kitty Hello

Echt!? Oh sch.....

Tenorm

Die Box sitzt richtig.
Wenn das Problem bei Scaling liegt, hab ich aber ein Problem: Ich scaliere meine Welt ums 500-fache, da ich im Editor keine unbegrenzt große Welten erstellen kann. Kann man sowas überbrücken/reparieren/umstellen?

Danke
Gruß

Tenorm

Schranz0r

Eher nicht, was benutzt du den für ein Programm?
Also in Blender solltest du es doch scalieren können auf die größe was du brauchst ?
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tenorm

Ich hab zwar Blender auch, verwende aber Milkshape 3D, da kenn ich mich halt gut aus, das Programm an sich ist eigendlich für Player, aber tuts auch super für Welten. Ausserdem zahllose in- und export-Optionen. Was anderes kann man nicht dagegen machen?

Gruß

Tenorm

PS: Vielleicht könnt ihr das Problem ja im nächsten Update beheben, wäre echt ne gigantische Hilfe, da ich sonst ja nie scalieren kann, ohne das die Kollisionsabfrage spinnt.
Danke

Schranz0r

Ich glaub Gernot ist schon auf suche, denke das war nicht so geplannt, das beim Sculling die Kollision falsch ist ?! :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tenorm

Danke, ich schätze sowas ;)

x-tra

nur mal so offtopic: wie schauts inzwischen mit boden- bzw. weltkollisionen gegenüber player aus?(wollt keinen extra thread öffnen)

Tenorm

Und wie stet´s mit der Behebung des Problems?
Irgendwelche Fortschritte?