Terrain Kollision und vieles mehr :)
Übersicht

Blitzkrieg BopBetreff: Terrain Kollision und vieles mehr :) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So... ich fange an, mich mit BB3D auseinanderzusetzen.
Hab erstmal das Tut von Inpcac studiert und komme ganz gut klar, doch ein paar kleine Fragen hätte ich schon: 1. Ich habe ein Terrain(heightmap) gebaut und stelle dort einen Cube drauf. Dann habe ich Collisions bestimmt, doch leider versinkt der Cube ein bisschen im Terrain,was mache ich falsch? 2. Die Steuerung sieht im mom so etwa aus(sehr unausgereift): Code: [AUSKLAPPEN] If KeyDown(200) If speed < speedmax speed = speed + 0.25 EndIf ElseIf KeyDown(208) If speed > speedmin speed = speed - 0.25 EndIf ElseIf KeyDown(203) TurnEntity figur,0,drehen,0 ElseIf KeyDown(205) TurnEntity figur,0,-drehen,0 EndIf MoveEntity figur,0,-2.5,speed Klappt wunderbar, doch warum kann ich zum Beispiel nicht nach vorne drücken und gleichzeitig nach rechts? Wüsste nicht, warum das nicht geht. 3. Wie kann man einer Kollision eine bestimmte Funktion zuweisen? Also wenn man Collisions beschreibt, hat man 3 Sachen zur auswahl, was passieren soll. Aber was ist, wenn ich zum Beispiel das Programm dann beendet möchte? Das ist doch sicher möglich, nur wie? In der Onlinehilfe habe ich nur Berechnungsarten zum Beispiel des Entity gefunden, was ja nicht viel bringt dann, oder ![]() 4. Ist der Unterschied zwischen : "MoveEntity" und "TranslateEntity" nur, das man bei "TranslateEntity" den Drehwinkel vom parent berücksichtigen kann? Najoa, sind ja doch ein paar mehr Fragen geworden! Aber danach bin ich sicher schlauer ![]() MFG |
||
~ Hey Ho Let's Go ~ |
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Welche Kollisionsart hast du bei deiner Cube -> Terrain Kollision bestimmt? Sphere / Polygon nehm ich an. Also wird dein Cube wie eine Sphere behandelt, was zur Folge haben kann, dass manche Ecken etwas einsinken. Wie ich bereits vorher in einem anderen Thread gesagt habe, halte ich nicht viel von dem eingebauten Kollisionszeug. Warum probierst dus nicht mal mit Tokamak. Das kostet zwar ein wenig Einarbeitungszeit, lohnt sich aber bestimmt. Hier die URL: www.tokamakphysics.com
2. Der Fehler hat nix mit 3D zu tun. Hier mal ein Pseudocode, wie du den PC anweist, das zu handhaben: Wenn Keydown(200) dann speed = speed + 0.25 Wenn nicht Keydown(200) dann... Wenn Keydown(208) dann speed = speed - 0.25 Wenn nicht Keydown(208) dann... usw. -> Nur wenn die erste Bedingung nicht erfüllt ist, wird die zweite überprüft. Nur Wenn die erste UND die zweite Bedingung nicht erfüllt ist, wird die dritte überprüft usw. richtiger Code: Code: [AUSKLAPPEN] If KeyDown(200)
If speed < speedmax speed = speed + 0.25 EndIf EndIf If KeyDown(208) If speed > speedmin speed = speed - 0.25 EndIf EndIf usw. ... 3. Mit CountCollisions kannst du herausfinden, ob eine Kollision stattgefunden hat. Mit EntityCollided kannst du dann schauen, welches Entity kollidiert hat. Also so: If EntityCollided(ZielObjekt, KollisionsType) = MeshDerKollidierenSoll Then End 4. Moveentity berücksichtigt Pitch, Yaw und Roll beim bewegen eines Objekts, Translateentity nicht. |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Teile 2-5 verstanden und verbessert ![]() ![]() Aber das mit dem Terrain muss doch auch anders gehen oder? Ich möchte als BB3D anfänger nicht gleich Tokamak verbraten! *Edit: Habs grad anstatt mit nem Terrain mit ner Plane getestet. Da steckt der auch drin ![]() |
||
~ Hey Ho Let's Go ~ |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay, hab nun mit
Code: [AUSKLAPPEN] Entityradius mesh,(meshheight(mesh)/2) die Figur zum stehen gebracht. Nun ist der Schuss dran 8) |
||
~ Hey Ho Let's Go ~ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group