TerrainY aber wie?
Übersicht

timo_81Betreff: TerrainY aber wie? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich will zum Testen ein Burg auf meine Terrain stellen ich habe folgendes versucht...das klappt aber nicht den die Burg schwebt zum Teil!
Code: [AUSKLAPPEN] PositionEntity castle,800,TerrainY(terrain,EntityX(castle),0,EntityZ(castle)),1000 |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] PositionEntity castle,800,TerrainY(terrain,800,0,1000),1000 erscheint mir logischer ^^
|
||
MrKeks.net |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo hehe danke.
ach übrigens: weisst du , wie man schräge fläche (sowas wie Rampen) hochlaufen kann?? Meine Kollisionskontolle blockt alles... gruß Timo |
||
![]() |
darthBetreff: .. |
![]() Antworten mit Zitat ![]() |
---|---|---|
collisions TYPE_1,TYPE_2,METHODE,REACTION
bei REACTION musst du einfach 3 eingeben... bsp: collisions 1,2,2,3 das sorgt dafür, dass du raufgliden kannst, aber nicht ständig blöd runterschlitterst wenn du nix machst... |
||
Diese Signatur ist leer. |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
moin ,
ich hab es versucht aber er bleibt trotzdem stehen. Collisions player,objekt,2,3 wie ihr seht hab ich ne drei aber irgendwie bleibt er stehen. |
||
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hier mal der code überfliegt ihn halt mal wenn ihr Zeit habt:
Code: [AUSKLAPPEN] ;3D Spiel Init_3D() Global Spieler=LoadAnimMesh("C:\3DSpiel\models\dwarf1.b3d" ) Global terrain=LoadTerrain("C:\3DSpiel\texturen\heightmap.jpg") Global cam=CreateCamera() Global dis#=10 Global tsizeX=50 Global tsizeY=230 Global tsizeZ=50 Global time=0 Global landschaft=1 Global objekt=2 Global player=3 global gegner=4 Global schalter=5 Global mesh = CreateMesh() Global sky = create_skybox() Global light=CreateLight() PositionEntity sky,0,35,0 Load_Environment() Create_Cam() Create_Objects() Create_Player() Collision_Animation() Main_Loop() Function Init_3D () Graphics3D 1024,768,16,1 SetBuffer BackBuffer() End Function Function Load_Environment() terrain_layer1=LoadTexture("c:\3DSpiel\texturen\wiese.jpg") terrain_layer2=LoadTexture("c:\3DSpiel\texturen\stein.jpg") EntityTexture terrain,terrain_layer1,0,0 EntityTexture terrain,terrain_layer2,0,1 ScaleEntity terrain,tsizeX,tsizeY,tsizeZ ScaleTexture terrain_layer1,20,20 ScaleTexture terrain_layer2,3,3 wasser=CreatePlane() wasser_textur=LoadTexture ("C:\3DSpiel\texturen\wasser.jpg",4) EntityTexture wasser,wasser_textur ScaleTexture wasser_textur,100,100 MoveEntity wasser,0,10,0 EntityAlpha wasser,0.6 End Function Function Create_Cam() EntityType cam,objekt MoveEntity cam,800,100,100 CameraFogMode cam,1 CameraRange cam,1,10000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 TurnEntity light,45,45,0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 End Function Function Create_Objects() castle=LoadMesh("C:\3DSpiel\models\castle1.x") castle_texture=LoadTexture("C:\3DSpiel\texturen\burg.jpg") PositionEntity castle,800,TerrainY(terrain,800,0,800),800 ScaleEntity castle ,1.0,1.0,1.0 EntityTexture castle,castle_texture EntityPickMode castle ,2 EntityType castle,objekt EntityBox castle,-(MeshWidth(castle)/2),-(MeshHeight(castle)/2),-(MeshDepth(castle)/2),MeshWidth(castle),MeshHeight(castle),MeshDepth(castle) End Function Function create_skybox() If time <3000 then ;front face brush = LoadBrush("C:\3DSpiel\texturen\front5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,-1,0,0 AddVertex surface,+1,+1,-1,1,0 AddVertex surface,+1,-1,-1,1,1 AddVertex surface,-1,-1,-1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;right face brush = LoadBrush("C:\3DSpiel\texturen\right5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,+1,+1,-1,0,0 AddVertex surface,+1,+1,+1,1,0 AddVertex surface,+1,-1,+1,1,1 AddVertex surface,+1,-1,-1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;back face brush = LoadBrush("C:\3DSpiel\texturen\back5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,+1,+1,+1,0,0 AddVertex surface,-1,+1,+1,1,0 AddVertex surface,-1,-1,+1,1,1 AddVertex surface,+1,-1,+1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;left face brush = LoadBrush("C:\3DSpiel\texturen\left5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,+1,0,0 AddVertex surface,-1,+1,-1,1,0 AddVertex surface,-1,-1,-1,1,1 AddVertex surface,-1,-1,+1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;top face brush = LoadBrush("C:\3DSpiel\texturen\top5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,+1,0,1 AddVertex surface,+1,+1,+1,0,0 AddVertex surface,+1,+1,-1,1,0 AddVertex surface,-1,+1,-1,1,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;bottom face brush = LoadBrush("C:\3DSpiel\texturen\bottom5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,-1,-1,1,0 AddVertex surface,+1,-1,-1,1,1 AddVertex surface,+1,-1,+1,0,1 AddVertex surface,-1,-1,+1,0,0 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush Else ;front face brush = LoadBrush("C:\3DSpiel\texturen\front5n.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,-1,0,0 AddVertex surface,+1,+1,-1,1,0 AddVertex surface,+1,-1,-1,1,1 AddVertex surface,-1,-1,-1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;right face brush = LoadBrush("C:\3DSpiel\texturen\right5n.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,+1,+1,-1,0,0 AddVertex surface,+1,+1,+1,1,0 AddVertex surface,+1,-1,+1,1,1 AddVertex surface,+1,-1,-1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;back face brush = LoadBrush("C:\3DSpiel\texturen\back5n.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,+1,+1,+1,0,0 AddVertex surface,-1,+1,+1,1,0 AddVertex surface,-1,-1,+1,1,1 AddVertex surface,+1,-1,+1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;left face brush = LoadBrush("C:\3DSpiel\texturen\left5n.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,+1,0,0 AddVertex surface,-1,+1,-1,1,0 AddVertex surface,-1,-1,-1,1,1 AddVertex surface,-1,-1,+1,0,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;top face brush = LoadBrush("C:\3DSpiel\texturen\top5n.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,+1,+1,0,1 AddVertex surface,+1,+1,+1,0,0 AddVertex surface,+1,+1,-1,1,0 AddVertex surface,-1,+1,-1,1,1 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush ;bottom face brush = LoadBrush("C:\3DSpiel\texturen\bottom5.jpg",49) surface = CreateSurface(mesh,brush) AddVertex surface,-1,-1,-1,1,0 AddVertex surface,+1,-1,-1,1,1 AddVertex surface,+1,-1,+1,0,1 AddVertex surface,-1,-1,+1,0,0 AddTriangle surface,0,1,2 AddTriangle surface,0,2,3 FreeBrush brush LightColor light ,-255,-255,-255 End if ScaleMesh mesh,2500,1000,2500 FlipMesh mesh EntityFX mesh,1 ; make fullbright Return mesh End Function Function Create_Player() Spieler=LoadAnimMesh("C:\3DSpiel\models\dwarf1.b3d" ) PositionEntity Spieler,800,247,EntityZ(cam)+10 ScaleEntity Spieler ,0.1,0.1,0.1 EntityType Spieler,player EntityBox Spieler,-(MeshWidth(Spieler)/2),-(MeshHeight(Spieler)/2),-(MeshDepth(Spieler)/2),MeshWidth(Spieler),MeshHeight(Spieler),MeshDepth(Spieler) End Function Function Collision_Animation() Collisions player,objekt,2,3 Collisions player,landschaft,2,1 ExtractAnimSeq Spieler, 2, 14 ExtractAnimSeq Spieler, 112, 128 ExtractAnimSeq Spieler, 162, 180 ExtractAnimSeq Spieler, 16, 26 ExtractAnimSeq Spieler, 16, 26 End Function Function Main_Loop() While Not KeyHit(1) time=time+1 If time=3000 Then Create_skybox() ElseIf time=6000 Then time=0 LightColor light ,255,255,255 Create_skybox() EndIf PositionEntity Spieler,EntityX(Spieler),TerrainY(terrain,EntityX(Spieler),EntityY(Spieler),EntityZ(Spieler)),EntityZ(spieler) If KeyDown(205) Then ro=ro-1 If KeyDown(203) Then ro=ro+1 PositionEntity cam,EntityX(Spieler),EntityY(Spieler),EntityZ(Spieler) MoveEntity cam,0,0,-dis# RotateEntity cam,ry,ro,0 RotateEntity Spieler,ry,ro,0 ; If KeyDown(205)=1 Then TurnEntity cam,0,-1,0 If KeyDown(208)=1 Then MoveEntity cam,0,0,-0.25 If KeyDown(208)=1 Then MoveEntity Spieler ,0,0,-0.25 If KeyDown(208)=1 And Animating(Spieler)=0 Then Animate Spieler,3,.2,1,0 EndIf x#=EntityX(cam) y#=EntityY(cam) z#=EntityZ(cam) terra_y#=TerrainY(terrain,x#,y#,z#)+5 PositionEntity cam,x#,terra_y#,z# If KeyDown(200)=1 Then MoveEntity Spieler ,0,0,0.25 End If If KeyDown(200)=1 And (EntityCollided(Spieler,objekt)=0 And EntityCollided(Spieler,landschaft)=0) Then MoveEntity cam,0,0,0.25 Else MoveEntity cam,0,0,0 End If If KeyDown(200)=1 And Animating(Spieler)=0 Then Animate Spieler,3,0.2,1,0 ElseIf KeyDown(29)=1 And Animating(Spieler)=0 Then Animate Spieler,3,0.2,2,0 ElseIf KeyDown(56)=1 And Animating(Spieler)=0 Then Animate Spieler,3,.2,3,0 End If If KeyDown(17)=1 Then WireFrame 1 ;Taste w If KeyDown(31)=1 Then WireFrame 0 ; Taste s If KeyDown( 60 )=True Then zoom#=zoom#-0.1 If KeyDown( 59 )=True Then zoom#=zoom#+0.1 If KeyDown(61)= True Then leiste=1 If KeyDown(62)=True Then leiste=0 If zoom#<1 Then zoom#=1 If zoom#>100 Then zoom#=100 CameraZoom cam,zoom# PositionEntity sky,EntityX(cam),EntityY(cam),EntityZ(cam) UpdateWorld RenderWorld ;menü ;If leiste=1 Then ;Else ;End If Color (0),(255),(0) Rect MouseX(),MouseY(),20,20 ;FPS frames=frames+1 If MilliSecs()-render_time=>1000 Then fps=frames : frames=0 : render_time=MilliSecs() Text 0,0,fps Text 0,10, "Zeit:" + time Flip Wend ClearWorld End Function End |
||
egimanBetreff: Spieler bewegt sich nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
versuche es mal in dieser Form ex#=EntityX(Spieler):ez#=EntityZ(Spieler) ypos#=TerrainY(terrain,ex,0,ez) If KeyDown(200)=1 Then PositionEntity Spieler,ex,ypos,ez; Spieler erst auf Terrainhöhe bringen,dann bewegen MoveEntity Spieler ,0,0,0.25 End If Klaus |
||
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bringt leider nichts ![]() Trotzdem Danke! |
||
egimanBetreff: Treppen und Steigungen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich habe mich am Wochenende mit dem gleichen Problem wie du rumgeschlagen. Jetzt funktioniert es. BlitzBasic: [AUSKLAPPEN]
|
||
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke ,ich werd es versuchen ... ich hatte Probleme mit meinem
Rechner , deshalb die leicht verspätete Antwort. |
||
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gibt irgenwie murks bei mir ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group