PDA

Visualizza Versione Completa : texture non quadrate



Marius
24-10-07, 22:58
Ciao. Qualcuno sa in che modo si può fare ad allargare la finestra uv a dimensione tipo 256x512, anzichè quadrate?
Un saluto a tutti.

gebazzz
25-10-07, 09:48
uhm.. non ho capito la domanda. l'immagine, qualsiasi sia il suo formato, viene automaticamente scalata per occupare completamente lo spazio UV.. :noidea:

vashts

Marchino
25-10-07, 11:17
Quello che chiedi direttamente non credo si possa ottenere, ma puoi arrivare allo stesso risultato con 1 trucchetto:

aggiungi alla tua mesh un quadrato che la contenga interamente e includi questo quadrato nella UV Map

a questo punto nella vista UV vedrai che la tua mesh non sara' deformata per portarla "a quadrato" ma le porporzioni dei poligoni rimarranno invariate.

ora puoi cancellare il quadrato che avevi aggiunto e gestirti normalmente la tua UV Map

Marius
25-10-07, 12:31
Quello che chiedi direttamente non credo si possa ottenere, ma puoi arrivare allo stesso risultato con 1 trucchetto:

aggiungi alla tua mesh un quadrato che la contenga interamente e includi questo quadrato nella UV Map

a questo punto nella vista UV vedrai che la tua mesh non sara' deformata per portarla "a quadrato" ma le porporzioni dei poligoni rimarranno invariate.

ora puoi cancellare il quadrato che avevi aggiunto e gestirti normalmente la tua UV Map
Ciao, non credo d'aver capito bene: puoi farmi un esempio graficamente, se puoi?

Grazie :-)

(il max ha la possibilità di settare l'ampiezza dello spazio uv; quindi mi chiedo perchè mai non abbiano ancora fatto qualcosa di simile anche per lw)

gebazzz
25-10-07, 12:58
(il max ha la possibilità di settare l'ampiezza dello spazio uv; quindi mi chiedo perchè mai non abbiano ancora fatto qualcosa di simile anche per lw)
perchè fortunatamente LW non è max! :evil:

vashts

Delirium_Fx
25-10-07, 13:37
perchè fortunatamente LW non è max! :evil:

vashts
:evil::yeah::evil::yt:

Marius
25-10-07, 13:47
Sono d'accordo che lw non sia il max, preferisco lw ormai da anni, e lo uso sin dalla versione 5 per la sua facilità d'uso, ma in questo caso non penso proprio che il non avere la possibilità di settare le misure del campo uv, sia un vantaggio rispetto al max; ed è comunque risaputo che proprio per quanto riguarda il pannello uv, lw non sia granchè.

Marchino
25-10-07, 14:21
Ciao, non credo d'aver capito bene: puoi farmi un esempio graficamente, se puoi?

ti allego 2 immagini

la prima e' una classica UV planare della mucca di LW "nuda e cruda"

Come vedi la mappa UV della mucca viene "stirata" per farle coprire tutta la zona UV. Quindi se ci applichi una texture, sul modello la vedrai stirata di conseguenza

nella seconda immagine invece, intorno alla mucca ho aggiunto un semplice quadrato che la contiene. La mappa UV non viene piu' stirata, perche' il quadrato aggiunto si adatta perfettamente alla zona UV

Una volta fatto questo puoi cancellare il quadrato dall'oggetto (e di conseguenza dalla mappa) e applicare tutte le texture che vuoi senza deformazioni


Le spiegazioni non sono il mio forte ma prova, vedrai che e' molto semplice

Marius
25-10-07, 15:01
Grazie Marchino. Se ho ben capito, in questo modo non si deforma nulla, ma semplicemente perchè la mesh della mucca "centrata" viena a trovarsi iscritta nel quadrato (un modo per fregare lw, in parole povere :-)
Però, se ho capito bene, così potrei soltanto evitare lo stretching della mesh proiettata in uv; ma se carico sul "lettore" di texture della finestra uv una texture di 256x512 o 512x256 come bkg di reference, me la darà sempre deformata (dato che il programma restringerà uno dei due assi per far rientrare tutta l'immagine nel quadrato di default).

Marchino
25-10-07, 15:49
Però, se ho capito bene, così potrei soltanto evitare lo stretching della mesh proiettata in uv; ma se carico sul "lettore" di texture della finestra uv una texture di 256x512 o 512x256 come bkg di reference, me la darà sempre deformata (dato che il programma restringerà uno dei due assi per far rientrare tutta l'immagine nel quadrato di default).

Vero, pero' avendo la mesh non stirata puoi semplicemente ridimensionarla con il comando "stretch" e arrivare alle proprozioni corrette della texture

mikadit
26-10-07, 02:35
In LightWave come in 3DS Max l'ambiente UV è pressoché lo stesso. Come in tutti gli sw che leggono o permettono l'editing delle mappe UV, sia l'asse U che l'asse V hanno parametrini relativi che vanno da 0 a 100% per ciascun asse. Quindi non esistono spazi UV rettangolari, ma solo quadrati.
Non vorrei che si confondessero i vari tipi di proiezioni delle mappature facendo un bel minestrone di non so che. Ci sono sicuramente delle differenze, principalmente nell'approcio, ma si basano entramibi sulla stessa concezione dello spazio UV.
Ad esempio, la stessa cosa che ti ha fatto osservare marchino la si fa in entrambi i software.
Poi, il fatto che un'immagine venga adattata alle dimensioni del riquadro UV della viewport UV Texture è normale, non si tratta di pixel ma di percentuale, è un 'ambiente adimensionale. Un'immagine di 512x256 pixels, nello spazio UV diventa un'immagine adimensionale che occupa il 100% dell'asse U e il 100% dell'asse V.

Ma sarei più interessato a sapere più precisamente dove ti era occorso il problema, magari vedendo sia la mesh che la mappa UV del tuo oggetto.
Si tratta solo di poter capire meglio cosa si sta discutendo ...

Se ho ben capito, in questo modo non si deforma nulla, ma semplicemente perchè la mesh della mucca "centrata" viena a trovarsi iscritta nel quadrato (un modo per fregare lw, in parole povere :-)
Però, se ho capito bene, così potrei soltanto evitare lo stretching della mesh proiettata in uv; ma se carico sul "lettore" di texture della finestra uv una texture di 256x512 o 512x256 come bkg di reference, me la darà sempre deformata (dato che il programma restringerà uno dei due assi per far rientrare tutta l'immagine nel quadrato di default).
Che problema comporterebbe la modifica dell'immagine o la modifica della mappa UV?
Ricordandoti che la mappatura UV è adimensionale, meglio dimenticarsi dei pixels. Avrai sempre e comunque il lato orizzontale, asse U, da 0 a 100% del lato orizzontale della tua immagine, e lo stesso per il lato verticale, V, che andrà da 0 a 100% dell'immagine che vuoi adattare allo spazio UV.

Forse hai bisogno di ripetere più volte un'immagine in uno spazio UV? Se si tratta solo di questo puoi usare uv repeat. ;)

Marius
26-10-07, 07:34
Ciao, il "problema" è che mi servirebbe che la finestra uv in cui vado a posizionare le mesh proiettate sia un un rettangolo anzichè un quadrato, per poter ospitare una texture non quadrata (ho fatto l'esempio di una 256x512) senza deformare la mesh e la texture stessa (che nel caso risulterebbero visualizzate "ristrette" sull'asse x). Forse un plugin sarebbe opinabile.
A quanto ho letto, comunque, max permette di settare la dimensione della finestra uv.

Delirium_Fx
26-10-07, 07:49
Ciao, il "problema" è che mi servirebbe che la finestra uv in cui vado a posizionare le mesh proiettate sia un un rettangolo anzichè un quadrato, per poter ospitare una texture non quadrata (ho fatto l'esempio di una 256x512) senza deformare la mesh e la texture stessa (che nel caso risulterebbero visualizzate "ristrette" sull'asse x). Forse un plugin sarebbe opinabile.
A quanto ho letto, comunque, max permette di settare la dimensione della finestra uv.
Guarda che il tuo è un falso problema... Carichi la texture 256x512 in Photoshop, con il comando "quadro" porti la mappa a 512x512 senza deformarla, poi la carichi in LW e tutto funziona (a parte consumare un po' di ram in più...). Sono stato chiaro? Altrimenti chiedi :D
Bye.

happymilk
26-10-07, 08:49
Bah... secondo me il problema di marius non è poi tanto un "falso problema" perchè di solito mi ci scontro pure io.

Spiego con un esempio pratico.
Importo un modello di un giardino con la sua bella recinzione in ferro battuto realizzata con un una serie di facce piane a cui devo applicare la mappa della recinzione.
La mappa che ho rappresenta un ingombro di (esempio) 10cmx85cm.
Già quando vado a crearmi le mappature UV devo un pò impazzire perchè LW tende a propormi di stirare tutti gli oggetti per massimizzare l'occupazione della finestra UV (e quindi le proporzioni base / altezza vanno a farsi benedire.
Ma se anche supero il problema di mantenere fisse le proporzioni degli oggetti devo andare a casaccio per superare quello dello stiramento della mappa.
Infatti quando applico l'immagine della cancellata che è (per rimanere coerenti) magari 100x850 pixel, LW me la stira per farmi occupare tutta l'area UV. E i miei oggetti (le facce che rappresentano le cancellate) dovrebbero esser stirati della stessa misura per, poi, farmi tornare le esatte proporzioni. Quindi, o mi armo di calcolatrice e calcolo la percentuale che devo usare, o vado un pò ad occhio.

Ma secondo me un modo per far si che ci sia coerenza di proporzioni tra la geometria e la mappa UV sarebbe utile, comodo e favorevolmente accolto.

saluti

PS: rileggendo il msg mi son reso conto che la cosa andrebbe spiegata meglio. Se volete appena ho un pò di tempo butto su qualche immagine di esempio.

happymilk
26-10-07, 08:55
Guarda che il tuo è un falso problema... Carichi la texture 256x512 in Photoshop, con il comando "quadro" porti la mappa a 512x512 senza deformarla, poi la carichi in LW e tutto funziona (a parte consumare un po' di ram in più...). Sono stato chiaro? Altrimenti chiedi :D
Bye.

La tua procedura non è sempre corretta.
Quando si ha a che fare con texture che si ripetono in LW basta fare in modo che gli oggetti "escano" fuori dal quadrato UV per avere la ripetizione. E in quel caso un immagine che ha delle bande bianche laterali semplicemente non rappresenta l'immagine che poi userai come texture.

Delirium_Fx
26-10-07, 09:20
La tua procedura non è sempre corretta.
Quando si ha a che fare con texture che si ripetono in LW basta fare in modo che gli oggetti "escano" fuori dal quadrato UV per avere la ripetizione. E in quel caso un immagine che ha delle bande bianche laterali semplicemente non rappresenta l'immagine che poi userai come texture.

:confused: Gurda, per evitare lo stiramento io ricorro a un vecchio procedimento (illustrato da Marchino, vedi sopra); poi, gusti personali ovviamente, nella mappa UV cerco di metterci più cose possibili cioè mappo più oggetti tutti con le proporzioni corrette. Esporto in eps la vista UV, importo in PhotoShop, disegno la mappa, torno in LW e tutto è al suo posto. Se vuoi dire che non è proprio comodissimo ottenere le UV di un oggetto, concordo ma non mi sono mai dovuto armare di calcolatrice :D
Bye

happymilk
26-10-07, 09:43
Ok. serve un esempio concreto. Sennò non ci si capisce.

Allego la texture dell'ipotetica recinzione di una terrazza.
La devo mettere su una serie di facce che rappresentano la mia recinzione. Ovviamente la mappa deve riempire completamente l'oggetto nell'asse V ma si deve ripetere nell'asse U. Quindi basta che io scali proporzionalmente l'oggetto (che poi è una serie di facce piane) nella finestra UV fino a che l'altezza della faccia sia il 100% dell'asse V e che esca tranquillamente fuori per l'asse U.

A questo punto però il problema è che se vado a metter l'immagine allegata sulla finestra UV questa mi si stira per prendersi tutto l'asse U, e se io in qualche modo non stiro della stessa percentuale anche l'oggetto nell'asse U non potrò ottenere la giusta corrispondenza tra base e altezza.

E' vero. in alcuni casi potrei ricorrere ad una texture composta da (esempio) più elementi.. in modo da ottenere una texture quadrata. E di solito lo faccio. Ma non è sempre possibile e allora tocca arrangiarsi.

Non sò se è questo il problema di marius... ma di certo è un problemuccio che ho io.

Delirium_Fx
26-10-07, 10:28
Ok. serve un esempio concreto. Sennò non ci si capisce.

Allego la texture dell'ipotetica recinzione di una terrazza.
La devo mettere su una serie di facce che rappresentano la mia recinzione. Ovviamente la mappa deve riempire completamente l'oggetto nell'asse V ma si deve ripetere nell'asse U. Quindi basta che io scali proporzionalmente l'oggetto (che poi è una serie di facce piane) nella finestra UV fino a che l'altezza della faccia sia il 100% dell'asse V e che esca tranquillamente fuori per l'asse U.

A questo punto però il problema è che se vado a metter l'immagine allegata sulla finestra UV questa mi si stira per prendersi tutto l'asse U, e se io in qualche modo non stiro della stessa percentuale anche l'oggetto nell'asse U non potrò ottenere la giusta corrispondenza tra base e altezza.

E' vero. in alcuni casi potrei ricorrere ad una texture composta da (esempio) più elementi.. in modo da ottenere una texture quadrata. E di solito lo faccio. Ma non è sempre possibile e allora tocca arrangiarsi.

Non sò se è questo il problema di marius... ma di certo è un problemuccio che ho io.

Se ho capito bene, è questo che vuoi ottenere (vedi immagine allegata)?
Bye!

happymilk
26-10-07, 10:35
Se ho capito bene, è questo che vuoi ottenere (vedi immagine allegata)?
Bye!

Si esatto.

Ma... per chiarirsi. Non è che stò dicendo che con LW queste cose non si possono fare... perchè in un modo o nell'altro ci si arriva.
Dico che, magari, sarebbe carino un modo meno empirico (o meno cervellotico) per farle.

Delirium_Fx
26-10-07, 10:40
Si esatto.

Ma... per chiarirsi. Non è che stò dicendo che con LW queste cose non si possono fare... perchè in un modo o nell'altro ci si arriva.
Dico che, magari, sarebbe carino un modo meno empirico (o meno cervellotico) per farle.

Guarda che mica sono diventato di gomma :D
è una cosa che si fa rapidamente.
Per la posizione in y, be' mica so' architetto :D

happymilk
26-10-07, 10:49
Per la posizione in y, be' mica so' architetto :D
Scusa.. ho cancellato quella parte nel mio post perchè mi son accorto che il posizionamento era giusto. Era la texture che mi ha tratto in inganno:p


Guarda che mica sono diventato di gomma :D
è una cosa che si fa rapidamente.


Ok. però adesso mi spieghi il come.
- Perchè o è come penso io... e quindi hai stirato la faccia nella finestra uv di più o meno un tot che bastasse per far sembrare proporzionata la texture
(ed è come faccio io...)
- Oppure hai usato un metodo per calcolare di quanto stirare l'oggetto
- O conosci un modo a me oscuro per ottenere in una botta sola la proporzione corretta senza far calcoli... e in quel caso devi dirmelooooooo :D

Delirium_Fx
26-10-07, 11:22
La prima regola cui un mago (vedi le mie manine a lato) deve sottostare e il divieto assoluto di rivelare i propri segreti :evil:



Ok. però adesso mi spieghi il come.
- Perchè o è come penso io... e quindi hai stirato la faccia nella finestra uv di più o meno un tot che bastasse per far sembrare proporzionata la texture
(ed è come faccio io...)

No, non ho strecciato (brutto neologismo...) nulla, vedi dopo.



- Oppure hai usato un metodo per calcolare di quanto stirare l'oggetto

No, nessun calcolo: ne ho fatti a sufficienza quando, per campare, facevo il geom. di cantiere :D



- O conosci un modo a me oscuro per ottenere in una botta sola la proporzione corretta senza far calcoli... e in quel caso devi dirmelooooooo

Well...
Per mappare l'oggetto ho fatto così:
a) creato un morph con i poligoni stesi in un unico piano;
b) aggiunta un faccia quadrata della stessa dimensione dei poligoni spalmati;
c) creato la UV degli oggetti (spalmato e faccia quadrata);
d) eliminata la faccia quadrata;
e) esportato in eps la vita UV;
f) importato l'eps in Photoshop e in un attimo la ringhiera era pronta.
g) salvi, importi in LW, assegni la mappa e il gioco è fatto.

Detta così, non sembra rapidissima ma è vero il contrario; se poi conosci bene Photoshop e usi gli shortcuts da tastiera, voli letteralmente :D
Con questo sistema ho creato le mappe di buona parte del cisternone (un giorno, forse, lo completerò....

Dimenticavo: una volta creata la UV nel Modeler, il morph dell'oggetto lo puoi cancellare.

Bye!

Marius
26-10-07, 12:01
Tutto ciò è apprezzabile, ma forse non mi sono spiegato, dato che non vedrei in che modo quanto esposto da FX sia in relazione con quanto da me richiesto in questo 3ad; cioè per quale motivo lw non faccia settare la dimensione della griglia uv (dire che "non ce n'è bisogno, perchè tanto si trovano scappatoie", non mi sembra un modo di pensare "serio", specie da chi ritiene che il software 3d utilizzato sia il migliore o quantomeno il più facilmente usabile tra tutti), e se esistono metodi (plugin o cose del genere; ma mi sa di no) "cartesiani" per ottenere quanto desiderato.
Per quanto riguarda invece il discorso dello "spalmo", la cosa mi riuscirebbe utile per affrontare ad es mapping difficoltosi di oggetti tipo volti e simili (è una "tecnica" che avevo trovato avantieri in questa pagina (http://www.joelertola.com/tutorials/uv_tutorial/uv.html), e sto provando ad utilizzare proprio nel progetto di cui in questo post; hai usato polyfit/polyfit per appiattire la mesh, o semplicemente il set value, e poi ruotato tutto il risultato sull'asse z?), solo che a quanto pare il morph mi si deseleziona da solo, e mi sa che ho appiattito l'originale (meno male che avevo la copia; sapete, lw non ha molti undo a disposizione, e, quando si salva l'oggetto, la lista undo si azzera...).

mikadit
26-10-07, 12:40
Non è propriamente chiaro il discorso del thread, evidentemente si cerca di capire anche di cosa stai parlando. ;)
Lasciamo perdere le diatribe sugli sw e specialmente le arrabiature personali; cerchiamo di mettere luce su cosa vorresti esattamente spiegare e capire.
Ad esempio, mi potresti spiegare meglio come si setterebbe la griglia UV, non mi riferisco al tile, ma alla griglia UV, appunto, quella che si vede nel pannello dell'editor delle mappe in Max. Un link o uno screen sarebbe apprezzabile.



[...]e mi sa che ho appiattito l'originale (meno male che avevo la copia; sapete, lw non ha molti undo a disposizione, e, quando si salva l'oggetto, la lista undo si azzera...).
Non farei mai degli esperimenti su di un'oggetto che non sia una copia, in nessun sw. Che tu abbia una copia del tuo oggetto è più che normale, pensa che già LW fa da solo il backup dei files in una cartella temporanea. ;)
Gli undo di defoult dovrebbero essere 20, ma puoi settare un numero maggiore nelle opzioni generali.

Delirium_Fx
26-10-07, 12:43
Tutto ciò è apprezzabile, ma forse non mi sono spiegato, dato che non vedrei in che modo quanto esposto da FX sia in relazione con quanto da me richiesto in questo 3ad; cioè per quale motivo lw non faccia settare la dimensione della griglia uv (dire che "non ce n'è bisogno, perchè tanto si trovano scappatoie", non mi sembra un modo di pensare "serio", specie da chi ritiene che il software 3d utilizzato sia il migliore o quantomeno il più facilmente usabile tra tutti), e se esistono metodi (plugin o cose del genere; ma mi sa di no) "cartesiani" per ottenere quanto desiderato.

Chiedilo ai programmatori di LW... :)
In lw lo spazio UV è quadrato, punto e basta. Questo, almeno per me, non è mai stato un problema... Scusami -forse sono un po' tardo :)- non capisco l'esigenza di una UV rettangolare quando puoi fare tutto quello che vuoi così



Per quanto riguarda invece il discorso dello "spalmo", la cosa mi riuscirebbe utile per affrontare ad es mapping difficoltosi di oggetti tipo volti e simili (è una "tecnica" che avevo trovato avantieri in questa pagina (http://www.joelertola.com/tutorials/uv_tutorial/uv.html), e sto provando ad utilizzare proprio nel progetto di cui in questo post; hai usato polyfit/polyfit per appiattire la mesh, o semplicemente il set value, e poi ruotato tutto il risultato sull'asse z?), solo che a quanto pare il morph mi si deseleziona da solo, e mi sa che ho appiattito l'originale (meno male che avevo la copia; sapete, lw non ha molti undo a disposizione, e, quando si salva l'oggetto, la lista undo si azzera...).

A seconda dell'oggetto uso modalità operative differenti.
Bye. :yoo:

Marius
27-10-07, 09:38
Ok, non avrò risolto il problema (perlomeno finchè non uscirà qualche plugin da qualche parte...), ma ho appreso comunque delle cose molto interessanti. Grazie a tutti ugualmente. Ciao! :-)