Keine Kollision Response

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Blitzcraft

Betreff: Keine Kollision Response

BeitragMo, Sep 05, 2011 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hätte da ne Frage zur Kollision.
Wurde zwar schon gefragt aber ich wurde daraus auch nicht wirklich schlauer... Rolling Eyes

Gibt es eine Möglichkeit Kollision zu checken aber das keine Response kommt?
Also das das Entity einfach durch das andere geht und nicht stoppt oder slidet oder so?
Screenshot aus meinem ersten Projekt

Xeres

Moderator

BeitragMo, Sep 05, 2011 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Jupp, sollte gehen. Im Zweifelsfalle kann man immer noch eine eigene Kugel-Kugel Kollision verwenden.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Blitzcraft

BeitragMo, Sep 05, 2011 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie? Laughing
Screenshot aus meinem ersten Projekt

Xeres

Moderator

BeitragMo, Sep 05, 2011 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ClearCollisions, ResetEntity, EntityDistance, EntityPick
Kommt darauf an, was du hast oder willst.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Blitzcraft

BeitragMo, Sep 05, 2011 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab einmal das spielermesh und ein Paar Triggerboxen.
Der SPieler soll durch die Box laufen können und es soll gecheckt werden ob drin "steht"

Und gibt es eine Möglichkeit den Namen in diesem Forum zu ändern?
Screenshot aus meinem ersten Projekt
 

feider

ehemals "Decelion"

BeitragMo, Sep 05, 2011 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, um zu testen, ob der Spieler in einer Box ist, wäre eine Kollisionsabfrage wohl überflüssig. Es ist schneller, einfach die Entfernung von Spieler und Box zu berechnen. Dazu genügt dann der Satz des Pythagoras (richtig geschrieben?)

lg
Dece

Blitzcraft

BeitragMo, Sep 05, 2011 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Es sollte aber nicht nur überprüft werden ob der Mittelpunkt drin ist, sonder auch ob die Hand oider so in der Box ist!
Und geht das nicht nur für Kugeln?
Screenshot aus meinem ersten Projekt

Xeres

Moderator

BeitragMo, Sep 05, 2011 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Für Kugeln reicht ein Abstand, für Quader kann man sich auch eine Simple Routine schreiben mit MeshWidth, MeshHeight, MeshDepth - oder wo auch immer man die Größen gespeichert hat.

Für Namensänderungen sind die Admins da, per PN oder im Portal-Subforum nachfragen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Blitzcraft

BeitragMo, Sep 05, 2011 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok danke!
Screenshot aus meinem ersten Projekt

Tankbuster

BeitragMi, Sep 14, 2011 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze auch gern MeshesIntersect bei nicht allzu komplexen Modellen spart es gegenüber der normalen Kollisionabfrage viel Zeit. Ich verwende für meine Spielchen eigentlich nie dieses Collision Zeugs. Das ist einfach ungenau und verursacht nur Fehler (Positionierungsfehler wegen angeschalteter collision, ect), komisches sliden und irgendwo steckenbleiben...

Wenn man dann mal eine Kollision berechnen muss, ist MeshesIntersect super, oder eben normale Abstandsberechnung...
Twitter
Download Jewel Snake!
Windows|Android

ToeB

BeitragMi, Sep 14, 2011 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Also MeshesIntersect mag zwar einfach sein, ist aber meiner Erfahrung nach sehr langsam (je nach dem wie oft man es braucht und wie komplex die Meshes sind). Collisions finde ich hier viel Besser.

Ich würde ja die "Triggerboxen" so abspeichern :
mitte_x, mitte_y, mitte_z
size_x, size_y, size_z

Dann kann man nämlich ganz einfach prüfen ob der Spieler sich darin befindet oder nicht (Ist sogar sehr schnell !). Einfach jede Koordinate prüfen ob sie in der Begrenzung der Jeweiligen Ebene liegt, also z.B. ob der gewünschte X wert größer als mitte_x-size_x ist und kleiner als mitte_x+size_x. Wenn alle drei Dimensionen (X/Y/Z) diese Bedingung erfüllen, so liegt der Punkt in der Box und es kann "getriggert" werden Wink



@Tankbuster : Ich habe da nen Trick angewandt, und zwar vor der Verschiebung mit HideEntity verstecken (Wirkt sich ja auch auf die Kollision aus) und dann verschieben und wieder anzeigen lassen. Oder du änderst den EntityType auf einen ungenutzten Index vor den verschieben und setzt ihn danach wieder zurück. Oder du benutzt ResetEntity, was den gleichen Effekt bewirkt.

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group