EntityBox bei QuellObjekt?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Megamag

Betreff: EntityBox bei QuellObjekt?

BeitragMo, Jul 20, 2009 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei Kollisionen muss das Quellobjekt doch immer EntityRadius haben
(sphere-to-...) oder? Ich habe nämlich eine Spielfigur, die mit dem Meshlevel
kollidiert. Da habe ich also sphere-to-polygon genommen. Nun muss der
Player ja Entityradius haben, aber damit ist er eine Kugel, und bleibt bei einer
möglichen Kante nicht stehen, wie es bei EntityBox der Fall wäre. Ich weiß,
dass ihr mich nicht versteht, deshalb habe ich eine Skizze vorbereitet: Wink
user posted image
Ich möchte also, dass das Quellobjekt mit einer Box ausgestattet wird, damit das
nicht eintritt. Was soll ich also tun?

The_Nici

BeitragMo, Jul 20, 2009 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Box zu Box ist in Blitz3D nicht möglich, jedoch kannst du per MeshesIntersect dir selbst was basteln, in dem du eine Alpha-Box um die Figur baust.
MfG

Megamag

BeitragMo, Jul 20, 2009 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte ich zwar machen, aber die Funktion ist so langsam.
Aber totzdem danke!

The_Nici

BeitragMo, Jul 20, 2009 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
nur weil es in der Hilfe steht? Wink
Wenn du 2 Boxen hast, wird das ganze nicht allzu schlimm.

MfG
 

BIG BUG

BeitragMo, Jul 20, 2009 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine andere Möglichkeit ist einfach mehrere Spheres zu nutzen um eine Boxkollision anzunähern...
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Megamag

BeitragDi, Jul 21, 2009 10:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man einem Objekt denn mehrere Radien zuweisen?

AnniXa

BeitragDi, Jul 21, 2009 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaube das geht nur, wenn du dem objekt pivots unterordnest (als child) , und den pivots dann den eigene radien gibst.
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

Chrise

BeitragDi, Jul 21, 2009 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
AnniXa hat Folgendes geschrieben:
ich glaube das geht nur, wenn du dem objekt pivots unterordnest (als child) , und den pivots dann den eigene radien gibst.


dann wird aber das parentobjekt nicht gestoppt, wenn es mit einem anderen Kollidiert. Dann werden glaub ich nur die Chilobjekte verschoben, aber nicht das Parent. Bin mir da aber nicht zu 100% sicher, aber glaube zu meinen, dass ich das schonmal ausprobiert hab.
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Megamag

BeitragDi, Jul 21, 2009 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ahbe ich auch schonmal gemacht.
Und ich habe mich jedesmal wieder geärgert, dass die Objekte verschoben
wurden, aber dem Parent ist nie etwas passiert. Hm, mal sehen. Vielleicht
fällt mir ja noch was anderes ein...
 

Kruemelator

BeitragDi, Jul 21, 2009 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn sich die Boxen nicht drehen brauchen, dann kann man sich ja schnell eine eigende Kollision basteln.

Megamag

BeitragDi, Jul 21, 2009 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, wenn es nur um Boxen ginge vielleicht. Aber es muss ja ein komplettes Levelmesh überprüft werden.
Naja. Mir bleibt eigentlich gar nichts anderes übrig, als bei EntityRadius zu bleiben. Ist ja jetzt auch nicht soo schlimm. Wenn mir im Laufe der Entwicklung was Besseres einfällt, baue ich es halt ein. Very Happy

Chrise

BeitragDi, Jul 21, 2009 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne Idee wäre:

- Pivots mit unterschiedlichen Radien -> zu einem Parentobjekt hinzufügen.
- Lokale Koordinaten der Pivots einspeichern (also nicht Global sondern nur in Bezug zum Parentobjekt)
- Für jeden pivot gewünschte Eigenschaft einstellen, zb. sliden (nur aufwärts)
- Jedes Frame nachprüfen, ob sich die gespeicherten lokalen Koordinaten von den aktuellen lokalen Koordinaten unterscheiden.
- Wenn ein unterschied festzustellen ist, bewegst du das Parentobjekt in die entgegengesetzte Richtung wie die Änderung des Pivots (also minus Delta-X/Y/Z des Pivots) und setzt anschließend den kollidierten Pivot wieder zurück auf die standart (gespeicherten) lokalen Koordinaten.

Ist jetzt nur theoretisch ne Idee. Müsstest du einfach mal ausprobieren und schaun, obs klappt.
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group