Texturiere ein Objekt

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Daniel Knobe

Betreff: Texturiere ein Objekt

BeitragDo, Aug 12, 2004 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich habe ein Problem mit dem Texturieren, ich kriege die Textur einfach nicht auf die Wand. Was mache ich falsch???
Code: [AUSKLAPPEN]

;Voreinstellungen=======================================================================================================
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()
;Erstelle Variablen===================================================================================================
XBewegung#=0
YBewegung#=0
;Lade Texturen========================================================================================================
SteinWand=LoadTexture("Texturen\SteinWand.png")
;Erstelle Modelle=======================================================================================================
camera=CreateCamera()
light=CreateLight(3)
PositionEntity camera,0,0,-5
RotateEntity light,0,0,0
PositionEntity light,0,0,-5
LightRange light,100
LightColor light,0,0,255
MoveEntity camera,0,2.5,0
Tunnelvorwaerts=CreateMesh()
surface=CreateSurface(Tunnelvorwaerts)
LinksUntenVorne=AddVertex(surface,-5,0,0)
LinksObenVorne=AddVertex(surface,-5,5,0)
LinksUntenHinten=AddVertex(surface,-5,0,5)
LinksObenHinten=AddVertex(surface,-5,5,5)
RechtsUntenVorne=AddVertex(surface,5,0,0)
RechtsObenVorne=AddVertex(surface,5,5,0)
RechtsUntenHinten=AddVertex(surface,5,0,5)
RechtsObenHinten=AddVertex(surface,5,5,5)
;LinkeWand
AddTriangle(surface,LinksUntenVorne,LinksObenVorne,LinksObenHinten)
AddTriangle(surface,LinksUntenVorne,LinksObenHinten,LinksUntenHinten)
;RechteWand
AddTriangle(surface,RechtsObenHinten,RechtsObenVorne,RechtsUntenVorne)
AddTriangle(surface,RechtsUntenHinten,RechtsObenHinten,RechtsUntenVorne)
;Decke
AddTriangle(surface,RechtsObenVorne,LinksObenHinten,LinksObenVorne)
AddTriangle(surface,RechtsObenHinten,LinksObenHinten,RechtsObenVorne)
;Boden
AddTriangle(surface,LinksUntenVorne,LinksUntenHinten,RechtsUntenVorne)
AddTriangle(surface,RechtsUntenVorne,LinksUntenHinten,RechtsUntenHinten)
UpdateNormals Tunnelvorwaerts
;Spieleschleife=========================================================================================================
MoveMouse 512,384
;Texturiere Wand
EntityTexture Tunnelvorwaerts,SteinWand
;Schleife=============================================================================================================
While Not KeyHit(1)
;Steuerung->Tastatur
If KeyDown(17) Then MoveEntity camera,0,0,0.1
If KeyDown(31) Then MoveEntity camera,0,0,-0.1
If KeyDown(30) Then MoveEntity camera,-0.1,0,0
If KeyDown(32) Then MoveEntity camera,0.1,0,0
;Steuerung->Maus
XBewegung#=XBewegung#+MouseYSpeed()/7.0000
YBewegung#=YBewegung#+MouseXSpeed()/-7.0000
RotateEntity camera,XBewegung#,YBewegung#,0
MoveMouse 512,384
;Aktualisiere, Rendere und gebe aus===================================================================================
UpdateWorld
RenderWorld
Flip
Wend
End
 

INpac

BeitragDo, Aug 12, 2004 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst beim erstellen der vertices noch hinter den 3d-raum-koordinaten die uv-koordinaten für die texturen angeben Smile
 

Daniel Knobe

BeitragDo, Aug 12, 2004 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
So, hab die erste Angabe gemacht. Aber die Textur ist zu schlecht aufgelöst, wie kann ich die scherfe erhöhen (2mal dieselbe Textur nebeneinander)
Neuer Code: [AUSKLAPPEN]

;Voreinstellungen=======================================================================================================
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()
;Erstelle Variablen===================================================================================================
XBewegung#=0
YBewegung#=0
;Lade Texturen========================================================================================================
SteinWand=LoadTexture("Texturen\SteinWand.png")
;Erstelle Modelle=======================================================================================================
;Waffen
Shotgun=LoadMesh("Modells\Shotgun.b3d")
MoveEntity Shotgun,1,-0.9,1
;Sonstige
camera=CreateCamera()
EntityParent(Shotgun,camera)
light=CreateLight(3)
PositionEntity camera,0,0,-5
RotateEntity light,0,0,0
PositionEntity light,0,0,-5
LightRange light,100
LightColor light,0,0,255
MoveEntity camera,0,2.5,0
Tunnelvorwaerts=CreateMesh()
surface=CreateSurface(Tunnelvorwaerts)
LinksUntenVorne=AddVertex(surface,-5,0,0)
LinksObenVorne=AddVertex(surface,-5,5,0)
LinksUntenHinten=AddVertex(surface,-5,0,5)
LinksObenHinten=AddVertex(surface,-5,5,5)
RechtsUntenVorne=AddVertex(surface,5,0,0)
RechtsObenVorne=AddVertex(surface,5,5,0)
RechtsUntenHinten=AddVertex(surface,5,0,5)
RechtsObenHinten=AddVertex(surface,5,5,5)
;LinkeWand
AddTriangle(surface,LinksUntenVorne,LinksObenVorne,LinksObenHinten)
AddTriangle(surface,LinksUntenVorne,LinksObenHinten,LinksUntenHinten)
;RechteWand
AddTriangle(surface,RechtsObenHinten,RechtsObenVorne,RechtsUntenVorne)
AddTriangle(surface,RechtsUntenHinten,RechtsObenHinten,RechtsUntenVorne)
;Decke
AddTriangle(surface,RechtsObenVorne,LinksObenHinten,LinksObenVorne)
AddTriangle(surface,RechtsObenHinten,LinksObenHinten,RechtsObenVorne)
;Boden
AddTriangle(surface,LinksUntenVorne,LinksUntenHinten,RechtsUntenVorne)
AddTriangle(surface,RechtsUntenVorne,LinksUntenHinten,RechtsUntenHinten)
UpdateNormals Tunnelvorwaerts
;Spieleschleife=========================================================================================================
MoveMouse 512,384
;Texturiere Wand
VertexTexCoords surface, LinksUntenVorne, 0, 1
VertexTexCoords surface, LinksObenVorne, 0,0
VertexTexCoords surface, LinksObenHinten, 1, 0
EntityTexture Tunnelvorwaerts,SteinWand

;Schleife=============================================================================================================
While Not KeyHit(1)
;Steuerung->Tastatur
If KeyDown(17) Then MoveEntity camera,0,0,0.1
If KeyDown(31) Then MoveEntity camera,0,0,-0.1
If KeyDown(30) Then MoveEntity camera,-0.1,0,0
If KeyDown(32) Then MoveEntity camera,0.1,0,0
;Steuerung->Maus
XBewegung#=XBewegung#+MouseYSpeed()/7.0000
YBewegung#=YBewegung#+MouseXSpeed()/-7.0000
RotateEntity camera,XBewegung#,YBewegung#,0
MoveMouse 512,384
;Aktualisiere, Rendere und gebe aus===================================================================================
UpdateWorld
RenderWorld
Flip
Wend
End
 

INpac

BeitragDo, Aug 12, 2004 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

LinksUntenVorne=AddVertex(surface,-5,0,0)
LinksObenVorne=AddVertex(surface,-5,5,0)
LinksUntenHinten=AddVertex(surface,-5,0,5)
LinksObenHinten=AddVertex(surface,-5,5,5)
RechtsUntenVorne=AddVertex(surface,5,0,0)
RechtsObenVorne=AddVertex(surface,5,5,0)
RechtsUntenHinten=AddVertex(surface,5,0,5)
RechtsObenHinten=AddVertex(surface,5,5,5)


du kannst uv-koordinaten direkt im AddVertex()-Befehl mitangeben, und zwar nach den 3d-koordinaten.

Mehr schärfe... hm, was meinst du genau?
du kannst die texture scalen mit ScaleTexure, wenn du das meinst..?

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group