Ich versuche, ein einfaches Ego-Shooter-Spiel mit Bullet und OpenGL zu machen. Ich habe das Problem, dass meine starren Körper nicht mit hoher Geschwindigkeit kollidieren.Bullet - Steife Körper kollidieren nicht mit hoher Geschwindigkeit?
Meine Kugeln werden direkt durch andere starre Körper, die ich habe, wie Wände. Verringern der Geschwindigkeit auf weniger als 10 führt zu Kollisionen, aber dies ist für ein sich bewegendes Geschoss zu gering. Die Kugel bewegt sich auch wahnsinnig schnell (ich weiß, dass es eine sich schnell bewegende Kugel ist, aber manchmal kann ich es nicht einmal sehen, nicht sicher, ob das erwartet wird).
Ich denke, dass es damit zu tun hat, wie ich die Simulation mache? Das Nachlesen hat mich verwirrt. Wie kann ich es so machen, dass meine Objekte immer kollidieren (zumindest wenn es ziemlich schnell geht), und wenn möglich, gibt es eine Möglichkeit, die Simulation zu verlangsamen, während die korrekte Geschossgeschwindigkeit etc. beibehalten wird, so dass ich das tatsächlich sehen kann Kugel bewegt sich und kollidiert?
Ist das in der Einheit? –
Wie erkennen Sie Kollisionen im Code? –
Nicht in Unity, nur C++ - Code mit OpenGL und Bullet. Und um Kollisionen zu erkennen, lasse ich Bullet einfach damit umgehen, ich habe keine Kollisionsfahnen. Ich glaube Bullet behandelt standardmäßig Kollisionen (siehe Bullet's falling sphere Tutorial), und meine Kugeln kollidieren mit Wänden, Fußböden etc., wenn sie relativ langsam fahren (Sie werden auf den Boden fallen und auf dem Boden ruhen Körper zum Beispiel) –