Quad mit, sich kachelnden, Texturen bestücken.

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Steve0

Betreff: Quad mit, sich kachelnden, Texturen bestücken.

BeitragDi, Jul 11, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hy,
ich habe in letzter Zeit viel mit Quads, also mit 4 Vertices erstellten "Sprites", gearbeitet.
Nun kann man ja bei jedem Vertex die UV-Koordinaten der Texture angeben.
Jetzt zu meinem Problem ich hätte gerne das Quad vergrößert aber die Texture bei gleicher Größe gelassen aber dafür gekachelt. Und zwar nur den Berreich gekachelt, den ich mit den UV-Koordinaten beim Erstellen des Quads angegeben habe.

Ich hoffe mal einige verstehen die Frage. Und danke noch gleich.
Übrigens hab ich im englischen und deutschen Forum gesucht und nix gefunden.
Pixelgenaue 2D SingleSurface Engine!!!
 

Dreamora

BeitragDi, Jul 11, 2006 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast ja die Grundbreite und Höhe deines Quads gespeichert nehme ich an, oder?

Nach dem Vergrössern des Quads berechnest du einfach die neue höhe und breite des Quads und teilst diese durch die Grundbreite / Höhe von oben.

Danach weisst du den Vertices die vorher 1 hatten den entsprechenden Wert dieser Divisionen zu.

zb wenn das GrundQuad 0,0 - 1,1 war und neu 0,0 - 3,2, dann sind die beiden Faktoren 3 und 2

-> UV sind nun auch 0,0 - 3,2

Wenn dein GrundQuad jedoch 0,0 - 2,2 gewesen wäre und neu 0,0 - 3,2, so wären die UV nun 0,0 - 1.5,1


Hoffe das macht Sinn.

du streckst einfach die UV im gleichen Masse wie das Quad, das führt zur repetition der Textur
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Steve0

BeitragDi, Jul 11, 2006 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das funktioniert ja ganz prächtig aber deine Lösung, soweit ich das verstehe, geht doch nur für den Fall das die ganze Texture auf dem Quad liegt. Trotzdem Danke.
Ich hab da ma was vorbereitet:

user posted image

Wie auf der Skizze zu sehen ist hab ich eine Texture mit allerlei Zeugs drauf.
Jetzt soll auf ein Quad mithilfe der UV-Koordinaten ein Teil der Texture (in dem Fall der Kreis) auf das Quad gelegt werden.
Nun möchte ich das Quad vergrößern aber den Bereich der Texture der auf dem Quad liegt soll nicht mit skaliert werden sondern gekachelt werden.

PS: Ich weiß ganz genau das die Kreise nicht gleich sind. Und auf die Abmessungen der Quads möchte ich gar nicht erst zu sprechen kommen.
Pixelgenaue 2D SingleSurface Engine!!!
 

Dreamora

BeitragDi, Jul 11, 2006 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht leider so nicht.
Dann musst neue Texturen daraus generieren (also aus jedem dieser blöcke)
Repeating geht nur via UV Skalieren.

Alternativ müsstest du unzählige neue Quads generieren so das für jeden dieser Kreise ein eigenes Quad existiert. Das möchtest du kaum, oder?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Steve0

BeitragDi, Jul 11, 2006 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mir schon gedacht das es darauf hinausläuft. Trotzdem Danke.
Und mit den unzähligen Quads isses auch sone Sache.
Also neue Texture generieren und den Teil reinkopieren. Ich werds probieren.
Pixelgenaue 2D SingleSurface Engine!!!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group