eine Welt erstellen!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: eine Welt erstellen!

BeitragDo, März 09, 2006 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute ich möchte erst mal nix aufregendes machen, da ich im 3d wesen komplett neu anfangen muss! meine fragen sind einfach wie kann ich eine grosse map erstellen , (create terrain ) dieses beispiel habe ich mir angesehen! aber wie kann ich häuser draufsetzen? und wie mache ich es das man nicht durch diese durchlaufen kann? naja und ich muss soetwas haben himmel, wenn ich dort nun meine wiese habe worüber ich laufen kann dann habe ich einen schwarzen himmel! wie mache ich das es ein himmel wird? und wie mache ich strassen auf meinem boden? ... das währen meine ersten fragen! die eigentlich für ein bb3d gammer leicht sind, aber nur für ein 3d noop leider nicht! ich danke schon mal für eure antworten!

GRUSS
mathias-kwiatkowski

Markus2

BeitragDo, März 09, 2006 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Guck mal in dem Samples,
da gibt es ein Terrain,eine Brug und ein Himmel
wo du mit einem Männchen rum laufen kannst .
Mario oder so ähnlich .

Klip

BeitragDo, März 09, 2006 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist das "Castle"-sample.

Wenn du ein Objekt auf der Heightmap platzieren willst, kannst du per ql:Terrainheight() herausfinden, wie hoch die Map an einer bestimmten Stelle ist. Da setzt du das Haus dann hin =)

Einen Himmel macht man mit einer sogenannten Skybox. Das heißt, du nimmst ein großes Primitive, optimalerweise einen Quader, und streckst den über das Terrain, und zwar so, dass das Terrain komplett INNERHALB dieses Würfels ist. Jetzt von innen den Würfel mit einer Himmeltextur ausstatten =)
So geht es in Kurzform. Natürlich braucht man dann für jede der fünf (links, rechts, vorne, hinten, oben) Richtungen eine andere Textur.

skey-z

BeitragDo, März 09, 2006 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ne box als Himmel sieht net so toll aus, oder hat die Erde etwa auch nen quaderförmigen Himmel?

sollte sich dieser zudem auch noch bewegen, hast du schon ein problem, wenn du für jede seite ne texur hast, einfah ist es mit ner Kugel, dort die Himmelstextur draufknallen und flippen, so dass man es von innen sieht, war glaube ich der befehl [b]flipmesh[b] nun kannst du den Himmel auch bewegen, das sieht dann mit ner geeigneten Textur oder mehreren auch ziemlich realistisch aus
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Chester

BeitragDo, März 09, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Für die SkyBox würde ich mir mal das AGore/Grassdemo Sample anschauen, die funktioniert mit einer Box und sieht super aus(verwende ich auch in meinem aktuellen Projekt)

x-pressive

BeitragSa, März 11, 2006 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
skey-z hat Folgendes geschrieben:
ne box als Himmel sieht net so toll aus, oder hat die Erde etwa auch nen quaderförmigen Himmel? ...einfah ist es mit ner Kugel, dort die Himmelstextur draufknallen

Awa! Bitte poste doch nicht so einen Unsinn -jemand könnte das tatsächlich nachmachen Wink

In der Regel benutzt man eine quadratische Sykbox. Dabei werden die Beleuchtungsparameter so gesetzt, das es keine Schattierung gibt, wodurch man überhaupt nicht mehr erkennt, das es sich um eine Box handelt (passende Texturen vorausgesetzt).

Eine Kugel zu benutzen ist Wahnsinn! Eine Skybox kommt mit nur 20 bzw. 24 Vertices aus, eine Kugel benötigt ungleich mehr -und verzerrt auch noch die Textur.

Skybox-Beispiel:

Code: [AUSKLAPPEN]
; --------------------------------------------------------------
; FUNCTION: CREATE SKYBOX
; --------------------------------------------------------------
Function CreateSkyBox% (Parent%=0)

   Local Brush%, Surf%, Mesh% = CreateMesh(Parent)
   
   ;FRONT FACE
   Brush      = LoadBrush(RESOURCEDIR$ + "tex_sky_f.jpg",49)
   Surf       = CreateSurface( Mesh,Brush )
   AddVertex    Surf,-1,+1,-1,0,0 : AddVertex Surf,+1,+1,-1,1,0
   AddVertex    Surf,+1,-1,-1,1,1 : AddVertex Surf,-1,-1,-1,0,1
   AddTriangle  Surf,0,1,2 : AddTriangle Surf,0,2,3
   FreeBrush    Brush
   
   ;RIGHT FACE
   Brush      = LoadBrush(RESOURCEDIR$ + "tex_sky_l.jpg",49)
   Surf      = CreateSurface( Mesh,Brush )
   AddVertex   Surf,+1,+1,-1,0,0 : AddVertex Surf,+1,+1,+1,1,0
   AddVertex   Surf,+1,-1,+1,1,1 : AddVertex Surf,+1,-1,-1,0,1
   AddTriangle Surf,0,1,2 : AddTriangle Surf,0,2,3
   FreeBrush   Brush
   
   ;BACK FACE
   Brush      = LoadBrush(RESOURCEDIR$ + "tex_sky_b.jpg",49)
   BrushTexture Brush, Tex_Sky3 , 0, 1
   Surf      = CreateSurface( Mesh,Brush )
   AddVertex   Surf,+1,+1,+1,0,0 : AddVertex Surf,-1,+1,+1,1,0
   AddVertex   Surf,-1,-1,+1,1,1 : AddVertex Surf,+1,-1,+1,0,1
   AddTriangle Surf,0,1,2 : AddTriangle Surf,0,2,3
   FreeBrush   Brush
   
   ;LEFT FACE
   Brush      = LoadBrush(RESOURCEDIR$ + "tex_sky_r.jpg",49)
   Surf      = CreateSurface( Mesh,Brush )
   AddVertex   Surf,-1,+1,+1,0,0 : AddVertex Surf,-1,+1,-1,1,0
   AddVertex   Surf,-1,-1,-1,1,1 : AddVertex Surf,-1,-1,+1,0,1
   AddTriangle Surf,0,1,2 : AddTriangle Surf,0,2,3
   FreeBrush   Brush
   
   ;TOP FACE
   Brush      = LoadBrush(RESOURCEDIR$ + "tex_sky_u.jpg",49)
   Surf      = CreateSurface( Mesh,Brush )
   AddVertex   Surf,-1,+1,+1,0,1 : AddVertex Surf,+1,+1,+1,0,0
   AddVertex   Surf,+1,+1,-1,1,0 : AddVertex Surf,-1,+1,-1,1,1
   AddTriangle Surf,0,1,2 : AddTriangle Surf,0,2,3
   FreeBrush   Brush
   
   EntityOrder    Mesh,1
   FlipMesh       Mesh
   EntityFX       Mesh,1+8
   Return Mesh
   
End Function
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Markus2

BeitragSa, März 11, 2006 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
@x-pressive

Ich benutzte eine Halbkugel für den Himmel und finde
das es besser aussieht .
Ok , die hat 450 Polys Confused
Die UVs habe ich in Cinema eingestellt .

x-pressive

BeitragSa, März 11, 2006 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Himmel bei Fisherman's Wharf zum Beispiel ist eine Skybox mit lediglich 20 Vertices / 10 Polys. Das ist ein ernormer Unterschied zu 450 Polys!
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Ray-Tracer

BeitragSa, März 11, 2006 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
kurze Erklärung von Skyboxen unter

http://zfx.info/Tutorials.php?ID=88
__wunschklang__

x-pressive

BeitragSa, März 11, 2006 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessanter Link, sag ich doch:

Zitat:
die dortige Pixelverzerrung (bei einer box) ist dadurch weitaus geringer als bei einer Kugeltextur.

Das ist logisch, da bei einem Würfel auf jeder Seite Decal-Wrapping benutzt wird, im Gegenteil zum Sphere-Wrapping einer Kugel, bei der immer Verzerrungen auftreten. Ausserdem muß man bei einer Kugel schon einen hohen Detailgrad verwenden, damit keine Kanten auftreten.

Auch interessant:
Anleitung, wie man mit Terragen eine Skybox-Textur rendern kann
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Surat

BeitragSo, März 12, 2006 9:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich habe meine Skybox mit 5 Cubes gebaut und diese
halt dann mit Scaleentity vergrößert.
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

x-pressive

BeitragSo, März 12, 2006 12:14
Antworten mit Zitat
Benutzer-Profile anzeigen
*grübel*

Der Nachteil ist halt, das die Skybox dann immer noch fünf Surfaces hat (wie mein obiges Beispiel übrigens auch) -zu viel eigentlich für ein reines "Hintergrundmodell".

Die "ideale" Skybox müsste man mit zwanzig Vertices (den Boden kann man sich ja meist sparen) und einer einzigen Surface basteln. Dann aber müssten alle Texturen der einzelnen Würfelseiten in einer einzigen Textur zusammengefasst werden.

Am Optimalsten wäre vielleicht eine Skybox aus zwei Surfaces: die vier Seiten bringt man in einer Surface unter (die lassen sich auch perfekt in eine einzige, große Textur quetschen) und die "Decke" dann halt seperat.

Klingt vielleicht nach Haarspalterei, aber wenn man viele Modelle oder aufwändige Szenen benutzt, muss man sich angewöhnen, zu optimieren, wo es nur geht, damit man möglichst viel Geschwindigkeit herausholen kann.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

FBI-blitz

BeitragSo, März 12, 2006 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
@x-pressive:
Ich glaube dass die komplette Community sich über ein Tutorial von dir mal freuen würde Smile

Mit Beispielen etc.
Also nichts wie ran ans Werk Smile

FBI
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

x-pressive

BeitragSo, März 12, 2006 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Was für ein Zufall... gerade wollte ich damit beginnen, einige Tipps zusammenzuschreiben, wie man mehr aus B3D herausholen bzw. sein Projekt grafisch aufpeppen kann, habe dann aber mittendrin abgebrochen, weil ich mir nicht sicher war, ob das überhaupt gebraucht oder gelesen wird Confused

Wenn Bedarf besteht, fange ich halt noch mal an (heul) Crying or Very sad
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group