3D-Autoperspektive

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Björn

Betreff: 3D-Autoperspektive

BeitragDo, Feb 24, 2005 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute Very Happy

Wie kann man dies am einfachsten realisieren:
ein 3D Autospiel bei der man hinter dem Fahrzeug ist, man fährt auf einer Geraden und kann links/rechts bis zur Leitplanke.
Meine Fragen diesbezüglich sind:
-> Wie am besten die Strecke? Als Terrain?
-> Wie lass ich die Camera am Auto kleben oder geht das anders besser?

Viele Grüße,
Björn
www.brickmovies.de
 

FBI-blitz

BeitragDo, Feb 24, 2005 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Kamera am Auto kleben lassen:
BlitzBasic: [AUSKLAPPEN]
EntityParent

oder
BlitzBasic: [AUSKLAPPEN]
Camera = CreateCamera(Auto)


Am besten ein Terrain als Strecke! Die Leitplanken als Meshes!
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+
  • Zuletzt bearbeitet von FBI-blitz am Do, März 10, 2005 19:45, insgesamt einmal bearbeitet

Björn

BeitragDo, Feb 24, 2005 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mmmh - versteh ich noch nicht so ganz - also wenn ich eine
Kamera erzeuge und schreibe cam = CreateCamera(auto)
und später denn Mesh auto lade - oder ist das ganz falsch?
Björn
www.brickmovies.de
 

FBI-blitz

BeitragDo, Feb 24, 2005 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
ERST das Auto laden DANN die Kamera an das Mesh hängen!
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+
 

Michi

BeitragDo, Feb 24, 2005 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
entweder
Code: [AUSKLAPPEN]

...
auto=loadmesh("auto.3ds") ;auto laden
...
cam=createcamera(auto) ;camera erstellen und auto als parent angeben
...

oder
Code: [AUSKLAPPEN]

...
cam=createcamera() ;camera erstellen
...
auto=loadmesh("auto.3ds") ;auto laden
entityparent cam, auto ;auto als parent von cam einstellen
...

Methode 1 ist einfacher
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Björn

BeitragDo, März 10, 2005 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
habe im Moment das Problem dass es beim Lenken eiert.
Das Terrain dreht sich untereinem seltsamt hinundher (die Bodentextur).
Das ist mein Steuercode:
Code: [AUSKLAPPEN]
If KeyDown(205)=1 Then TurnEntity karre,0,3,0
If KeyDown(203)=1 Then TurnEntity karre,0,3,0,1
If KeyDown(208)=1 Then MoveEntity karre,0,0,1
If KeyDown(200)=1 Then MoveEntity karre,0,0,-1

Das EntityParent habe ich wie oben beschrieben gemacht, die Kamera klebt schön am Auto, nur die Steuerung macht oben beschriebenes Problem.
Björn
www.brickmovies.de

Seoman

BeitragDo, März 10, 2005 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso machst du bei der zweiten If-Abfrage Global auf 1?? Ich weiß nicht, ob's was ändert, aber...

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink

Björn

BeitragDo, März 10, 2005 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne ändert nichts.
Björn
www.brickmovies.de

Seoman

BeitragDo, März 10, 2005 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann bräuchten wir glaube ich mehr vom Code, weil die If-Abfragen ja recht plausibel scheinen.

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink

Björn

BeitragDo, März 10, 2005 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
OK,
Code: [AUSKLAPPEN]
Graphics3D 1024, 768, 0, 1
SetBuffer BackBuffer()

; Andere Deklarationen #############################
Frametimer  = CreateTimer(15)

; Bilder & Sprites #################################
himmel_tex  = LoadTexture("C:/3D/himmel.jpg")
asphalt_tex = LoadTexture("C:/3D/asphalt.jpg")

; Kamera ###########################################
Global camera=CreateCamera()
PositionEntity camera,0,3,6
TurnEntity camera,25,180,0
EntityType camera,2
EntityRadius camera,2,5


; Licht ############################################
light=CreateLight()
RotateEntity light,90,0,0
LightColor light,255,255,255

; Terrain ##########################################
terrain = CreateTerrain(256)
TerrainShading terrain,1
PositionEntity terrain,-128,0,-128
EntityType terrain,2
EntityPickMode terrain,2
EntityTexture terrain,asphalt_tex

himmel = CreateSphere(24)
ScaleEntity himmel,500,500,500
FlipMesh himmel
EntityFX himmel,1
EntityTexture himmel,himmel_tex
EntityType himmel,2

; Meshes ###########################################

karre = LoadMesh("C:/3D/karre.3ds")
ScaleEntity(karre,0.1,0.1,0.1)
PositionMesh(karre,0,0,0)
EntityType karre,1
EntityParent camera,karre

;###################################################
; Spielschleife ####################################
;###################################################
While Not KeyHit(1)

If KeyDown(205)=1 Then TurnEntity karre,0,3,0
If KeyDown(203)=1 Then TurnEntity karre,0,3,0,1
If KeyDown(208)=1 Then MoveEntity karre,0,0,1
If KeyDown(200)=1 Then MoveEntity karre,0,0,-1

; Kollisionsabfrage ################################
Collisions 1,2,2,3

; Update, Rendern ##################################
RenderWorld
UpdateWorld

;###################################################
; Ende Spielschleife ###############################
;###################################################
WaitTimer(Frametimer)
Flip
Wend
www.brickmovies.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group