Texturieren eines Quads...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

5k41

Betreff: Texturieren eines Quads...

BeitragDo, Feb 09, 2006 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ich hab mich in letzter Zeit ein bisschen mit 3D beschäftigt und ein kleines Quad erstellt welches ich dann schnell texturieren wollt... leider funktioniert das nicht...Sad hier der code:
Code: [AUSKLAPPEN]

Graphics3D 1024,768,32,1
SetBuffer BackBuffer()

light=CreateLight()

cam=CreateCamera()
PositionEntity cam,512,-384,-512

Textur=LoadTexture("tile.bmp",4)
Karte=CreateMesh()
Surface=CreateSurface(Karte)
v0=AddVertex(Surface,0,0,0)
v1=AddVertex(Surface,32,0,0)
v2=AddVertex(Surface,0,-32,0)
v3=AddVertex(Surface,32,-32,0)
AddTriangle(Surface,v0,v1,v2)
AddTriangle(Surface,v1,v3,v2)
UpdateNormals Karte

EntityTexture Karte,Textur

While Not KeyDown(1)

   PositionEntity Karte,MouseX(),MouseY()*(-1),0

   UpdateWorld
   RenderWorld
   
   Flip
   Cls

Wend

End

Danke für eure Hilfe!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

aMul

Sieger des Minimalist Compo 01/13

Betreff: Re: Texturieren eines Quads...

BeitragDo, Feb 09, 2006 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Textur=LoadTexture("tile.bmp",4)

Wozu die 4 ??
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

5k41

BeitragDo, Feb 09, 2006 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
um schwarz als maskfarbe zu setzen ql:LoadTexture
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

maximilian

BeitragDo, Feb 09, 2006 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst UV-Koordinaten setzen. Schau dir nochmal die AddVertex-Befehle in der OH an.
Variety is the spice of life. One day ignore people, next day annoy them.

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Feb 09, 2006 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
hm...
Code: [AUSKLAPPEN]

Textur=CreateTexture(16,16,4)
   SetBuffer TextureBuffer(textur)
   Color 255,0,255
   For x=1 To 16
      For y=1 To 16
         Plot x,y
      Next
   Next

Also mit dem Code gehts...
Muss an der Textur liegen...


EDIT:
ok, jetzt weiß ich was nich geht, da kann ich nich helfen...^^
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

5k41

BeitragDo, Feb 09, 2006 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@LordChaos:
Kann doch eigenltich nicht daran liegen ich mein die sind doch optional... wenn ich die nicht setzte sollten die doch auf 0,0,0 stehen was ich will...

@aMul:
komisch bei mir gehts damit nicht... probiere nochmal ein bisschen
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

D2006

Administrator

BeitragDo, Feb 09, 2006 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau. Dann stehen sie auf 0,0.

Du musst sie setzen, sobald du das Objekt texturieren willst.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Feb 09, 2006 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub, das Problem ist, das in dem Rechteck nur der oberste Pixel der Texture angezeigt wird, und da kann man ja auch gleich Vertex-Farbe nehmen...
Was man dagegen tun kann, weiß ich allerdings nicht, da muss dir heir wer anderes helfen...
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

Dreamora

BeitragDo, Feb 09, 2006 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie gesagt: Dazu muss man die UV Koordinaten setzen. 0,0 ist der Pixel ganz links oben.
Ohne gibts keine Textur, egal was man macht.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

5k41

BeitragDo, Feb 09, 2006 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke... ich glaub ich hab immer noch nicht das prinzip der UV's verstanden...Sad

(Ava bitte nicht beissen Smile )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

BIG BUG

BeitragDo, Feb 09, 2006 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
UV-Koordinaten geben eine Position einer Bitmapgrafik je Vertex an.
Die U-Koordinate entspricht X, die V-Koord entspricht Y. 0 ist dann links bzw. oben, 1 steht für rechts bzw. unten.

Bei einem Viereck könnten die Korrdinaten so aussehen, um eine Textur komplett anzuzeigen:
Code: [AUSKLAPPEN]

Vertex1(0,0)         Vertex2(1,0)


Vertex3(0,1)         Vertex4(1,1)
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

5k41

BeitragFr, Feb 10, 2006 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
DANKE AN ALLE! Ich hab jetzt die UVs endlich verstanden... hab leider trozdem noch ein Problem und zwar: Ich hab nun die Textur endlich auf dem Quad aber sie ist ein Tileset und wird immer ganz darauf gezeichnet also es wird der größe des Quads angepasst... ich hatte mir das so vorgestellt, dass er die Textur in "original" größe zeichnet und ich per UVs nun sagen kann welchen ausschnitt ich auf dem Quad sehen kann:( kann man das irgendwie einstellen oder wie macht man das sonst mit dem Tileset?
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragFr, Feb 10, 2006 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das stellst du dadurch ein, indem du statt 1,1 für rechts unten halt den entsprechenden Anteil nimmst.

Wenn du zB 2x2 Bilder auf der Textur hast, dann gehen die bilder (0,0) (0.5,0.5), (0.5,0) (1,0.5), (0,0.5) (0.5,1), ...

Also die Bilder haben die Länge und Höhe 1.0 / Anzahl Bilder in diese Texturrichtung
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Ava

Gast

BeitragFr, Feb 10, 2006 16:13
Antworten mit Zitat
@5k41 *beiss* genau das hatte ich Dir doch alles schon erklärt! Razz
(aber es war auch wirklich etwas viel auf einmal den Nachmittag, da kann ich es gut verstehen, wenn nicht alles 100% angekommen ist!)


Wenn Du etwas weiter bist, würd ich gern mal eine Kostprobe Deiner Map zu Gesicht bekommen! Smile

5k41

BeitragFr, Feb 10, 2006 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
@Dreamora:
Ah! ich glaub ich weiss grad wie ich das mache danke!

@Ava:
Ich kann dir gern das fast fertige Spiel in 2D schicken hat sogar schon nen Installer aber leider kam mir dann ein nicht zu behebender ImagesCollide-Bug in die Quere und somit bin ich wieder ganz am anfang... wird noch ein bisschen dauern bis ich in 3D soweit bin das ich überhaupt wieder mein Spiel anfangen kann...Sad
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group