SCARICA LA DEMO
50 pagine su CoronaLightMtl, CoronaSelectMtl, CoronaVolumeMtl e CoronaRoundEdges
. Autore:
Francesco Legrenzi.
. Ruolo:
Modellazione, rendering, animazione e post-produzione.
. Data:
Marzo 2023.
. Software usati:
3ds Max, Chaos Corona, Photoshop, After Effects.
Il CoronaPatternMod è un modificatore che permette di distribuire una piccola geometria ripetibile in modo da produrre superfici più complesse. La letteratura classici porta come esempi la modellazione parametrica di tessuti o di prati fioriti. La mia idea iniziale era quindi di creare da zero un soggiorno minimale e utilizzare oggetti della libreria Chaos Cosmos come modelli sui quali in seguito applicare il modificatore CoronaPatternMod.
Ho cercato in rete una fotografia che potesse fare al caso mio. L’ho quindi importata come background ed ho iniziato a modellare muri, pavimento, moquette, vasi, tavolini, tende e accessori vari. Ho poi texturizzato tutti gli elementi e cercato di simulare l’illuminazione della fotografia con alcune CoronaLight. Devo dire che quest’ultimo processo ha richiesto parecchie ore di lavoro: non è stato per nulla facile comprendere la posizione reale delle sorgenti luminose. L’unico riferimento che avevo erano la dimensione e la direzione delle ombre.
Ho dedicato particolare attenzione sia al divano (ho scelto Serpentine Sofa di Vladimir Kagan) sia alla poltrona (Pacha Lounge Chair di Pierre Paulin). In rete esistono asset già pronti. Io volevo però offrire dei modelli sui quali avere il massimo controllo, leggeri e modificabili. Inoltre, volevo poter gestire le UVW in modo preciso in quanto le coordinate di mappatura giocano un ruolo fondamentale nella gestione del modificatore CoronaPatternMod. Per questi motivi, presi la decisione di realizzare personalmente entrambi i modelli, per poi inserirli in questo soggiorno minimalista.

. RENDER
. VIEWPORT

. RENDER
. VIEWPORT
Ad un occhio poco allenato, le immagini appena mostrate non sembrano avere particolari degni di nota. Se però ci avviciniamo al sofà, si può notare come la “texture” sia in realtà una vera e propria geometria ripetuta decine di volte. La prossima immagine mette a confronto un render prodotto usando un modificatore CoronaPatternMod e una mappa displacement con uno che utilizzare due modificatori CoronaPatternMod. Ottenere questo risultato con tecniche tradizionali sarebbe stato davvero complicato!

I prossimi test sono stati realizzati con quattro diversi modelli di pattern composti da due elementi: la trama del tessuto e la peluria generata con il modificatore Hair and Fur di 3ds Max. La parte più complessa è stat rendere i pattern ripetibili. Questo procedimento è stato spiegato in dettaglio all’interno del mio libro “Corona: LA GUIDA COMPLETA“. Nel libro troverai una versione semplificata di questo soggiorno minimalista.
Non mi ero reso conto di quanto potente e divertente fosse il modificatore CoronaPatternMod. Preso dall’entusiasmo, ho sviluppato un ulteriore pattern per simulare una struttura reticolare in vimini.
Mentre scrivevo il libro e creavo le immagini per i tutorial relativi al capitolo dedicato al modificatore CoronaPatternMod, mi sono imbattuto quasi per caso un strutture “impossibili”, ma molto interessanti dal punto di vista grafico.
Per una di loro ho utilizzato un modello di un prato disponibile nella libreria Chaos Cosmos. Il risultato è stato molto interessante. Giudicate voi stessi: non ho mai visto una poltrona fatta di erba! Clicca questo link per scaricare la versione 4K.


Chi pensa che il modificatore CoronaPatterMod sia solamente uno strumento di modellazione, si sbaglia. Nel video non solo ho creato i classici movimenti di camera frontali e laterali tipici di un ambiente interno, ma ho anche animato il modificatore stesso.
Ho dovuto effettuare moltissimi test poiché le geometrie distribuite dal CoronaPatterMod non sono visibili in viewport, ma sono calcolati “at render time”. L’unico modo per comprendere come CoronaPatterMod reagisce ai nostri input è di generare test in bassa risoluzione. Un piccolo trucco che utilizzo per velocizzare questa fase è di renderizzare il video ogni due frame e di visualizzare la sequenza alla velocità di 15 frame per secondo (se il video ha un frame rate di 30). In questo modo dimezzo i tempi di rendering, ottenendo una fedele anteprima.
Di seguito animazioni a 360 gradi di due geometrie pattern, immagini del pattern usato per la coperta, del patter distribuito sulla poltrona e screenshot dei modelli del divano e della poltrona.
. Modello tessuto
. Modello midollino
50 pagine su CoronaLightMtl, CoronaSelectMtl, CoronaVolumeMtl e CoronaRoundEdges
| Cookie | Durata | Descrizione |
|---|---|---|
| _ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
| _ga_7SJGJ5F46V | 2 years | This cookie is installed by Google Analytics. |
| _gat_gtag_UA_3461312_1 | 1 minute | Set by Google to distinguish users. |
| _gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
| _hjAbsoluteSessionInProgress | 30 minutes | Hotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie. |
| _hjFirstSeen | 30 minutes | Hotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user. |
| _hjIncludedInPageviewSample | 2 minutes | Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit. |
| _hjIncludedInSessionSample | 2 minutes | Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit. |
| CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
| Cookie | Durata | Descrizione |
|---|---|---|
| VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
| YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
| yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| Cookie | Durata | Descrizione |
|---|---|---|
| __wpdm_client | session | No description |
| _hjSession_2794629 | 30 minutes | No description |
| _hjSessionUser_2794629 | 1 year | No description |
| cookielawinfo-checkbox-altri | 1 year | No description |
| cookielawinfo-checkbox-analitici | 1 year | No description |
| cookielawinfo-checkbox-annuncio | 1 year | No description |
| cookielawinfo-checkbox-prestazione | 1 year | No description |
| last_pys_landing_page | 7 days | No description |
| last_pysTrafficSource | 7 days | No description |
| m | 2 years | No description available. |
| pys_first_visit | 7 days | No description |
| pys_landing_page | 7 days | No description |
| pys_session_limit | 1 hour | No description |
| pys_start_session | session | No description |
| pysTrafficSource | 7 days | No description |
| wp-wpml_current_language | session | No description available. |
| Cookie | Durata | Descrizione |
|---|---|---|
| __stripe_mid | 1 year | Stripe sets this cookie cookie to process payments. |
| __stripe_sid | 30 minutes | Stripe sets this cookie cookie to process payments. |
| _GRECAPTCHA | 5 months 27 days | This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks. |
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-funzionale | 1 year | Set by the GDPR Cookie Consent plugin to store the user consent for cookies in the category "Functional". |
| cookielawinfo-checkbox-necessari | 1 year | The cookie is set by the GDPR Cookie Consent plugin to record the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
| elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |

