Wie erstelle ich eine Skybox?

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Firstdeathmaker

Betreff: Wie erstelle ich eine Skybox?

BeitragDi, März 09, 2004 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab gerade erst mit 3D angefangen und bringe mir mein Wissen mit Beispielprogrammen bei. Ich bin jetzt so weit dass ich ein Mesh lade (ein Raumschiff), dieses plaziere und auch schon ein paar "Meteoriten" plaziere, aber jetzt möchte ich gerne eine Skybox einrichten die den Weltraum simuliert. Leider ist das Space-Tut von TFT (was ich übrigens sehr gut finde und schon gespannt auf die Fortsetzung warte) gerade vor diesem Schritt zu ende, und auch durch die Suchfunktion hier im Forum bin ich nicht weiter gekommen.

Frage: Wie geht das mit der Skybox?
Ich habe bis jetzt entnehmen können dass man dafür einen großen cube erstellt und diesen dann mit einem image texturiert. Das Problem dabei ist, dass das Image nur von aussen zu sehen ist, und der Würfel von innen unsichtbar ist.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

sidolin

BeitragDi, März 09, 2004 13:10
Antworten mit Zitat
Benutzer-Profile anzeigen
schau mal in die hilfe unter : ENTITYFX

bruZard

BeitragDi, März 09, 2004 13:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiere mal FlipMesh() aus Wink
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Firstdeathmaker

BeitragDi, März 09, 2004 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle Hilfe, ich probiers sofort aus!
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Firstdeathmaker

BeitragDi, März 09, 2004 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch etwas: Gibt es eine Möglichkeit, dass sich die Textur wiederholt und nicht auseinandergezerrt wird wenn das Objekt zu groß für die Textur ist?
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

sidolin

BeitragDi, März 09, 2004 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
SCALETEXTURE Textur, U#, V#

bruZard

BeitragDi, März 09, 2004 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Da kenne ich keine Möglichkeit, was aber nicht heissen muss dass es sie nicht gibt. Die beste Möglichkeit ist eine kachelbare Textur mit 1024x1024 Pixel Kantenlänge, dann einen Würfel erstellen der nicht skaliert wird, diesem Würfel wird die Kamera als Parent zugewiesen:
Code: [AUSKLAPPEN]

skybox=CreateCube(camera)
FlipMesh skybox
EntityTexture skybox,sky_tex

...und dann in der Renderreihenfolge nach hinten gesetzt:
Code: [AUSKLAPPEN]

EntityOrder (skybox,10)

Das bewirkt dass der Himmel immer zuerst gerendert wird und dann erst alle anderen Entites. Obwohl die Skybox gerade einmal so gross wie die Kamera ist, wird sie das gesamte Level umschliessen, egal wie gross dieses ist.

[EDIT]
@sidolin: Beide Deiner Tipps waren für den Allerwertesten
[/EDIT]
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Jan_

Ehemaliger Admin

BeitragDi, März 09, 2004 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
so,

Aber Bruz,

man muss noch immer das in Ratateentity Skybox,0,0,0 zumachen in jeder schleife, sonst dreht sich die Bois, mit der Camera, wenn sie Parent ist!
between angels and insects

bruZard

BeitragDi, März 09, 2004 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst Dir aber auch die YAW, PITCH und ROLL Werte der Cam holen und per RotateEntity auf die Skybox übertragen (natürlich _nach_ dem Reset durch 0,0,0)
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Firstdeathmaker

BeitragDi, März 09, 2004 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, also, ich hab es jetzt so gemacht wie Bruz sagte, und:
Das Problem wie Jan schon sagte ist aufgetreten.
Zudem Flimmert die Skybox extrem wenn man sich bewegt.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

walski

Ehemaliger Admin

BeitragDi, März 09, 2004 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
sidos Tipps waren gut!
EntityFX Entity,16 schaltet BackFaceCulling aus und hat so einen ähnlich guten Effekt, wie FlipMesh, außer dass es evtl (ich weiß es nicht) mehr ressourcen verbraucht!

Und ScaleTexture ist auch toll zum kacheln!!

Du nimmst z.B. ScalteTexture Texture,.5,.5 und schon sollte das ganze doppelt gekachelt sein!

walski
buh!

Firstdeathmaker

BeitragDi, März 09, 2004 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versuch das mal.
Übrigens: Sind Meshes, wenn man die läd, so ähnlich wie Types?
Ich habe nämlich bis jetzt das Problem gehabt, dass ich jeden Körper neu laden musste, damit ich ihn nachher bewegen kann.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

INpac

BeitragDi, März 09, 2004 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wtf?
meshes <> types! *g*

hmm, wenn du immernoch ne schöne skybox suchst...: guck dir man im FAQ-Bereich den Wasserengine-thread an, da ist ne sehr schicke skybox mit 6 einzelnen texturen drin =)

Firstdeathmaker

BeitragDi, März 09, 2004 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
puh, das wird arbeit, aber danke INpac!

Wie macht ihr es eigendlich wenn ihr mehrere Sachen des gleichen Typs habt, z.B. Meteore und diese dann als meshes ladet?
Ich bin bis jetzt immer so umständlich vorgegangen, dass ich die sachen einzeln lade und jeden Schritt einzeln bearbeite:

Code: [AUSKLAPPEN]
meteor0=CreateSphere(100)
meteor1=CreateSphere(100)
meteor2=CreateSphere(100)
meteor3=CreateSphere(100)
meteor4=CreateSphere(100)
meteor5=CreateSphere(100)
meteor6=CreateSphere(100)
meteor7=CreateSphere(100)


Das ist ziemlich aufwändig, und muss ja irgendwie auch anders gehen...
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

walski

Ehemaliger Admin

BeitragDi, März 09, 2004 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Array:

Dim Meteor(100)
for i=0 to 99
Meteor(i) = createsphere(100)
next

Type:

Type Meteoriten
Field Mesh
end type

for i=0 to 99
Meteor.Meteoriten = new Meteoriten
Meteor\Mesh = CreateSphere(100)
next

walski
buh!

Firstdeathmaker

BeitragDi, März 09, 2004 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, ja danke!

Dann werd ich euch jetzt nicht weiter mit meinen dummen Fragen belästigen!

Vielen dank an alle die mir geholfen haben!
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

Kifferopa

Gast

BeitragSo, März 06, 2005 20:23
Antworten mit Zitat
INpac hat Folgendes geschrieben:
wtf?
meshes <> types! *g*

hmm, wenn du immernoch ne schöne skybox suchst...: guck dir man im FAQ-Bereich den Wasserengine-thread an, da ist ne sehr schicke skybox mit 6 einzelnen texturen drin =)


Wo soll denn dieser FAQ-Bereich sein? Rolling Eyes
 

Lion

BeitragSo, März 06, 2005 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Arghhh...guck doch in den index und wieso kramst du diesen jahrzehnte alten topic wieder hoch?

mg Lion
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb
AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x
 

Kifferopa

Gast

BeitragSo, März 06, 2005 20:38
Antworten mit Zitat
Arrgh...in welchen Index?

Arrgh...ich wusste net, dass des so alt ist. Ich habe auf Suchen gemacht nach Skybox, arrgh...
 

sven123

BeitragSo, März 06, 2005 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm!Vieleicht bin ich zu spät aber hier eine von mir geschrieben Funktion zum erstellen einer skybox,musst du aber noch anpassen!



Code: [AUSKLAPPEN]
;Skybox
Function skybox(Elemente,gx,gy,gz,px,py,pz,Textur,collsky)
sky=CreateSphere(Elemente)
FlipMesh sky 
ScaleEntity sky,gx,gy,gz
PositionEntity sky,px,py,pz
EntityTexture sky,Textur
EntityType sky,collsky
EntityOrder sky,1
Collisions camcoll,collsky,2,1
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group