"Polygon to Polygon Collision"

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

LukasBanana

Betreff: "Polygon to Polygon Collision"

BeitragSa, Apr 21, 2007 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

ich hab ma ne Frage zur Kollision:
gibt es in Blitz3D eine bereits vorhandene oder überhaupt eine Möglichkeit "Polygon to Polygon Collision" zu verwenden?
Das währe nämlich echt praktisch Wink

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
  • Zuletzt bearbeitet von LukasBanana am Mo, Apr 23, 2007 16:33, insgesamt einmal bearbeitet
 

Dreamora

BeitragSa, Apr 21, 2007 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorhanden: Ja
Sinnvoll: Nein
Grund: EXTREM LANGSAM

Wie es geht: MeshesIntersect (editiert)


Sinnvollere Variante: Linepick und zwar auf höchst intelligente Art: Du pickst für bewegliche Objekte (vor allem Projektile) vom jetzigen Ort zu dem Ort wo sie im nächsten Frame wären.
dadurch hast du eigentlich auch poly poly (oder line Poly) kollision vorausgesetzt du hast pickmode auf den zielobjekten gesetzt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
  • Zuletzt bearbeitet von Dreamora am So, Apr 22, 2007 11:25, insgesamt einmal bearbeitet

NightPhoenix

BeitragSa, Apr 21, 2007 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Aua,... Rechtschreibung kann weh tun
off topic:
verwänden ... was? du willst irgendwo eine wand hin bauen? ich glaube du meinst verwenden
kennst du den Spruch:
"Wer nämlich mit H schreibt ist dämlich?" ist nämlich wirklich so Wink
*Klugscheißmodus aus*

Ansonsten basieren auch Physikengines auf Poly to Poly Kollision... falls du also irgendwie ein Rennspiel oder so machen möchtest reicht entweder der Befehl EntityBox, oder du benutzt eben eine Physikengine

MfG.
 

Todeskop

BeitragSo, Apr 22, 2007 7:17
Antworten mit Zitat
Benutzer-Profile anzeigen
...naja NightPhoenix ich finde es schlimmer das er MeshIntersect nicht wie MESHESINTERSECT geschrieben hat Laughing Rolling Eyes .....
apropo ich finde MESHESINTERSECT auch zu lam aber erzähl ma wozu brauchst du den eine Polygonen genaue Collision wen man den Radius richtig einstellt klappt es auch suber mit der normalen Collison.....
MFG Todeskop

Puccini

BeitragSo, Apr 22, 2007 8:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich will keinen neuen Thread aufmachen, daher stell ich mal einfach hier meine Frage!

Ich hab ein Mesh, das eine steile schräge Wand hat.

Die Kollision klappt wunderbar mit geraden Wänden, sobald ich aber an die schräge Wand komme, slidet mein Spieler diese empor! :<

das soll nicht sinn und zweck sein T_T das is eine Aussenmauer, mit steilen schrägen Stützpfeilern!
so hier:
http://www.fuhrmann-figuren.de...mauer1.jpg

wie kann ich also verhindern das der spieler da rauf kommt??

Der Spieler wird mit TranslateEntity immer um -3 in Y-Richtung verschoben pro runde -> schwerkraft
beim vorwärtslaufen jedoch nur mit +1 bewegt, daher dachte ich mir, is doch die fallbeschleunigung größer als mein Vortrieb!

Das TranslateEntity um -3 steht als letzter Befehl in meiner Stéuerung.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

Shodan

BeitragSo, Apr 22, 2007 10:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Setzte in die schräge Stützpfeiler zusätzliche Pivots und gib ihnen mit EntityBox entsprechende quaderförmige Kollisionszonen. Dadurch wird, zumindest für die Kollision, aus den schrägen, senkrechte Stützpfeiler, an denen deine Spielfigur nicht hochsliden kann.

mfg Shodan
www.selfmadegames.de

FireballFlame

BeitragSo, Apr 22, 2007 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du benutzt Kollisionsmodus 2 (bei Collisions) und hast eine ausreichende Schwerkraft.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

LukasBanana

BeitragMo, Apr 23, 2007 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Also das war ja jetzt schon mal eine Lösung.

Warum ich das machen will? damit meine Kisten nicht in die Mauer reingeschoben werden können.

Das kann man über einen WorldEdit machen und wenn man da ein komplizierteres Objekt einbaut (als 'Physik'- Objekt) reicht es nicht das Objekt mit einem Radius zu versehen Wink

Aber Danke für eure Antworten

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

Dreamora

BeitragMo, Apr 23, 2007 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt keine komplizierten physik objekte.

Physikobjekte müssen gewisse eigenschaften erfüllen (konvex oder wars konkav) weil es sonst mathematisch nicht effizient lösbar ist.
Selbst mit entsprechenden Hüllen (also umhüllenden meshes) kannst du keine 1000 polygon objekte nutzen.

Darüber hinaus hast du innerhalb von blitz keine chance polygon - polygon physik zu machen. Dafür sind die Intersect Routinen um einige Welten zu langsam


Will heissen: Nimm ein physik system wie ode oder newton Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

LukasBanana

BeitragDi, Apr 24, 2007 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
es gibt keine komplizierten physik objekte.

Physikobjekte müssen gewisse eigenschaften erfüllen (konvex oder wars konkav) weil es sonst mathematisch nicht effizient lösbar ist.
Selbst mit entsprechenden Hüllen (also umhüllenden meshes) kannst du keine 1000 polygon objekte nutzen.

Darüber hinaus hast du innerhalb von blitz keine chance polygon - polygon physik zu machen. Dafür sind die Intersect Routinen um einige Welten zu langsam


Will heissen: Nimm ein physik system wie ode oder newton Smile

Ja, zu langsam auf jeden Fall. Aber ich meinte mit "kompliziertere Objekte" ein Objekt bei der sich EntityRadius oder EntityBox nicht so gut anwenden lässt
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

tft

BeitragDi, Apr 24, 2007 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

dann verwende doch einfach Pivot points denen du einen Radius verpast und hänge sie an dein Entsprechendes Object an die Kanten die du als sinfoll erachtest. Und schreibe eine Kolisions Rutine die diese kleinen Kolisions Bälle auf positions änderung untersucht. Diese Bälle kannst du dann auch zum ausrichten des Objectes verwenden. Die Kolisions Objecte einfach auf Kolision Sphere/Poly stellen. Alle objecte die gerade nicht akut gefahr laufen irgend wo zu kollidieren einfach aus der Berechnung ausklammern.

PS: Die Rechtschreibfehler sind mein Eigentum. Kopieren nur mit Lizenz erlaubt.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

LukasBanana

BeitragMi, Apr 25, 2007 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi "tft",

auf die Idee bin ich aiuch schon gekommen, das Problem ist einmal das ich noch nie mit der Funktion AlignToVector gearbeitet habe, bzw. ich weiß nicht wie sie funktioniert.

Und dann gibt es noch ein zweites Problem:
ich nehme als Beispiel die MetallFässer aus CounterStrikeSource.
Wenn sie gegen eine Erhöhung fallen kollidieren sie wunderbar. Aber wenn ich bei mir jetzt mehrere Pivots verwände, und die oberen Pivots meines MetallFasses jetzt höher sind als das zu kollidierende Objekt fällt es trotzdem durch.

Dass ist blöd zu sagen, aber während ich das hier so schreibe fällt mir auf das in CSS eingentlich sogar eine Triangle-to-Triangle Colission vorliegt Confused

"Ach du liebe Zeit", das ist ja komplizierter als ich dachte

Aber wenn du es schon mit den Pivots ansprichst, kannst du mir vielleicht zeigen wie ich die Funktion AlignToVetor anwenden kann?

Gruß LukasBanana

(PS: Auf Grund des hier verwändeten "Lange Rede, kurzer Sinn" Schema habe ich nicht mehr nachgesehen ob sich Rechtschreibfehler darin befinden und stelle sie deshlab zur privaten als auch zur kommerziellen Nutzung zur verfügung ^^)
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

tft

BeitragMi, Apr 25, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

da gibt es eigentlich nicht viels zu zeigen.Ist irgendwie voll dooff der Befehl. In der Deutschen anleitung istein Schönens Code Snipe. Ansonsten such doch mal im Code Archiv nach MyPointEntity(). Das vinde ich besser. Aber es macht die Bescheuerte berechnung der Phasen Aufteilung genauso Dämlich wie die Orginal befehle.

Sorry für sofiel NEgatives geschreibsel. Aber dies Befehle haben mich schon an den rande des Verstandes gebracht..
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

LukasBanana

BeitragDo, Apr 26, 2007 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
tft hat Folgendes geschrieben:
Sorry für sofiel NEgatives geschreibsel. Aber dies Befehle haben mich schon an den rande des Verstandes gebracht..

Kein Problem, man darf ruhig auch mal sagen was man von solchen Dingen hält Wink Das kenne ich gut ^^

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Puccini

BeitragFr, Mai 11, 2007 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
So, ich nochmal! will wieder keinen neuen thread aufmachen, da es ja etwas mit dem hier zu tun hat Wink

Ich hab als playermodel eine stinknormale box! an diese box wird per AddMesh ein Handmodel angehängt, das man seine Hände im spiel sehen kann!

Klappt gut und schön (auser das die hände so imer auf einer höhe bleiben wenn ic mit maus gucke, daher will ich das noch an die cam hängen).

nun zu meiner frage:

ich habe momentan die kollision über entityradius gelöst, aber die hände reichen immer noch in die wand hinnein! wenn ich mit entitybox arbeite und einen ausreichen grossen kasten erstelle, dan kann ic keine treppen mehr hinaufsteigen!

also wäre jetzt meine idee gewesen ich kombinier entityradius+entitybox! geht das überhaupt oder überschreiben sich diese beiden befehle?? Question
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

flashmaxel

BeitragFr, Mai 11, 2007 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
aber die hände reichen immer noch in die wand hinnein!
benutz doch einfach EntityOrder ...
Real C programmers never die; they cast to void.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group