View Full Version : 3ds max esportare una texture
Ancora io con la mia ignoranza:
in 3ds max 7 ho diverse mesh unite in uno stesso modello, ogni mesh ha una texture diversa e a me servirebbe esportare una texure unica (in un qualsiasi formato) dell'oggetto completo. Una immagine che, dato l'oggetto intero senza texure, possa, con una sola applicazione, applicare una texture valida per tutte le parti del modello.
Io ho provato con la tool Material editor a ricavare la texture dal modello, ma mi permette di selezionare una sola mesh alla volta, e quindi mi troverei ancora tanti file immagini, ognuno per una mesh.
Non so se mi sono spiegato, cmq. se qualcuno ci capisce qualcosa mi aiuti.
Grazie.
Hai provato a studiarti la funzione "render to texture" o "texture baking"? Forse è quella che fa al caso tuo...
Hai provato a studiarti la funzione "render to texture" o "texture baking"? Forse è quella che fa al caso tuo...
Ah, non me n'ero accorto, grazie; però render to texture mi apre una finestra ricca di opzioni e comandi, alla cui base vi sono i pulsanti Render e Unwrap only. Ho provato a capirci qualcosa ma l'unica cosa che ho ottenuto è stata una immagine del modello in prospettiva (da davanti). A me serve invece una immagine che posso applicare come texture all'intero modello, per eliminare la frammentazione nelle singole mesh, ognuna delle quali ha una propria texture.
Tento per capirci sarebbe come "scuoiare" il modello per ottenerne la "pelle".
Noi ho capito molto, pero provo a dire la mia, se vuoi usare una sola texture, devi per forza creartela unedo i vari pezzi con un programma di fotoritocco e a quel punto usare lo unwrapmap (in MAX) per assegnare correttamente il materiale alle superfici, o posizionare un determinato disegno della textures in un punto specifico.
la_piaga
16-04-2005, 13:02
Ah, non me n'ero accorto, grazie; però render to texture mi apre una finestra ricca di opzioni e comandi, alla cui base vi sono i pulsanti Render e Unwrap only. Ho provato a capirci qualcosa ma l'unica cosa che ho ottenuto è stata una immagine del modello in prospettiva (da davanti). A me serve invece una immagine che posso applicare come texture all'intero modello, per eliminare la frammentazione nelle singole mesh, ognuna delle quali ha una propria texture.
Tento per capirci sarebbe come "scuoiare" il modello per ottenerne la "pelle".
Ci sono due modi per realizzare ciò che desideri la cui percorribilità dipende dal tipo di mapping che hai sulle meshes dalla risoluzione texture che puoi adottare, dalla precisione che vuoi ottenere e da cosa sei disposto a sacrificare:
1) se hai su TUTTI gli oggetti delle coordinate uv inscritte nello spazio 0~1 (senza nessuna ripetizione) puoi prendere le textures, comporle con un programma 2d in un "texturone" poi per ogni oggetto da max scali e trasli i clusters di coordinate uv fino a farli giacere sulla porzione interessata, dopo avere assegnato ad essi la nuova texture. Utilizzando questo sistema puoi mantenere la spezzatura in oggetti separati.
2) Come dice Kawallo, puoi effettuare un rendering su texture, però a questo punto si presentano due problemi non da poco: il primo è che questo procedimento è percorribile solo collassando le componenti in una unica mesh (e qui ti consiglio di adottare un muti/sub-material, se fai una ricerca su 'sto forum troverai diversi topics esaurienti a riguardo), il secondo è che come saprai, per usare una unica texture su di un oggetto "complesso" ad ogni triangolo deve essere associato uno spazio unico sulla texture ed il processo di generazione delle nuove coordinate uv (a meno che il modello non sia già predisposto) può essere vramente critico da realizzare manualmente. Per fortuna max ti viene incontro e ti da la possibilità di effettuare l'unwrapping totale in automatico in una frazione di secondo con lo scotto da pagare che utilizzando un elementare algoritmo di valutazione di planarità, se non vuoi eccessive distorsioni sei costretto a fargli spezzare la skin in una caterva di piccoli clusters (il che fa sprecare texture space e comporta la replica di motissimi vertici, due pessimi affari in un'ottica rela time).
Detto questo, se hai intenzione di utilizzare il metodo 2 io ti consiglio di creare prima il set di coordinate uv poi effettuare il rendering perchè puoi avere un maggiore controllo rispetto a ciò che accade utilizzado l'unwrapping "al volo" in fase di rendering. Per fare ciò applica un modifier "unwrap uvw" all'oggetto, scegli un canale (Channel/map channel) vergine, premi "edit", vai in menu/mapping/flattern mapping... e giocherella con i parametri finchè non sei soddisfatto dei risultati quindi chiudi la finestra di editing.
Ora vai in menu/rendering/render to texture (se vuoi la tex originale senza ombreggiature cotte sopra imposta a bianco puro la ambient light da rendering/environment) seleziona da mapping coordinates "use existing channel" ed imposta il numero del canale che hai appena editato; sotto, in "output" premi add e seleziona "diffuse map", scegli la dimensione della mappa e sei pronto per effettuare il rendering (gli atri parametri dovrebbero andar bene di default).
:mc: :mc: :mc:
Diciamo che mi sono infognato :eh: ma in ogni caso grazie, ma allora mi viene in mente una domanda: ma una comunissima persona che abbia fatto un modello (costituito da più parti, da particolari, da dettagli...) per half life 2, deve per forza rovinarsi la vita per importarlo?????? :cry:
Lo studiomdl, integrato in SDK converte soltanto la parte fisica e lo scheletro, ma non le texture, che mi pare debbano essere compilate a parte con vtex e poi deve essere creato uno script che le associ al modello...
E questo vtex può convertirmi solo le textures una ad una nel formato vmt, ma non so se si possano unire nello stesso modello.
Per ora proverò ad arrangiarmi, semmai faccio un bel respiro e lascio perdere ;)
Grazie a tutti cmq
la_piaga
16-04-2005, 14:30
Purtroppo non so dirti molto riguardo ai modelli per hl2 in particolare ma un consiglio te lo posso dare: limita al massimo il numero di tex per character, una sola sarebbe il top. Crea molti meno problemi se devi effettuare conversioni cervellotiche (come nel tuo caso :p ) e costituisce una notevole ottimizzazione a livello di performances.
Ah! Allora era per HL2!
Tempo fa ho fatto dei modelline 3d per un videogioco, sei dentro ad una botte di ferro :D forse!
Il gioco era Battlefield 1942, già allora i modelli suportavano il multisuboggetto, io spero che anche HL2 faccia lo stesso, se non è cosi devi fare come dice la_piaga e creare una sola texure e andando di unwrap UVW, di solito io prima modellavo, mappavo con unwarp e poi mi disegnavo la texture in Photoschop su un bitmap che rappresentava l'unwarp, qui rappresentravo già tutti i vari materiali o parti.
Se tu usi mappe già esistenti dandogli semplicemente un mosaico devi per forza sperare che HL2 supporti il miltisuboggetto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.