Kollision...
Übersicht

![]() |
pirahniBetreff: Kollision... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiß, dass es dieses Thema schon ein paar mal gibt, aber ich bin nicht fündig geworden.
Ich habe Dominosteine, die stoppen sollen wenn sie einen anderen Stein berühen. Gleichzeitig soll aber auch eine weitere aktion durchgeführt werden, nämlich das der Stein der berühet wurde auch umfällt. Dazu brauche ich die identität des Steines der auf den anderen Stein fällt. hoffe dass ich es gut beschrieben habe, bei fragen bitte melden. |
||
![]() |
SYSThern |
![]() Antworten mit Zitat ![]() |
---|---|---|
EntityCollided? | ||
Tools and Programms
-------------------- www.systhern.de |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm, mal sehen...
Dominosteine die sich bewegen und auf andere Dominosteine stossen die sich womöglich auch bewegen und eine physikalische Reaktion auslösen = Physikengine. Leider unterstützt Blitz3D keine vernünftige Kollisionskontrolle auf bewegte Mesh-Zielobjekte. Dadurch sind solche Kollisionen nur mit viel Mehraufwand verbunden. Um sich den Mehraufwand zu sparen (da offensichtlich ich noch niemanden gesehen habe, der sowas einsetzt und ich nur bedingt zufrieden mit meiner Lösung bin), würde ich das einsetzen einer Physikengine vorschlagen. Nachfolgend findest du eine Übersicht einiger Engines, die sich mit Blitz3D ansprechen lassen: https://www.blitzforum.de/foru...hp?t=27373 |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
sheldon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Ich hätte da auch noch eine Frage, was die Kollisionen betrifft. Ich programmiere gerade das Spiel 'Breakout', in dem man den Schläger steuert, mit dem man dann den Ball treffen muss usw... in '3D' Bei dem Befehl Collisions (Letzter Parameter) habe ich im 3D Tutorial gelesen: 3D Tutorial von B3D hat Folgendes geschrieben: 1 = Stop 2 = Slide1 - Full sliding collision 3 = Slide2 - Takes into consideration the angle of slopes Ich möchte aber, dass der Ball abprallt, habe aber keinen Plan, wie ich das anstellen soll. Ich schau es mir noch mal genauer an, vielleicht kriege ich es auch noch von selbst raus. MfG, sheldon |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
*spekulation*
du bewegst den ball mit ner Variable speed, und änderst einfach die richtung davon, ich denk mit dem negativen wert Pointentity vom Block würds gehn. */spekulation* |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
sheldon |
![]() Antworten mit Zitat ![]() |
---|---|---|
PointEntity vom Block?! | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sry, ich hab da was total durcheinander gebracht ![]() Des geht gar ned |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
sheldon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich hab es jetzt so gemacht, dass er den Abstand misst ( AbstandX = BlockX - KugelX ) genau so mit Z. (Ich arbeite mit X und Z, nicht mit X und Y(egal)) aber selbst da bin ich jetzt ratlos.
Die Kugel geht in den Block rein und die Formel zur Winkelveränderung stimmt 100% EDIT Ich habe gerade herausgefunden, dass die Funktion nur 1 mal und zwar am Programmstart ausgeführt wird. Die Bewegungsfunktion wird aber auch jeden Schleifendurch ausgeführt. Woran könnte DAS liegen? (der Funktionsaufruf ist natürlich in der Hauptschleife drin) EDIT2 Irgendwas mit der Bedingung muss nicht stimmen: Code: [AUSKLAPPEN] dx# = s\x - b\x
dz# = s\z - b\z If dx# <= 7 And dx# => -7 And dz# <= 7 And dz# => -7 Then Ich bitte um Hilfe. Danke. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group