Berg zu steil?
Übersicht
BlitzBasic
Blitz3D|
|
juse4proBetreff: Berg zu steil? |
Antworten mit Zitat |
|---|---|---|
|
hi
,ich habe ne H-map und habe collision mit der camera (Collisions Tcam,Tmap,2,3) und ich mache: Code: [AUSKLAPPEN] PositionEntity cam,EntityX(cam)-Sin(EntityYaw(cam))*0.1,EntityY(cam),EntityZ(cam)+Cos(EntityYaw(cam))*0.1
aber die kamera kommt nur Sehr schwer ein berg hoch, wie kann ich es machen, dass die kamera immer hoch geht, egal wie hoch der berg ist? help^^ |
||
| Portfolio |LinkedIn |XING | ||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
Eventuell reicht schon Collisions den vierten Parameter auf 3 zu stellen.
|
||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
|
|
juse4pro |
Antworten mit Zitat |
|---|---|---|
|
Zitat: ,ich habe ne H-map und habe collision mit der camera (Collisions Tcam,Tmap,2,3)
habe ich doch schon^^ |
||
| Portfolio |LinkedIn |XING | ||
|
|
aMulSieger des Minimalist Compo 01/13 |
Antworten mit Zitat |
|---|---|---|
|
Du könntest versuchen, den Spieler/die Kamera vor dem eigentlichen Bewegen nach oben zu verschieben, und danach wieder den gleichen Betrag nach unten.
Kann nicht versprechen, dass es klappt, aber einen Versuch ist es wert EDIT: Oh, und was du dir vielleicht auch noch anschauen solltest(falls du es noch nicht kennst und absichtlich nicht benutzt): TranslateEntity
|
||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
| Dann hast du entweder eine ''Abrollroutine'' drin, die stets versucht die Kamera den Berg runter zu purzeln, oder du berechnest die Kamerabewegung zu kompliziert. Es müsste dann nur heissen: Bewege nur X und Z, wobei dann die Y-Achse von Blitz3D berechnet wird. Die Bewegung über X und Z muss natürlich normalisiert sein. Das heisst, wenn du - um auf den Berg zu kommen - nach oben schaust, ist natürlich der Vektor nicht mehr 1 lang, sondern weniger. Dadurch währe die Bewegung natürlich langsamer. | ||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
|
|
juse4pro |
Antworten mit Zitat |
|---|---|---|
|
ich habe im mainloop:
Code: [AUSKLAPPEN] TranslateEntity cam,0,-.3,0 wie wäre es denn richtig? |
||
| Portfolio |LinkedIn |XING | ||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
Ich hab mir die Problematik mal angesehen und festgestellt, das eben das ''runterpurzeln'' das Problem verursacht. Mein Vorschlag: Bediehn dich der X und Z -Koordinate und setze die Höhe der Kamera auf TerrainY +Offset. Dabei sollte der Kamers die Kollisionsfähigkeit entzogen werden, denn diese berechnest du nun ja selbst auf dem Terrain. Sollte das aus welchen Gründen auch immer nicht gehen, kannst du folgenden Workaround benutzen:
Code: [AUSKLAPPEN] Graphics3D 800,600,0,2
SetBuffer BackBuffer() Local Timer=CreateTimer(100) Local Camera=CreateCamera() Local Terrain=LoadTerrain("e:\hm.png") Local Ball=CreateSphere(32) Local Light=CreateLight() ScaleEntity Terrain,1,12,1 PositionEntity Camera,64,12,64 PositionEntity Ball,64,12,80 TurnEntity Light,30,-30,0 EntityColor Terrain,64,64,64 EntityType Terrain,2 EntityType Ball,1 Collisions 1,2,2,3 While Not KeyHit(1) TranslateEntity Ball,0,1,0 UpdateWorld If KeyDown(203) Then TranslateEntity Ball,-0.1,0,0 If KeyDown(205) Then TranslateEntity Ball,+0.1,0,0 If KeyDown(200) Then TranslateEntity Ball,0,0,+0.1 If KeyDown(208) Then TranslateEntity Ball,0,0,-0.1 TranslateEntity Ball,0,-1.1,0 WaitTimer(Timer) UpdateWorld RenderWorld Flip 0 Wend End In diesem Workaround wird allerdings zweimal UpdateWorld aufgerufen, was die Sachen nicht unbedingt schneller macht.
|
||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
Übersicht
BlitzBasic
Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group

