Kollision mit camera zu dem terrain
Übersicht
BlitzBasic
Blitz3D
lukasimgruetBetreff: Kollision mit camera zu dem terrain |
Antworten mit Zitat |
|
|---|---|---|
| Wie schaffe ich es das die Kamera mit dem Terrain kollidiert? | ||
|
|
Tankbuster |
Antworten mit Zitat |
|---|---|---|
Entweder benutzt du TerrainY und machst sowas:
Achtung: Pseudocode. Code: [AUSKLAPPEN] If EntityY(cam)<TerY(campos) Then PositionEntity cam,x,TerY(campos),z
Oder du machst es mit Collisions , ect.
Einfach mal die Onlinehilfe durchblättern |
||
|
Twitter
Download Jewel Snake! Windows|Android |
||
lukasimgruet |
Antworten mit Zitat |
|
|---|---|---|
|
aha also jetzt z.b so was:
terrain entitytype, 1 cam entitytype, 2 collisons 1,2 |
||
lukasimgruet |
Antworten mit Zitat |
|
|---|---|---|
|
ok, so gings nicht.
Ich zeig mal den Code: Code: [AUSKLAPPEN] Graphics3D 800,600,32,1 SetBuffer BackBuffer() terrain=LoadTerrain("heightmap.bmp") text1=LoadTexture ("terrain text1.bmp") text2=LoadTexture ("mapt2.bmp") EntityTexture terrain,text1,0,0 EntityTexture terrain,text2,0,1 TerrainDetail= 4000 ScaleEntity terrain,50,290,50 ScaleTexture text1,50,50 ScaleTexture text2,3,3 MoveEntity terrain,0,0,0 EntityType terrain, 1 water=CreatePlane() watertext=LoadTexture ("wasser.bmp",4) EntityTexture water,watertext ScaleTexture watertext,100,100 EntityShininess water,1 MoveEntity water,0,10,0 EntityAlpha water,0.8 cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,6000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 EntityType cam, 2 light=CreateLight() TurnEntity light,45,90,0 zombie=LoadMesh("modelle/zombie.b3d") zombie_tex=LoadTexture("texturen/zombie.jpg") EntityTexture zombie,zombie_tex FreeTexture zombie_tex ScaleEntity zombie,7,7,7 PositionEntity zombie,0,40,0 EntityType zombie,OBSTACLE zombie=LoadMesh("modelle/zombie.b3d") zombie_tex=LoadTexture("texturen/zombie.jpg") EntityTexture zombie,zombie_tex FreeTexture zombie_tex ScaleEntity zombie,7,7,7 PositionEntity zombie,-10,0,-8 EntityType zombie,OBSTACLE TurnEntity zombie, 0,90,0 fass=LoadMesh("modelle/fass.3ds") fass_tex=LoadTexture("texturen/fass2.jpg") EntityTexture fass,fass_tex FreeTexture fass_tex ScaleEntity fass,6,6,6 PositionEntity fass,-9.5,0.3,-9 EntityType fass,OBSTACLE TurnEntity fass, 0,35,90 fass=LoadMesh("modelle/fass.3ds") fass_tex=LoadTexture("texturen/fass.jpg") EntityTexture fass,fass_tex FreeTexture fass_tex ScaleEntity fass,6,6,6 PositionEntity fass,-10.5,0,-9 EntityType fass,OBSTACLE TurnEntity fass, 0,90,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-8.5,0,-8 EntityType kiste,OBSTACLE TurnEntity kiste, 0,90,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-9.7,130,-8 EntityType kiste,OBSTACLE TurnEntity kiste, 0,0,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-8,0,-7.5 EntityType kiste,OBSTACLE TurnEntity kiste, 0,90,0 While Not KeyHit(1) RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 MoveMouse 512,384 MoveEntity cam,0,0,10 RenderWorld Flip Wend ClearWorld |
||
|
|
Silver_Knee |
Antworten mit Zitat |
|---|---|---|
|
1. Der Edit 2. In der Hauptschleife fehlt vor RenderWorld ein Updateworld . der Befehl kümmert sich u.a. um Kollision
außerdem find ich die Zeile mit Collisions nicht |
||
lukasimgruet |
Antworten mit Zitat |
|
|---|---|---|
| Ja, den Befehl habe ich extra nicht mit eingegeben. Habe ihn natürlich schon auch getestet:) | ||
|
|
Silver_Knee |
Antworten mit Zitat |
|---|---|---|
|
also collisions 1,2,2,2 kommt vor das Repeat und updateworld so wie beschrieben.
außerdem führt "TerrainDetail= 4000 " dazu dass TerrainDetail eine variable wird. Was du willst ist TerrainDetail terrain,4000 und was ehißt OBSTACLE bei dir? |
||
lukasimgruet |
Antworten mit Zitat |
|
|---|---|---|
|
Es geht immer noch nicht. Was mache ich falsch?
Code: [AUSKLAPPEN] Graphics3D 800,600,32,1 SetBuffer BackBuffer() terrain=LoadTerrain("heightmap.bmp") text1=LoadTexture ("terrain text1.bmp") text2=LoadTexture ("mapt2.bmp") EntityTexture terrain,text1,0,0 EntityTexture terrain,text2,0,1 TerrainDetail terrain,4000 ScaleEntity terrain,50,290,50 ScaleTexture text1,50,50 ScaleTexture text2,3,3 MoveEntity terrain,0,0,0 EntityType terrain, 1 water=CreatePlane() watertext=LoadTexture ("wasser.bmp",4) EntityTexture water,watertext ScaleTexture watertext,100,100 EntityShininess water,1 MoveEntity water,0,10,0 EntityAlpha water,0.8 cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,6000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 EntityType cam, 2 light=CreateLight() TurnEntity light,45,90,0 zombie=LoadMesh("modelle/zombie.b3d") zombie_tex=LoadTexture("texturen/zombie.jpg") EntityTexture zombie,zombie_tex FreeTexture zombie_tex ScaleEntity zombie,7,7,7 PositionEntity zombie,0,40,0 EntityType zombie,OBSTACLE zombie=LoadMesh("modelle/zombie.b3d") zombie_tex=LoadTexture("texturen/zombie.jpg") EntityTexture zombie,zombie_tex FreeTexture zombie_tex ScaleEntity zombie,7,7,7 PositionEntity zombie,-10,0,-8 EntityType zombie,OBSTACLE TurnEntity zombie, 0,90,0 fass=LoadMesh("modelle/fass.3ds") fass_tex=LoadTexture("texturen/fass2.jpg") EntityTexture fass,fass_tex FreeTexture fass_tex ScaleEntity fass,6,6,6 PositionEntity fass,-9.5,0.3,-9 EntityType fass,OBSTACLE TurnEntity fass, 0,35,90 fass=LoadMesh("modelle/fass.3ds") fass_tex=LoadTexture("texturen/fass.jpg") EntityTexture fass,fass_tex FreeTexture fass_tex ScaleEntity fass,6,6,6 PositionEntity fass,-10.5,0,-9 EntityType fass,OBSTACLE TurnEntity fass, 0,90,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-8.5,0,-8 EntityType kiste,OBSTACLE TurnEntity kiste, 0,90,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-9.7,130,-8 EntityType kiste,OBSTACLE TurnEntity kiste, 0,0,0 kiste=LoadMesh("modelle/kiste.3ds") kiste_tex=LoadTexture("texturen/kiste.jpg") EntityTexture kiste,kiste_tex FreeTexture kiste_tex ScaleEntity kiste,6,6,6 PositionEntity kiste,-8,0,-7.5 EntityType kiste,OBSTACLE TurnEntity kiste, 0,90,0 Collisions 1,2,2,2 While Not KeyHit(1) RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 MoveMouse 512,384 MoveEntity cam,0,0,10 UpdateWorld RenderWorld Flip Wend ClearWorld End |
||
|
|
Tankbuster |
Antworten mit Zitat |
|---|---|---|
Eventuell solltest du der Kamera mit EntityRadius einen Kollisionsradius zuweisen. Ich benutzte eigentlich nie so eine Art der Kollision, deshalb bin ich mir nicht sicher, ob die Kamera standartmäßig schon einen Kollisionsradius hat.
|
||
|
Twitter
Download Jewel Snake! Windows|Android |
||
|
|
N0X |
Antworten mit Zitat |
|---|---|---|
|
Löst zwar nicht das Problem, trotzdem wichtig:
Du lädst die Kiste z.B. 3mal. Dafür gibt es den Befehl CopyEntity .
Einfach Code: [AUSKLAPPEN] kiste2=CopyEntity(kiste) schreiben, spart das ganze laden. Mfg, N0X |
||
| Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% | ||
|
|
Silver_Knee |
Antworten mit Zitat |
|---|---|---|
|
Aha das terrain ist 1 und die kamera 2
Collisions funktioniert immer nur in eine richtung (außer bei Kugel-Kugel). Bei dir heißt das Collisions 1,2,2,2: Das terrain(als Kugel) gegen die Kamera (als genaue Kollision) wenn das Terrain sich bewegt. Das das nicht geht leuchtet glaube ich ein. Besser ist also: Collisions 2,1,2,2: Die Kamera (als Kugel) gegen das Terrain (als genaue Kollision) wenn die Kamera sich bewegt. Das ist doch das was du suchst |
||
lukasimgruet |
Antworten mit Zitat |
|
|---|---|---|
|
jetzt findet endlich eine Kollison statt, doch ziemlich weit über dem terrain.
Aha klar!! wegen dem entityradius! Es geht perfekt, vielen Dank |
||
Übersicht
BlitzBasic
Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group

