Schwerkraft
Übersicht

![]() |
Flori-DBetreff: Schwerkraft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.Ich progge seit heute B3D.Ich hab mir ein Terrain erstellt mit Bergen etc.. Nun meine Frage, wie kann ich schwerkraft coden?Ich könnte ein kleines beispiel gut gebrauchen.
Mfg Flori-D |
||
BB is Macht!
Homepage: www.flori-d.de |
m |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] If KeyDown(57) Then
If schalter2 = 0 Then y_grad = 0.9 schalter = 1 schalter2 = 1 EndIf EndIf If schalter = 1 Then y_pos=y_pos + 0.3 y_grad = y_grad-(y_grad/15) If y_pos > 5 Then schalter=2 EndIf If schalter = 2 Then y_pos= 0 y_grad = -0.3 If EntityCollided(cam,2) Then schalter2 = 0 EndIf TranslateEntity cam,0,y_grad,0 Ich glaub das ist was du brauchst |
||
@uzingLG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Schau' dir am besten in der Doku folgende Befehle an: MoveEntity (Camera) PositionEntity (Camera) TerrainY# Das Terrain ist doch eine Heightmap, oder? |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein Terrain hab ich so gemacht:
Code: [AUSKLAPPEN] boden = CreateTerrain(64)
EntityTexture boden, textur For I = 1 To 200 * 200 / 2 ModifyTerrain boden, Rand(400), Rand(400), Rnd(-1,+1) Next |
||
BB is Macht!
Homepage: www.flori-d.de |
@uzingLG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das geht auch, ich meine du benutzt die Terrain-Befehle und nicht ein 3D Modell, das aussieht wie ein Terrain. | ||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
jep. | ||
BB is Macht!
Homepage: www.flori-d.de |
.Yukito. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hoffentlich habe ich dich da verstanden ![]() tja.... am besten eine datenbank machen mit nem array... dann fügst du die objekte ein, die da von der gravity betroffen werden sollen. du speicherst darin den handle (y=0) und die momentane geschwindigkeit(y=1) Code: [AUSKLAPPEN] dim gravengine(100,1) ; 100 objekte mit handle und geschwindigkeit
dann läufst du mit nem loop den array durch... ein bissl physik: ein objekt egal welchen gewichts beschleunigt um 9,81m/s² (hier in unserer breitengrad gegend (am äquator etwa 0,05 weniger)) Code: [AUSKLAPPEN] gravengine(objid,1)=gravengine(objid,1)+9.81/FPS
positionEntity gravengine(objid,0), EntityX#(...), EntityY#(...)+gravengine(objid,1)+, EntityZ#(...) dann solltest du gucken, ob das objekt inzwischen endlich mal am boden aufgeklatscht is... dann musst du die geschwindigkeit natürlich auf 0 setzen... das müsste es sein ![]() Gruß Yukito P.S.wehe du sagst ich habe dich falsch verstanden ![]() |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
THX Yukiti damit kann ich was anfangen. ![]() |
||
BB is Macht!
Homepage: www.flori-d.de |
.Yukito. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
phew... ich dachte ich wäre vorbei ![]() aber wenns dir hilft is ja gut ![]() |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab nix dazu gefunden in Netz drum muss ich euch damit die Zeit rauben.
Wie kann ich es machen das eine Camera einem Mesh folgt? Hier mein kläglicher versuch: Code: [AUSKLAPPEN] Global acam = CreateCamera(auto)
PositionEntity acam,-90,10,70 auto = LoadMesh("rallycar1.3ds") PositionEntity auto, -90,0,70 ScaleMesh auto, 0.09,0.1,0.09 |
||
BB is Macht!
Homepage: www.flori-d.de |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Falsche Reihenfolge!
Erstelle erst das Auto und dann die Camera! oder weise der Camera nachträglich als Parent das Auto zu! ![]() |
||
![]() |
sami |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global acam = CreateCamera()
PositionEntity acam,-90,10,70 auto = LoadMesh("rallycar1.3ds") PositionEntity auto, -90,0,70 ScaleMesh auto, 0.09,0.1,0.09 EntityParent acam,auto pointentity acam,auto war im prinzip schon richtig würde ich sagen nur halt noch die cam aufs auto fixieren damit mans sieht und bevor du die cam zum child von einem objekt machst musst du es zuerst erstellen(laden). |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab beides getestet aber es spielt dann immer verückt.
Die ganze Camera bewegng funzt dann nicht mehr. |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
sami |
![]() Antworten mit Zitat ![]() |
---|---|---|
poste mal deinen ganzen code vielleicht können wir dir dann helfen. | ||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warnung ziemlich durcheinander!
Code: [AUSKLAPPEN] Graphics3D 1024,768
SetBuffer BackBuffer() Global cam = CreateCamera(auto) xc = 0 yc = 1 zc = 0 PositionEntity cam, -90,2,70 Global xr = 8 Global yr = 4 Global holz = LoadTexture("holz003.jpg") Global textur = LoadTexture("gras.bmp") boden = CreateTerrain(64) Global tex = LoadTexture("himmel001.jpg") decke = CreatePlane() EntityTexture decke, tex RotateEntity decke, 0,0,180 PositionEntity decke, 0,11,0 boden2 = CreatePlane() EntityTexture boden2, textur EntityTexture boden, textur For I = 1 To 200 * 200 / 2 ModifyTerrain boden, Rand(400), Rand(400), Rnd(-1,+1) Next auto = LoadMesh("rallycar1.3ds") PositionEntity auto, -90,0,70 ScaleMesh auto, 0.09,0.1,0.09 würfel = CreateCube() EntityTexture würfel, holz PositionEntity würfel, -4,0,5 raums = LoadSprite("r5.FSC.bmp") PositionEntity raums, xr,yr,5 Global eis = LoadTexture("schnee001.jpg") eisb = CreateCone() PositionEntity eisb, 90,0,7 EntityTexture eisb, eis ScaleEntity eisb, 30,9,20 Repeat If KeyDown(203) Then TurnEntity cam, 0,+1,0 If KeyDown(205) Then TurnEntity cam, 0,-1,0 If KeyDown(200) Then MoveEntity cam, 0,0,+0.05 If KeyDown(208) Then MoveEntity cam, 0,0,-0.05 If KeyDown(30) Then TurnEntity auto, 0,+1,0 If KeyDown(32) Then TurnEntity auto, 0,-1,0 If KeyDown(19) Then MoveEntity auto, 0,0,+0.05 If KeyDown(17) Then MoveEntity auto, 0,0,-0.05 ;Licht erstellem licht = CreateLight(2) PositionEntity licht, xc,yc,zc LightColor licht, 255,255,255 RenderWorld Flip Until KeyHit(1) |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
sami |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 1024,768
SetBuffer BackBuffer() xc = 0 yc = 1 zc = 0 Global xr = 8 Global yr = 4 Global holz = LoadTexture("holz003.jpg") Global textur = LoadTexture("gras.bmp") boden = CreateTerrain(64) Global tex = LoadTexture("himmel001.jpg") decke = CreatePlane() EntityTexture decke, tex RotateEntity decke, 0,0,180 PositionEntity decke, 0,11,0 boden2 = CreatePlane() EntityTexture boden2, textur EntityTexture boden, textur For I = 1 To 200 * 200 / 2 ModifyTerrain boden, Rand(400), Rand(400), Rnd(-1,+1) Next auto = LoadMesh("rallycar1.3ds") PositionEntity auto, -90,0,70 ScaleMesh auto, 0.09,0.1,0.09 Global cam = CreateCamera(auto) PositionEntity cam, -90,2,70 würfel = CreateCube() EntityTexture würfel, holz PositionEntity würfel, -4,0,5 raums = LoadSprite("r5.FSC.bmp") PositionEntity raums, xr,yr,5 Global eis = LoadTexture("schnee001.jpg") eisb = CreateCone() PositionEntity eisb, 90,0,7 EntityTexture eisb, eis ScaleEntity eisb, 30,9,20 Repeat If KeyDown(30) Then TurnEntity auto, 0,+1,0 If KeyDown(32) Then TurnEntity auto, 0,-1,0 If KeyDown(19) Then MoveEntity auto, 0,0,+0.05 If KeyDown(17) Then MoveEntity auto, 0,0,-0.05 ;Licht erstellem licht = CreateLight(2) PositionEntity licht, xc,yc,zc LightColor licht, 255,255,255 RenderWorld Flip Until KeyHit(1) hab jetzt nur das bewegen der cam durch die cursor tasten rausgenommen, konnte es aber nicht testen weil ich zu faul texturen zu suchen. |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funzt auch nicht so wie ichs mir vorstelle.ich will das Auto immer von hinten sehen. | ||
BB is Macht!
Homepage: www.flori-d.de |
Affje |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich mache das immer mit
Code: [AUSKLAPPEN] entityparent Kamera, Flugzeug (in deinem falle auto oder so) |
||
![]() |
sami |
![]() Antworten mit Zitat ![]() |
---|---|---|
positionier die cam ungefähr 10 - 20 einheiten hinter dein auto | ||
Affje |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn du meinen code benutzt, kannst du z.b. die + und - taste nehmen um die kamera zu zoomen (camerazoom...) | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group