Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

11

30.05.2006, 09:20

@david:
in tbUtils.cpp
kann es sein, dass du in der funktion tbTriangleHitsTriangle im 6ten fall:

C-/C++-Quelltext

1
2
3
4
5
6
else if(fL2A >= 0.0f && fL2B <= 1.0f)
    {
        // Fall 6!

        if(pvHitStart) *pvHitStart = vL2A;
        if(pvHitEnd) *pvHitEnd = vL2B;
    }

ein "return TRUE" vergessen hast ?

mfg
soxx

Anonymous

unregistriert

12

30.05.2006, 10:35

Zitat von »"soxx"«

*push* :)


Sind wir hier bei Beepworld.de oder was? ;)

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

13

30.05.2006, 10:42

Zitat von »"DarkRaider"«


Sind wir hier bei Beepworld.de oder was? ;)


hehe, nein aber ich wollte nur andeuten, dass ich hilfe bei der kollisionserkennung benötige - ich weiß leider absolut nicht wo der fehler (einer/mehrere) sein könnte - ist irgendwie relativ unmotivierend, wenn man schon 1 woche bei der kollisionserkennung rumackert.

mfg
soxx

Anonymous

unregistriert

14

30.05.2006, 10:45

Zitat von »"soxx"«

Zitat von »"DarkRaider"«


Sind wir hier bei Beepworld.de oder was? ;)


hehe, nein aber ich wollte nur andeuten, dass ich bei der kollisionserkennung hilfe benötige - ich weiß leider absolut nicht wo der fehler (einer/mehrere) sein könnte - ist irgendwie relativ unmotivierend, wenn man schon 1 woche bei der kollisionserkennung rumackert.

mfg
soxx


OH MANN!!!! Das kenn ich nur zu gut!!! Bin ebenfalls wider am rumfummeln
seit ca. 3-4 Tagen davor hatte ich Probleme mit der Jump Funktion und habe
dafür über ein - zwei Wochen mit andere Hilfen benötigt...Das ist echt
super unmotivierend. Eine gute Möglichkeit ist noch sich Source Code
runterzuladen, wo das gewünschte Thema eventuell enhalten ist oder
Tutorials... Aber sonst kann ich dir leider auch nicht weiterhelfen...

ext

Treue Seele

  • Private Nachricht senden

15

30.05.2006, 14:30

Sag mal Soxx bist du mal mit einem Debugger Schritt für Schritt durch und hast die Werte mal verglichen? Wenn du zB weißt, dass die TriBase Engine das richtig macht, dann lass die einmal mit den gleichen Daten laufen, notier dir alle Ergebnisse und dann lasst du das ganze mal mit deiner Funktion laufen und vergleichst das mit den Referenzwerten.

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

16

30.05.2006, 14:48

:D der debugger ist mein bester freund.
das problem ist, dass ich alles und auch wirklich alles unabhängig von tribase geschrieben habe - ich habe nur die kollisionserkennung von der tribase entnommen. ich kann nicht einschätzen, wie viel aufwand es jetzt wäre, das programm (ATL) kompatibel mit der tribase engine zu machen - wahrscheinlich würde das wieder ein paar tage dauern...

bez. dem problem: es ist wirklich sehr sehr sehr sehr komisch, ich habe aktuell nur die dreieckskollisionserkennung an (triangle vs triangle), aber trotzdem gibt es noch eine unschärfe bei den kollisionen. das ist sehr ärgerlich, denn den code habe ich mindestens 5x mit der tribase verglichen... irgendwo ein kleiner fehler (sowie mit der berechnung der inversen ==> bei rotationen ging die kollisionsberechnung nicht mehr) und der macht mir das leben schwer :)

mfg
soxx

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

17

01.06.2006, 13:24

wieder mal ich :)
habe mich jetzt die letzten 2 tage von dem problem mit der kollisionserkennung distanziert :)
heute habe ich nochmals den code, den ich mit der tribase engine vergleichen kann, verglichen. auch diesmal keinen fehler gefunden.
kann mir wirklich KEINER einen RAT geben, woran die kollisionstests scheitern können ?????

mfg

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

18

01.06.2006, 14:33

Eine komplette Codeanalyse ist für Unbeteiligte einfach zu viel Arbeit... Wenn du die Motivation hast würde ich ohne deinen Code nochmal anzuschauen von vorne anfangen, nur die Tribase Originale als Vergleich. Vielleicht beseitigst du so einen banalen Fehler der einem beim Durchschauen einfach nicht auffällt.

Ansonsten kann ich dir nur raten das Problem immer weiter zu reduzieren, du weißt scheinbar in welcher Funktion der Fehler jetzt auftritt, also erstelle eine Testumgebung in der du nur die Funktion mit 2 Testobjekten die je aus einem Dreieck bestehen aufrufst, dann kannst du von da aus weitergehend immer mehr Codeabschnitte eliminieren bis du am Ende den Teil haben müsstest, in dem der Fehler steckt.

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

19

01.06.2006, 14:58

Zitat von »"Spik)evil("«

Eine komplette Codeanalyse ist für Unbeteiligte einfach zu viel Arbeit...

da hast du absolut recht.
bez. neuanfang. habe heute angefangen, alle bereiche die anscheinend nicht funktionieren, wieder neu von der tribase zu importieren. diese musste ich natürlich wieder anpassen -> aus tbvector3 => d3dxvector3 etc. -> das resultat ist immer noch das selbe :?
wenn man sich nun die dreiecke anguckt, die bei der kollision verglichen werden, findet man auch keinen fehler -> habe sie alle rendern lassen - entspricht 1:1 dem original mesh objekt. die matrix, die ich zum kollisionstest hernehme (aus dieser wird dann auch die inverse) ist natürlich die selbe, die ich zum rendern verwende. das KOMISCHE ist, wenn ich diese matrix nach augenmaß manipuliere - z.b. x-pos ändern funktioniert die kollisionserkennung in einem fall. es ist höchstwahrscheinlich eine ziemlich banale angelegenheit und recht nervig, dass die ganze arbeit dadurch aufgehalten wird :evil:

mfg
soxx

soxx

Frischling

  • »soxx« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Klagenfurt

  • Private Nachricht senden

20

01.06.2006, 15:22

ich hab da mal schnell was "rausgemergelt".
ergebnis des tests mit 2 dreiecken:
die kollisionsabfrage funktioniert mit 2 dreiecken immer (egal wie ausgerichtet) ABER NUR ( :lol: ) WENN sich dreieck A nach rechts und B nach links bewegen. vice versa funktioniert NICHT !
kann also nur an der matrix liegen !?!

mfg
soxx

Werbeanzeige