Eine Frage zur integrierung der Skybox

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Veldrin

Betreff: Eine Frage zur integrierung der Skybox

BeitragSo, Jul 30, 2006 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Allesamt
Ich habe wie es mir empfohlen wurde eine Skybox,
bestehend aus 6 in den Hintergrund gemalten Brushes, erstellt.
Doch wenn ich die fast frei bewegliche Kamera als Parent nehme dreht der Himmel sich mit der Kamera mit (als hätte man ein starres HG-Bild)
und wenn ich das Parent aufhebe flackt irgendwo ein unsichtbarer,
winzig kleiner Himmelswürfel in der Botanik, was mir wenig hilft.
Ich habe die Ahnung das sich das Problem mit einem Pivot beheben lässt,
doch wie genau kriege ich trotz tagelangen tüfteln nicht raus.
Ich flehe, helfe mir wer kann !

Mit Dank im vorraus
Veldrin
 

Matthias

BeitragSo, Jul 30, 2006 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo am einfachsten ist es wenn Du einfach die X,Z Koordinaten übernimst
wieleicht geht das

EntityPosition SkyBox,EntityX(Camera,1),EntityY(Camera,1),EntityZ(Camera,1)

Vieleicht reicht das schon so.

Rone

BeitragSo, Jul 30, 2006 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
moin,
durch einen kurzen Blick in die Samples, hättest du dir tagelanges tüfteln ersparen können Wink...

Code: [AUSKLAPPEN]
Graphics3D 800,600,32,1

mesh_skybox = MakeSkyBox("Data\sky")

campiv = CreatePivot()
EntityRadius campiv,3
camera=CreateCamera()
EntityParent camera,campiv

timer = MilliSecs()
While Not KeyHit(1)
   timer = MilliSecs()   
   RotateEntity camera,EntityPitch(camera)+MouseYSpeed(),EntityYaw(camera)-MouseXSpeed(),0
   PositionEntity mesh_skybox,EntityX(camera,1),EntityY(camera,1),EntityZ(camera,1)  <--------------------bssss
   MoveMouse 400,300
   UpdateWorld : RenderWorld :   Flip v_sync
   zeit=MilliSecs()-timer
Wend
End

Function MakeSkyBox( file$ )
   m=CreateMesh()
   ;front face
   b=LoadBrush( file$+"_FR.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
   AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;right face
   b=LoadBrush( file$+"_LF.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
   AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;back face
   b=LoadBrush( file$+"_BK.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
   AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;left face
   b=LoadBrush( file$+"_RT.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
   AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;top face
   b=LoadBrush( file$+"_UP.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
   AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b

   ScaleMesh m,100,100,100
   FlipMesh m
   EntityFX m,9
   EntityOrder m,10
   Return m
End Function


mfg
Rone

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group