[Supporto richiesto] Modellazione erba – texture o mesh?

Stai vedendo 20 articoli - dal 1 a 20 (di 20 totali)
  • Autore
    Articoli
  • #578895

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Buonasera a tutti!

    Dovrei modellare dei ciuffi d’erba ma non so quale sia l’approccio migliore. Cercando su internet ho visto che si può partire da una texture fatta su Photoshop, applicarla ad una superficie (plane) e modellarla…avendola poi in png verrà solo visualizzata la parte effettivamente colorata; oppure modellare una mesh creando la forma di un ciuffo d’erba e applicarci poi una texture. Finchè si tratta di un ciuffo d’erba penso vadano bene tutte e due le soluzioni ma creando forme più complesse (tipo fiori con petali) qual’è la soluzione migliore da adottare?

    Per quanto riguarda poi il rendering possono esserci complicazioni per il primo modo? In pratica nela prima soluzione ho una serie di plane con parti invisibili mentre nella seconda ho solo i poligoni che effettivamente si vedono. Quali sono i vantaggi/svantaggi dei due modi? Scusatemi ma sono un po’ confuso (è per un videogame)

     

    Grazie in anticipo 🙂

    #578897

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Ciao, dipende dall’engine che andrai ad usare, in Unity esempio basta la texture dell’erba, ha poi il suo tool interno per la generazione dei terreni con tutte le regolazioni necessarie, Unreal lo conosco poco ma anche lui ha il suo tool e la genera da solo se non sbaglio


    Don’t Feed The Trool
    #578907

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Sono riuscito a risolvere alla fine, ho preferito usare direttamente i poligoni, viene un lavoro più pulità e semplice a mio avviso. Comunque si uso Unity così poi posso duplicare i vari ciuffi d’erba 🙂

     

    #578910

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Ciao, puoi farla anche con i poligoni, ma Unity utilizza solamente la texture per fare l’erba, usando i poligoni rischi di appesantire parecchio la scena, questo è il link alla pagine del manuale di unity per come creare l’erba, io userei la texture…

    https://docs.unity3d.com/Manual/terrain-Grass.html

     


    Don’t Feed The Trool
    #578919

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Stavo appunto per dirlo….ho ipotizzato una scena su Unity con un prato e devo dire che l’erba è venuta davvero bene però lagga un po’. Ho cercato di usare il minimo dei poligoni per un ciuffo d’erba (5 poligoni a ciuffo)…

    Il risultato comunque è questo (modello singolo)

    Edit: Buildando la scena non lagga per nulla…è pesante solo durante l’area di lavoro su Unity

    #578922

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Bah… contento tu contenti tutti 🙂

    Ovviamente puoi fare come vuoi, ma visto che praticamente tutti utilizzano le texture e l’engine è concepito per utilizzare le texture, ci sono due possibilità o fino ad oggi hanno sbagliato tutti compreso chi ha progettato unity o stai utilizzando una tecnica che di norma è da considerarsi non ottimale

    Se può interessarti questo è un tutorial su come creare erba e fiori per unity https://www.youtube.com/watch?v=1oSjpdJcb-k

     

     


    Don’t Feed The Trool
    #578923

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Grazie mille, capisco quello che dici…oggi proverò a fare tramite texture e in base al risultato e al rendimento che mi da su Unity valuterò.

    Grazie mille per il link al tutorial 😉

    #578924

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Di niente, quello che devi considerare è che se usi risorse per fare una cosa non ne hai per farne un’altra, se tu usassi 10 ciuffi (e credo che siano pochi) di erba da 200 tris cad al m^2  per fare un campo da 10 m^2 (che è relativamente piccolo) useresti 200000 tris, con le stesse risorse puoi farci l’erba e 4-5 edifici ben dettagliati (o 15-20 con medio dettaglio) + i vari oggetti di riempimento, valuta cosa nel tuo progetto è più importante


    Don’t Feed The Trool
    #578926

    andcamp
    Partecipante
    • Veterano Platino
    • ★★★★★★
    • Post sul Forum 5879
    • Blender Italia Staff
    • Associato Blender Italia
    • Moderatore Forum

    In genere se usi le textures ci impiega di più durante il caricamento del gioco, con più poligoni invece hai più problemi durante la visualizzazione


    #578929

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Ho capito, però una cosa non mi è chiara…usando una texture dovrò comunque suddividere la faccia in poligoni per dare un’inclinazione ai ciuffi altrimenti risulterebbero dritti…non voglio avere l’effetto billboard con texture ripetuta 4 volte a croce

    #578933

    andcamp
    Partecipante
    • Veterano Platino
    • ★★★★★★
    • Post sul Forum 5879
    • Blender Italia Staff
    • Associato Blender Italia
    • Moderatore Forum

    sì, ma te la cavi con 8-10 vertici per filo d’erba. Tieni conto che sono piccoli e lontani e quindi non bisogna andare tanto nel dettaglio


    #578934

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    non servono i poligoni in unity, serve solamente la texture tutto il resto lo fa il terrain editor


    Don’t Feed The Trool
    #578935

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Sisi lo so, però avrebbe l’effetto billboard se non viene una vegetazione abbastanza fitta. Comunque appena provo vi faccio sapere, magari viene anche meglio 🙂

    #578942

    z4g0
    Partecipante
    • Blenderista
    • Post sul Forum 5

    Dipende anche dallo stile che vuoi raggiungere: Nella maggioranza dei casi meglio stare sul classico quindi geometrie elementari ( quads, eventualmente anche singoli triangoli, o laddove serva una certa profondità o dove ci sia uno spreco di texture vuota magari anche qualcosa di leggermente più complesso) e lasciare che sia la texture (e il materiale) a far il lavoro sporco. Nel caso, a riguardo c’è davvero l’imbarazzo della scelta tra i quixel megascans, assets pack etc.. Se vuoi puntare allo stile fotorealistico, come punto di partenza potresti ad esempio spulciare un po’ il progetto Book Of The Dead (occhio però che usa l’HDRP che è ancora experimental) e studiarti il loro approccio per i ciuffi d’erba. Per qualcosa più cartoon, come l’asset in oggetto, potrebbe (potrebbe) funzionare anche la via poligonale, con materiale opaco però ( altrimenti perdi tutto il vantaggio che avresti dai poligoni rispetto all’overdraw di billboard in alphablend ad esempio, in termini di performance), potrebbe essere percorribile con tutte le ottimizzazioni del caso (ad esempio batching di grossi chunk con lod.. impostors a lunga distanza etc.. )

    #579103

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Ciao z4g0, mi interessa molto l’ultima parte quando dici “Per qualcosa più cartoon….” fino alla fine. L’effetto che cerco è proprio quello ma non capisco come ottimizzarlo come dici tu. Il colore opaco in cosa influirebbe?

    #579110

    z4g0
    Partecipante
    • Blenderista
    • Post sul Forum 5

    In un contesto dove devi renderizzare qualcosa come una grossa serie di oggetti uno dietro l’altro in profondità (e la vegetazione è uno di questi casi), un oggetto con materiale che usa uno shader ‘opaco’ (ad esempio lo standard shader in modalità Opaque, o anche un transparent/cutout volendo, l’importante è che abbia lo zwrite abilitato e non faccia blending) può essere renderizzato senza considerare (e renderizzare) i pixel di tutti gli altri oggetti dietro di lui. Al contrario, se usi uno shader trasparente (tipo il transparent/alphablend) invece, di questa serie di oggetti sei costretto a renderizzarli tutti dall’ultimo al primo creando appunto overdraw e impattando negativamente sulle performance.
    Per questo la versione poligonale con materiale opaco potrebbe paradossalmente essere più performante sotto certe condizioni (in funzione della complessità del materiale utilizzato, densità e vastità dell’area da renderizzare, se c’è batching etc.. ).
    Comunque come primo approccio proverei il sistema di terrain di Unity (che non è esattamente il massimo XD) e tentare vie diverse (o ibride) solo nel caso non si raggiunga il risultato desiderato.. e poi, guardando il profiler ed il frame debugger, capire cosa e come ottimizzare .

    #579111

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Ti dirò la verità, non ho capito benissimo come funziona la cosa anche perché non so di cosa parli quando citi lo standard shader in modalità opaco, transpatent/cutout o zwrite…sono tutte funzionalità che non conosco.

    Per quanto riguarda il terrain editor di unity, pensavo di limitarne l’uso per la disposizione dell’erba usando invece blender e applicare l’erba come particles

    #579113

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Che il terrain editor di Unity non sia il massimo sono d’accordo soprattutto se paragonato alla creazione di una mesh dedicata o al piazzamento manuale della vegetazione, ma i tempi di realizzazione sono molto diversi, come la difficoltà di realizzazione che senza avere il giusto know how porta quasi sicuramente a risultati molto simili se non peggiori.

    per quanto riguarda gli shader, a grandi linee, l’opaco è un materiale senza trasparenza, il cutout è una invisibilità dei pixel in nero del canale Alpha ma approssimativa  (i bordi sono quadrettati), il fade (alphablend) è come il cutout ma con i bordi che sfumano quindi molto meglio definiti, e il trasparency lascia invece la trasparenza (classico vetro grigino), andare a scomodare shaderlab mi sembra una cosa alquanto prematura.

    Da sinistra shader opaco, cutout, fade, trasparency, più un esempio del risultato con il terrain editor fatto in 2 minuti (preso e buttato la le texture) il tempo di rendering rispetto alla scena senza erba è di circa 0,8ms.

    per quanto riguarda l’approccio poligonale se si parla di realizzare piccole aree a bassa densità (tipo delle aiule) ci può stare certamente ma se si parla della realizzazione di un contesto outdoor la vedo molto (ma molto) dura anche sfruttando diversi lod.

    Non so quale risultato vuoi ottenere ma per quanto mi riguarda già con il terrain editor si possono raggiungere risultati più che soddisfacenti

     

     

     


    Don’t Feed The Trool
    #579116

    Myhrs
    Partecipante
    • Blenderista
    • Post sul Forum 20

    Grazie Fangetto, ho capito le differenze fra i vari shader rappresentati nell’immagine ma ancora non capisco in cosa influiscono l’utilizzo di uno o dell’altro…inoltre stiamo sempre parlando di shader in campo blender o con altri software?

    Comunque il risultato che voglio ottenere è abbastanza semplice, non ho intenzione di fare un campo fitto d’erba…l’unica immagine che sono riuscito a trovare che rispecchi ciò che vorrò fare, anche se non in low poly, è questa

     

    Spero di aver reso l’idea e scusami se continuo a non capire questa cosa degli shader ma è la prima volta che mi approccio a questo tipo di progetto

    #579123

    Fangetto
    Partecipante
    • Veterano
    • ★★
    • Post sul Forum 630
    • Associato Blender Italia

    Fondamentalmente la differenza sta nel tempo di calcolo di cosa far vedere e cosa no,fra le opzioni di trasparenza il cutout essendo “grezzo” dovrebbe essere il più leggero poi a seguire il fade e credo il trasparency (credo perché non me ne preoccupo visto che il trasparency da un effetto specifico e quindi si utilizza quando ci vuole). A grandi linee il fade si usa su oggetti visti da vicino o sulle decal in generale, mentre il cutout su oggetti più distanti dove la sfumatura sarebbe comunque “mangiata” dalla distanza.

    Per gli Shader quale che sia il programma non importa, (che sia unity, unreal, blender, 3ds, maya….) gli shader servono a definire il comportamento del materiale quando viene colpito dalla luce, ma se cerchi l’effetto cartoon tipo quello in foto basta il canale diffuse, materiale opaco, e tutti gli altri valori a 0 fatta esclusione per dove serve la trasparenza.

    Nella scena che hai messo il livello di dettaglio dei fiori non è basso, dipende da quanti ce ne sono possono diventare un problema oppure no (bisogna considerare anche il backface culling e decidere se duplicare le foglie/petali con normali invertite o utilizzare uno shader doppia faccia, nell’immagine che ho messo sopra come vedi la faccia posteriore dei cubi non viene renderizzata) comunque volendo creare una scena non partirei dall’erba ma dalla realizzazione del livello e gli asset necessari, creato il tutto tirerei le somme e in base alle prestazioni deciderei l’approccio per la vegetazione, ma tutto dipende anche dal tipo di inquadratura che si vuole utilizzare, se top down, prospettiva 3/4, terza persona, prima persona, camera fissa… se i livelli sono openworld, railed o a piccole aree, ci sono tantissimi fattori che possono far variare la scelta, insomma di norma l’erba si fa utilizzando il poligono con la trasparenza e le sue varianti, ci sono però casi in cui l’approccio della modellazione può essere valutato

     

     


    Don’t Feed The Trool
Stai vedendo 20 articoli - dal 1 a 20 (di 20 totali)

Devi essere loggato per rispondere a questa discussione.