Kollisionsabfrage bei Animierten Objekten

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

George S.

Betreff: Kollisionsabfrage bei Animierten Objekten

BeitragSo, Aug 01, 2004 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

nachdem ich nun seit knapp einem Jahr mit Blitz2d arbeite bin ich jetzt auch Blitz3d umgestiegen, es konnten fast alle Fragen die bis jetzt aufgetaucht sind durch Tuts und Forumsuche geklärt werden.

Allerdings habe ich keine Antwort zu folgender Frage gefunden:

Die Standard-Kollisionsabfrage funktioniert wohl nicht bei zwei animierten Objekten (wie hier im Forum geschrieben wurde), in der Praxis, ich habe die Camera (Ich Perspektive) und eine animierte Tür, durch die ich auch bei geschlossenem Zustand durchlaufen kann. Welche Lösungen gibt es für das Problem? Ich habe schon etwas von LINEPICK gelesen, gibt es noch andere Wege, wenn nein, wie funktioniert das mit Linepick um Obejektkollision zwischen zwei animierten Objekten zu bewerkstelligen?

Vielen Dank im Vorraus für die Unterstützung.

Viele Grüße,

George

Markus2

BeitragSo, Aug 01, 2004 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du ein 3D Objekt z.B. ne 3ds Datei mit LoadAnimMesh ladest
kannst du die Hirachie der Objekte die da drin stecken druch
gehen , oder nimm FindChild , also beim laden bekommst du
nur ein Entity zurück .

Was du angucken must ist EntityType , EntityRadius evtl. EntityBox .
Um alle Namen der Entitys heraus zu finden kannste ja mal
ne Rekursive Funk. machen , siehe also noch EntityName .

Um eine CollisionsBox zu setzen hatte ich letztens was
ins Code Archiv getan was das Leben einfacher macht Smile

Hier mal nen Beispiel Wink
Code: [AUSKLAPPEN]

Function EntityAlphaRec(e,a#)

 ;MR 11.07.2004

 ;Entity und alle Child Objekte Alpha setzen :-)

 ;Recursive !

 If e=0 Then Return

 If EntityClass(e)="Mesh" Then EntityAlpha e,a

 Local c,i
 For i=1 To CountChildren(e)
  c=GetChild(e,i)
  EntityAlphaRec c,a
 Next

End Function
 

George S.

BeitragMo, Aug 02, 2004 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Markus,

spitze das hilft absolut weiter! Very Happy

Viele Grüße,

George
 

2paul

BeitragDi, Aug 03, 2004 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, ich weiss jetzt nicht ob ich das richtig verstanden hab,

wieso haste für die tür nen animiertes objekt genommen ????
turnentity und alles is feinstens, dann geht auch die kollision
bei mir sind die türen ganz normal als umgebungs-kollision gekennzeichnet

einzigstes problem dabei, beim öffnen der tür, du stehst direkt vor der tür,
dann geht die tür natürlich durch dich durch, da ja nur
camera -> umgebung abgefragt wird, nicht umgekehrt
 

George S.

BeitragDi, Aug 03, 2004 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo 2paul,

naja die Türanimation ist etwas komplizierter (Klapptür) als dass ich sie mit Turnentity darstellen könnte Smile Das mit TurnEntity hatte ich bei einem simplen Model schon benutzt, nur wollte ich noch alle anderen Möglichkeiten für Kollisionen (auf für andere Objekte) testen, da bevor ich überhaupt ansatzweise ein Game in 3D programmiere, ich mich ja erst mal mit den Befehlen und Fähigkeiten vertraut machen will, ist halt doch etwas anderst als 2D...manchmal 8)

Letztendlich habe ich nun mit zwei Entitys (1x animiert/1x Statisch) und HideEntity für das statische TürEntity gearbeitet, das Ergebniss ist ganz zufriedenstellend. Somit habe ich dann auch ein wenig Praxis mit Animationen sammeln können.

Viele Grüße,

George

Markus2

BeitragDi, Aug 03, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso springste nicht einfach den Key an wo die Klapptür zu ist ?
Hättest du doch ein Entity gespart ...
 

George S.

BeitragMi, Aug 04, 2004 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Du meinst wegen der Animation? Sprich AnimSeq / Animate? Das statische Entity ist nur zur Kollisionskontrolle gedacht, sprich unsichtbar, oder habe ich Dich falsch verstanden? Shocked Wink

Markus2

BeitragDo, Aug 05, 2004 13:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso ,
also wenn die öffnen Anim. abgelaufen ist nimmste die Collision weg
von der statischen Tür das man durch laufen kann .
Ist natürlich auch ne Lösung .
 

George S.

BeitragDo, Aug 05, 2004 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ist eine Alternative von vielen, professioneler für die Abfrage ist allerdings Dein Skript, für die kleinen Abfragen bis jetzt reicht aber auch diese Art der Kollisionsabfrage

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group