Interfaccia Utente

Qui troverete vari tipi e formati di dati che possono essere utilizzati per aggiungere le porte agli asset e ai gruppi. Se necessario, queste porte possono essere personalizzate a livello di interfaccia e per quanto riguarda le restrizioni tramite l'Editor Risorse. In questa sezione vedremo quindi anche come lavorare con l'Editor Risorse di .
Di seguito vengono spiegati i passaggi tipici per l'utilizzo di questi elementi e come è possibile utilizzarli per creare i propri asset.

Nota:

Per ulteriori informazioni ed esempi su come utilizzare gli asset e i Dati Utente, leggete la descrizione del Nodo Costruzione Asset.


Accesso rapido:


Un esempio di lavoro

In questo esempio, l'obiettivo è sviluppare un Asset che aggiunga ulteriori dettagli a una geometria qualsiasi selezionando casualmente parti della superficie, estrudendole e arrotondandole nel processo. Funzioni come queste possono essere create con una manciata di Nodi. Creare una finestra di dialogo affinché le funzioni dell'asset possano essere facilmente controllate senza l'Editor Nodi può essere invece più laborioso. Esistono diverse possibilità a questo proposito e le esamineremo tutte.

Tuttavia, iniziamo con il primo passo richiamando un Gruppo Nodi Modificatori dai Nodi Costruzione Asset nell'Asset Browser. Da qui, trasciniamo il gruppo Nodi Modificatori direttamente in Gestione Oggetti. In questo caso, questo elemento funziona come un deformatore, quindi deve essere subordinato agli oggetti. Pertanto, potete creare direttamente una semplice primitiva, ad esempio un cubo, e assegnarle direttamente il Nodo Modificatore. Poiché il modificatore non è ancora stato riempito di funzioni, al momento non cambierà nulla per il cubo.

E' inoltre possibile utilizzare il Gruppo Nodi Selezione secondo lo stesso principio, ma questo principalmente per manipolare o creare selezioni di punti, bordi o poligoni sull'oggetto genitore.


Con il Gruppo Nodi Modificatori, le geometrie possono essere modificate direttamente in Gestione Oggetti.

Per visualizzare e modificare il contenuto del Gruppo Nodi Modificatori, è necessario aprire l'Editor Nodi (vedi l'immagine seguente). Per fare questo potete passare al layout Nodes di Cinema 4D o aprire l'Editor Nodi dal menu Finestra. Se la voce Nodi Modificatori è selezionata in Gestione Oggetti, l'Editor Nodi si aprirà automaticamente in modalità Capsula e quindi visualizzerà solo i contenuti, gli input e gli output di questo Nodo Costruzione Asset. Potete anche effettuare questo cambio manualmente in qualsiasi momento utilizzando il menu Modo dell'Editor Nodi (vedi il nr. 1 nell'immagine seguente).

Accanto al nr. 2 potete leggere anche il nome della Capsula di Asset attualmente visualizzata, nel nostro caso Nodi Modificatori. Inoltre, può essere utile visualizzare l'Asset Browser e la Gestione Attributi direttamente sul lato sinistro e destro dell'Editor Nodi (vedi il nr. 3 nell'immagine seguente). In questo modo è possibile massimizzare l'Editor Nodi e questo può davvero essere molto utile quando si elaborano configurazioni complesse.


I vari elementi dell'Editor Nodi in modalità Capsula.

Se sono state attivate le due icone (vedi nr. 3), l'Asset Browser (vedi nr.4) sarà visibile a sinistra e la Gestione Attributi (vedi nr.5) a destra. Tra queste aree si trova l'Editor Nodi vero e proprio, limitato a sinistra dall'area di input (vedi nr. 6) e a destra dall'area di output (vedi nr. 7) del Gruppo Nodi Modificatori selezionato. Gli input e gli output Geometria sono particolarmente interessanti. L'input Geometria a sinistra fornisce la geometria dell'oggetto a cui il Gruppo Costruzione Asset è stato subordinato in Gestione Oggetti. Nel nostro caso si tratta del cubo.
Questa geometria può ora essere elaborata all'interno della configurazione. Il risultato sarà una geometria modificata che dovrà essere indirizzata all'output Geometria del gruppo per sostituire il cubo originale.


Aggiungere una prima funzione al Gruppo Nodi Modificatori.

Per trasformare il nostro Gruppo Nodi Modificatori in un asset funzionale, basterà aggiungere un singolo Nodo in grado di gestire la geometria. Possiamo trovare diversi Nodi utili allo scopo nel Gruppo Modificatore Geometria dell'Asset Browser . Selezioniamo il Nodo Suddividi e lo trasciniamo dall'Asset Browser direttamente nell'Editor Nodi.
Sul lato sinistro di questo Nodo si trova l'input di una geometria da elaborare (nr.1 nell'immagine precedente). Basterà creare un collegamento tra l'input Geometria del gruppo e l'input Geometria del Nodo trascinando con il mouse una linea di collegamento. I questo modo definiamo anche una connessione tra l'output Geometria del Nodo (vedi nr.2) e l'output Geometria del gruppo. Ora dovreste già notare un cambiamento nella geometria. Se necessario, passate alla visualizzazione Gouraud Shading (Linee) in combinazione con Fil di Ferro nella Viewport per visualizzare anche i bordi dell'oggetto (vedi l'immagine seguente).
Nel nostro caso, il cubo sarà ulteriormente suddiviso. Il tipo di selezione da valutare (punti, bordi o poligoni) o la frequenza con cui l'oggetto deve essere suddiviso, possono essere impostati dopo aver selezionato il Nodo Suddividi in Gestione Attributi (vedi il nr. 3 nell'immagine precedente).


Il cubo modificato dopo l'aggiunta del Nodo Suddividi nel Gruppo Nodi Modificatori.


Creare porte di input tramite la Gestione Attributi

I Nodi, come il Nodo Suddividi nel nostro caso, forniscono molti parametri inGestione Attributi, alcuni dei quali possono interessare anche gli utenti del Gruppo Nodi Modificatori. L'unica cosa fastidiosa è che bisogna sempre selezionare il Nodo corrispondente nell'Editor Nodi prima di poterne modificare i parametri in Gestione Attributi. Esiste una soluzione per questo problema, perché le impostazioni possono essere create come porte di input sui Nodi e poi collegate alla pagina di input del gruppo. Lo faremo innanzitutto per il settaggio Tipo del Nodo, in modo che l'utente possa successivamente selezionare quali elementi (punti, bordi o poligoni) devono essere utilizzati per vincolare la funzione Suddividi.


Aggiunta di un parametro come porta di input tramite Gestione Attributi.

L'immagine qui sopra illustra questo processo. Per prima cosa, selezionare il Nodo Suddividi per visualizzare le sue impostazioni in Gestione Attributi. Nella colonna contrassegnata dal nr. 1 nell'immagine notate i piccoli cerchi accanto ai parametri. Se li cliccate tenendo premuto il tastoCmd o Ctrl, il parametro corrispondente apparirà come porta di input del Nodo. Provate con il parametro Tipo. Come potete vedere nell'immagine al nr.2, ora abbiamo la porta Tipo sul Nodo. Questa porta deve ora essere collegata al lato di input del gruppo per essere visibile a un utente del Gruppo Nodi Modificatori. A questo scopo, è necessario creare una porta anche nell'area di input del gruppo.


Collegare gli input del Nodo agli input del gruppo

La creazione di un input per il gruppo corrispondente all'input del Nodo Tipo può essere effettuata con una semplice azione di trascinamento. Lo vediamo nell'immagine seguente.


Creare un nuovo input di gruppo.

Tracciamo una linea di connessione dal nuovo input Tipo del Nodo Suddividi all'area di input sinistra del gruppo e rilasciamo il pulsante del mouse. Apparirà un piccolo menu contestuale in cui selezionare Aggiungi Nuovo Input. Come possiamo vedere nella metà inferiore dell'immagine qui sopra, viene creato un nuovo input Tipo sul gruppo che viene automaticamente collegato all'input Tipo del Nodo. Di conseguenza, il parametro Tipo non è più disponibile in Gestione Attributi. Possiamo vederlo nella parte destra dell'immagine qui sopra, dove le opzioni Punti, Bordi e Poligoni non sono più disponibili.
Il vantaggio di questi passaggi è che non dobbiamo preoccupare de tipo di dati delle porte. Il tipo di dati e l'interfaccia utente del parametro del Nodo originale vengono adottati automaticamente.

Verifichiamo direttamente questo aspetto. Selezionate il Gruppo Nodi Modificatori in Gestione Oggetti e osservate la tab Input in Gestione Attributi. A questo punto dovrebbe essere possibile visualizzare e utilizzare direttamente l'opzione Tipo ( vedi l'immagine seguente).


Rappresentazione del nuovo elemento di controllo del gruppo in Gestione Attributi.

Naturalmente, è possibile rinominare questo nuovo controllo se necessario. A tale scopo, fate un doppio clic sul nome del nuovo Gruppo nell'Editor Nodi e inserite semplicemente il nuovo nome. Ad esempio, qui usiamo il termine Tipo di Selezione Limitato per far sì che l'utente capisca direttamente a cosa serve questo parametro (vedi nr. 1 nell'immagine seguente).


Rappresentazione del nuovo elemento di controllo del gruppo in Gestione Attributi.


Aggiungere porte Dati Utente singole

Tuttavia, è possibile creare nuovi controlli per gli utenti anche indipendentemente dalle porte di input esistenti sui Nodi. Questo ad esempio può essere utile se vogliamo offrire un tipo di dati particolare o un elemento di controllo che non è previsto di default dal Nodo da collegare. Ad esempio, è possibile utilizzare un input per i calcoli matematici, prima che il risultato venga passato ad altri Nodi.

Nel nostro esempio, il numero di suddivisioni dovrebbe poter essere controllato dal Nodo Suddividi. Poiché si tratta di un valore intero, possiamo utilizzare solo il controllo Numero Intero. Nelle voci degli elementi dell'interfaccia utente dell'Asset Browser si trovano questi elementi:

In linea di principio tutti e tre gli elementi sono adatti allo scopo, anche se in genere sono utili solo valori piccoli e positivi per i livelli di suddivisione. Impareremo anche a verificare la plausibilità dei valori inseriti dall'utente prima che vengano utilizzati nella configurazione o a limitarli automaticamente se necessario.
Nel nostro caso, ci limiteremo a trascinare la voce IO - Numero Intero dall'Asset Browser all'Editor Nodi. Nel gruppo viene creato automaticamente un nuovo input per i valori interi. Anche in questo caso è possibile rinominarlo con un nome personalizzato con un doppio clic, ad esempio con Suddivisione Base (vedi nr.1 nell'immagine seguente). Viene utilizzato per selezionare i livelli di suddivisione prima che la geometria venga ulteriormente elaborata.


Create e rinominate manualmente una nuova porta di input del gruppo.

Come per il collegamento del parametro Tipo, anche in questo caso abbiamo bisogno di un input adatto al Nodo Suddividi, questa volta per il numero di suddivisioni. A tale scopo, selezionate il Nodo e cliccate con tasto Ctrl premuto sul cerchietto accanto al settaggio Suddivisioni in Gestione Attributi (vedi il nr.1 nell'immagine seguente). Sul Nodo apparirà l'input corrispondente (vedi nr. 2).


Aggiungere l'input del Nodo necessario.

In alternativa, è possibile aggiungere nuovi input direttamente sul Nodo. A tal fine, cliccate con il tasto destro sul Nodo e selezionate Aggiungi Input dal menu contestuale. Tuttavia, per i Nodi con molti parametri può essere difficile trovare il nome corretto della porta. Pertanto, in molti casi, è preferibile il metodo Cmd o Ctrl + clic descritto sopra.

Infine, collegate la nuova porta Suddivisione Base del gruppo con l'input Suddivisioni del Nodo trascinandola con il mouse. Dopo aver selezionato il Gruppo Nodi Modificatori in Gestione Oggetti, la Gestione Attributi visualizzerà entrambe le impostazioni dell'utente. Modificando in modo graduale il valore Suddivisione Base, possiamo osservare direttamente il livello di suddivisione del cubo. L'unica cosa che potrebbe risultare un po' fastidiosa è che questo valore viene visualizzato "sopra" all'opzione di selezione del "Tipo" di selezione (vedi l'immagine seguente). Vediamo quindi come è possibile influenzare l'ordine dei Dati Utente.


Controllo dei Dati Utente in Gestione Attributi.

L'uso degli elementi IO del gruppo Interfaccia Utente può essere utilizzato non solo per gli asset, ma anche per i gruppi normali di Nodi al fine di aggiungere input separati. L'unica differenza è che di default un gruppo aperto non visualizza un intervallo di input o di output (a meno che non contenga già Nodi che ricevono valori dall'esterno). Le aree grigie a sinistra e a destra di un gruppo aperto possono quindi mancare all'inizio. Queste aree vengono create automaticamente quando si creano nuove porte nel gruppo. Le immagini che seguono mostrano questo aspetto.


A sinistra vediamo un gruppo vuoto nell'Editor Nodi. Per impostazione predefinita, non ci sono ne input ne output, come accade anche a destra guardando il gruppo.


A sinistra, un input "IO - Geometria" è stato trascinato dall'Asset Browser nel gruppo e questo nuovo input è stato collegato a un Nodo Estrudi. Per aggiungere un output idoneo al gruppo, trascinate l'output Geometria del Nodo e selezionate Aggiungi Nuovo Output. A destra è possibile vedere il gruppo con le porte al completo.

I nuovi input di un gruppo possono essere aggiunti trascinando un elemento dal Gruppo Interfaccia Utentedell'Asset Browser oppure, se ci sono già Nodi nel gruppo, trascinando e rilasciando da una porta di input nell'Editor Nodi vuoto e selezionando Aggiungi Nuovo Input. Possiamo fare lo stesso con le porte di output dei Nodi per aggiungere output a un gruppo. Possiamo osservarlo a sinistra nell'immagine qui sopra.
Un'altra possibilità per l'aggiunta e la configurazione delle porte è fornita dall'Editor Risorse descritto nella sezione successiva.


L'Editor Risorse

L'ordine delle porte può essere modificato direttamente sui Nodi (e anche sugli input e sugli output del gruppo) tramite drag&drop. E' utile ad esempio per sistemare le linee di connessione che si incrociano. Sebbene questo non sia importante in termini di funzionalità, può servire a migliorare la chiarezza della configurazione. Tuttavia, questo non modificherà l'ordine di presentazione degli input del gruppo in Gestione Attributi. Sebbene ciò dipenda principalmente dall'ordine di aggiunta al gruppo, esiste una soluzione anche per questo: l'Editor Risorse.

Per aprire l'Editor Risorse in riferimento al setup corrente, cliccate con il tasto destro del mouse nell'Editor Nodi e selezionate Modifica Risorsa... dal menu contestuale (vedi l'immagine seguente).


Apertura dell'Editor Risorse del gruppo.

Di particolare interesse è la colonna di sinistra dell'Editor Risorse, che elenca gli input e gli output correnti dell'Asset nella parte superiore (vedi nr. 1 dell'immagine seguente) mostrando le opzioni disponibili per gli input aggiuntivi in basso (vedi nr. 2). Queste opzioni sono identiche ai Dati Utente dell'Asset Browser già utilizzati per creare l'input IO - Numero Intero.


La colonna a sinistra dell'Editor Risorse

È possibile utilizzare l'Editor Risorse anche per creare direttamente gli input desiderati per il gruppo dell'Asset. A tale scopo basterà trascinare le voci desiderate dall'elenco in basso (vedi nr.2 nell'immagine precedente) direttamente sotto la voce Input nell'elenco di porte in alto (vedi nr. 1). Anche in questo caso, le porte aggiunte dall'utente possono essere rinominate singolarmente con un doppio clic.

L'ordine degli elementi nel gruppo Input riflette automaticamente l'ordine dei parametri in Gestione Attributi. A questo punto possiamo riordinare il tutto in modo coerente. Inoltre, è altrettanto comodo trascinare gli elementi UI - Gruppo e UI - Separatore dall'elenco inferiore direttamente nei punti desiderati della gerarchia superiore. In questo modo possiamo includere sotto-categorie (UI - Gruppo) e semplici separatori(UI - Separatore) per strutturare elenchi di parametri ancora più ampi.
L'elemento UI - Gruppo serve per creare ordine: possiamo assegnargli un nome di gruppo e subordinargli gli altri input nell'Editor Risorse.
Quando create il nuovo ordinamento, assicuratevi che Suddivisione Base sia visualizzato dopo Tipo di Selezione Limitato e completate la configurazione con un elemento UI - Separatore (vedi nr.1 dell'immagine precedente). Chiudete quindi l'Editor Risorse. Le modifiche verranno applicate automaticamente.


Parametri dipendenti

Alcuni parametri diventano rilevanti solo se si utilizzano impostazioni specifiche. Si pensi, ad esempio, al settaggio Angolo Massimo di molte funzioni di modellazione, che può essere utilizzato solo dopo aver attivato l'opzione Preserva Gruppi. Se ad esempio desiderate rendere disponibile il parametro Angolo Massimo all'utente di un gruppo di asset, ricordatevi di evidenziare anche l'opzione associata per preservare i gruppi di poligoni, oppure assicuratevi che all'interno del parametro sia sempre possibile utilizzare Angolo Massimo.

Come mostra l'immagine seguente, può accadere che i parametri già organizzati in gruppi nel Nodo vengano visualizzati in sottogruppi nell'Editor Risorse e non nel gruppo di Input.


I parametri raggruppati appaiono automaticamente nei sottogruppi


Personalizzazione del tipo di dati e dell'interfaccia utente

A seconda delle proprietà o delle funzioni che si desidera controllare in una configurazione tramite l'input dell'utente, può essere utile personalizzare i controlli di un parametro e definire un valore o dei limiti predefiniti. Tutte queste operazioni possono essere eseguite anche nell'Editor Risorse. A questo scopo, aprite l'Editor Risorse per l'asset che contiene i Dati Utente e selezionate il valore di input da modificare nell'elenco in alto a sinistra dell'Editor Risorse. Abbiamo già visto nella sezione precedente che è possibile personalizzare l'ordine degli input in quest'area e che qui possono essere inseriti anche dei gruppi o dei separatori (utilizzando gli elementi UI - Gruppo e UI - Separatore). Tuttavia, per modificare l'interfaccia di un parametro, osservate la colonna centrale dell'Editor Risorse.


Impostazioni generali e avanzate per un elemento "IO - Numero Intero" selezionato nell'Editor Risorse

Come potete vedere nell'immagine precedente, sono disponibili due tab di impostazioni: Generale e Avanzata,. Le impostazioni Generali contengono già le funzioni più importanti. Le esamineremo ad una ad una:

Come possiamo vedere dalle opzioni di cui sopra, è molto facile aggiungere anche dei cursori successivi per semplici parametri IO - Virgola Mobile o, ad esempio, limitare o regolare i valori consentiti per l'input.

Diamo anche una rapida occhiata alle impostazioni Avanzate dell'Editor Risorse.


Elaborazione dei Dati Utente

In molti casi è opportuno controllare o convertire i valori immessi, ad esempio per non consentire input troppo alti per le Suddivisioni dal momento che potrebbero causare problemi di memoria. Anche in altri casi, ad esempio quando vengono inseriti valori percentuali tramite un IO Virgola Mobile - Forza - Cursore, questi possono essere convertiti in altri valori numerici per un'ulteriore elaborazione. Come già detto nella sezione precedente, tali limiti per l'immissione di valori possono essere specificati direttamente nell'Editor Risorse per ciascun parametro che necessita dell'immissione di numeri. A volte, tuttavia, tali limiti devono essere convertiti direttamente nella configurazione, ad esempio per alcuni calcoli matematici. Pertanto, in questa sezione vedremo come convertire i numeri o limitarli all'intervallo di valori desiderato.


Limitazione dell'input


Il Nodo Limita

Il primo Nodo che si presta a questo scopo è il Nodo Limita, che si trova nella categoria Matematica dell'Asset Browser. Collegate la sua porta di input alla porta Suddivisione Base del gruppo (una volta, come test) e quindi collegate l'output Risultato del Nodo Limita all'InputSuddivisione del Nodo Suddividi. Poiché ogni porta di input può avere una sola connessione, questa operazione cancella automaticamente la vecchia connessione. Altrimenti, è possibile rimuovere la vecchia connessione con un doppio clic prima di collegare il Nodo Limita.

Il Nodo Limita ora offre innanzitutto un Tipo di Dati in Gestione Attributi che dovrebbe corrispondere al valore che si desidera ottenere all'output Risultato. Dovrebbe trattarsi di nuovo di Numero Intero.
Le specifiche per Minimo e Massimo si riferiscono all'intervallo di valori che vogliamo consentire al massimo. Se anche il valore di input fosse inferiore al valore Minimo, verrà emesso il valore Minimo. Allo stesso modo, verrà emesso il valore Massimo anche se vengono immessi valori molto più alti.


Il Nodo Mappatore Range

Anche questo Nodo appartiene alla categoria dei Nodi Matematici. Questo Nodo può essere utilizzato per convertire intervalli di valori. Ad esempio, se si immettono valori compresi tra 0% e 100%, possono essere emessi valori compresi tra 0,0 e 5,0. I valori di Input Min e di input Max definiscono l'intervallo di valori tra i quali devono rientrare gli input consentiti dall'utente. Il Mappatore Range non limita questi valori di per sé. È quindi possibile collegare nuovamente un Nodo Limita davanti all'input del Nodo Mappatore Range, in modo che vengano elaborati solo i valori compresi tra l'Input Min e l'Input Max. L'immagine seguente ne mostra un esempio.


Utilizzo di un Nodo Mappatore Range

Nell'esempio precedente, un valore percentuale viene utilizzato come input del gruppo tramite IO - Virgola Mobile - Forza - Cursore. Se, ad esempio, volete consentire solo input tra lo 0% e il 100%, potete collegare un Nodo Limita come nell'esempio precedente. I valori percentuali sono trattati internamente come valori in virgola mobile, dove 100% corrisponde al valore 1,0. Per il Nodo Limita(vedi nr. 2) dobbiamo quindi utilizzare il valore 0,0 per il valore Minimo (vedi nr. 1 nell'immagine precedente) e il valore 1,0 per il Massimo . Nel nostro esempio, non inseriamo questi valori direttamente nel Nodo, ma utilizziamo i Nodi Valore, che si trovano anch'essi nella sezione Matematica dell'Asset Browser. Questo Nodo fornisce semplicemente all'output Risultato lo stesso valore immesso nel Nodo. Questo è sempre utile quando si devono usare valori identici su più Nodi. In questo caso, il valore deve essere modificato una sola volta nel Nodo Valore e sarà poi direttamente disponibile in tutti i Nodi ad esso collegati.

Nel nostro caso, questo influisce sui due input già menzionati Input Min e Input Max del Nodo Mappatore Range. Pertanto, è necessario effettuare i collegamenti appropriati tra questi input e i Nodi Valore. Abbiamo definito un intervallo di input fisso e possiamo concentrarci sui valori Output Min e Output Max, che possono essere inseriti direttamente nel Mappatore Range. Il calcolo dell'output Risultato avverrà quindi secondo la classica regola del tre. Gli input compresi tra 0% e 100% possono quindi essere convertiti automaticamente nei valori compresi traOutput Min e Output Max.


Il Nodo Modulo

In alcuni casi può essere utile simulare un comportamento di "looping" dei valori. Immaginiamo, ad esempio, valori angolari che vengono automaticamente convertiti nell'intervallo di valori compreso tra 0° e 359,999°, anche se sono inferiori a 0° o superiori a 360°. A differenza della limitazione rigida dei valori di input, come nel caso del Nodo Limita, gli aumenti o le diminuzioni di un valore di input continuano a produrre nuovi valori regolati, ma anche questi sono compresi tra limiti fissi. L'input di un angolo di 400° ad esempio porta al valore Risultato di 40°, poiché le rotazioni complete di 360° sottratte da 400° producono un angolo residuo di 40°.
Questa funzione matematica esiste come Nodo Modulo nel gruppo dei Nodi Matematici.


Vari esempi di calcolo di un Nodo Modulo

Come mostrato nell'immagine precedente, il Modulo ha due input. Nell'input inferiore dobbiamo sempre inserire il valore massimo consentito. Se ad esempio desiderate limitare i valori di un angolo tra 0° e 360°, inserite 360. Il Modulo funziona generalmente con un limite inferiore pari a 0, ossia consente solo valori compresi tra 0 e il valore dell'input inferiore come risultato.

Nota 1:

Quando si elaborano gli angoli, si noti che molti Nodi Matematici presumono l'utilizzo di angoli radianti. 360° corrispondono al valore 2*pi. Per questa conversione, utilizzate il Nodo Unità Angolo del gruppo Nodo Conversione.

L'input superiore, ad esempio, assumerà il valore definito dall'utente nel Nodo Modulo. All'output Risultato si otterranno sempre valori compresi tra 0 e il valore del secondo input. Con riferimento agli esempi dell'immagine precedente, i risultati vengono creati come segue:

Nota 2:

Il valore dell'Input 2 è generalmente utilizzato in modo positivo, ma il valore dell'Input 1 può anche essere negativo. Nel nostro esempio relativo agli angoli, un input di -400° porterebbe quindi al Risultato -40°.


Utilizzare più volte i Dati Utente con IO Virgola Mobile

Spesso, l'input dell'utente può essere utilizzato in diversi punti della configurazione del Nodo. Per questo motivo, gli input di un gruppo (o di un asset) possono essere collegati anche a più input di un Nodo o di diversi Nodi contemporaneamente. A seconda della posizione di questi Nodi nella configurazione, le connessioni che la attraversano possono diventare spesso confuse. In questi casi, può essere utile staccare le porte di input. Ecco un semplice esempio.


Nella configurazione precedente, un valore intero viene utilizzato più volte per definire diversi valori iniziali per funzioni casuali. Di seguito è possibile vedere la configurazione modificata in cui l'input del valore di avvio viene utilizzato direttamente nei Nodi corrispondenti. In questo modo si eliminano i collegamenti lunghi sul lato di input sinistro del gruppo.

Come potete notare, nell'esempio precedente la leggibilità e la chiarezza dell'impostazione sono migliorate utilizzando i valori di input direttamente nei Nodi in cui vengono elaborati. A tale scopo, è sufficiente trascinare il nome dell'input corrispondente dal bordo sinistro del gruppo alla configurazione. Viene creato un tipo di Nodo speciale che trasmette il valore dell'input corrispondente. È possibile creare un numero qualsiasi di questi Nodi IO Flottanti nella configurazione.


Terminare la configurazione

Con alcuni Nodi aggiuntivi possiamo ora completare la nostra configurazione e ottenere un risultato interessante. Una selezione Disturbo crea una selezione casuale di poligoni sull'oggetto suddiviso. A tal fine, create l'opzione Soglia e Inverti come input dell'utente nel gruppo.
Il risultato della selezione Disturbo viene trasmesso a un Nodo Smussatura Poligoni per estrudere questi poligoni scalandoli come necessario. Qui ad esempio potete visualizzare i valori delle funzioni Offset e Inserto.
Confrontate il risultato di un nuovo Nodo creato con la geometria della selezione Disturbo. In questo modo si otterrà una selezione contenente solo i nuovi poligoni creati da Smussatura Poligoni. Infine, se trasferite questa selezione di poligoni a un altro Nodo Suddividi, che questa volta ha anche l'opzione Morbido attiva, la sua suddivisione arrotondata verrà limitata solo a queste nuove aree della geometria. Collegate la geometria emessa all'output Geometria del gruppo per poter visualizzare il risultato del calcolo anche nelle Viewport.


La configurazione completata del Gruppo Nodi Modificatori


L'effetto della configurazione descritta sopra su un semplice cubo


I singoli elementi "IO"

Di seguito riportiamo l'elenco completo di tutti gli elementi IO che potete utilizzare per gli asset (o anche per i gruppi) nelle configurazioni di Nodi per definire input e output separati.


IO - Enum

Questi elementi sono utili quando per fornire agli utenti un menu a discesa o più modalità come pulsanti. Per impostazione predefinita, questi elementi hanno tre opzioni che possono essere rinominate come desiderato nell'Editor Risorse. Entrambi gli elementi IO restituiscono valori interi a partire da 0 per il primo elemento dell'elenco. È possibile convertire questi valori in qualsiasi altro valore, ad esempio con un Nodo Commutatore.


I due elementi di enumerazione nell'Editor Risorse sono stati messi a confronto. Sul lato destro potete vedere come si differenziano gli elementi operativi.


IO- Output

Consente di aggiungere una porta di output singola a un gruppo ad esempio. Il Tipo di Dati di questo output non è ancora definito, ma può essere impostato separatamente tramite l'Editor Risorse.


IO Booleana - Checkbox

Questo elemento fornisce una semplice opzione (o casella di controllo) per attivare o disattivare una funzione. L'output può essere utilizzato come valore numerico, dove 0 viene emesso quando l'opzione è disabilitata e 1 quando è abilitata. Allo stesso tempo però i risultati possono essere interpretati anche come falsi (disabilitati) e veri (abilitati) e quindi valutati direttamente con un Nodo Operatore Booleano ad esempio.


IO - Box Delimitante

Si tratta di un formato di dati vettoriali specifico, destinato esclusivamente a trasferire le proporzioni e le dimensioni di un rettangolo di selezione. Per questo motivo, questo elemento non fornisce un'interfaccia utente. Questo elemento, ad esempio, potrebbe essere collegato all'output Box Delimitante del Nodo che ha lo stesso nome.


IO - Colore

Sono disponibili due elementi per l'immissione e la trasmissione di informazioni sul colore: IO - Colore e IO - Colore Alfa. Sono sostanzialmente identici, tranne per il fatto che IO - Colore Alfa include un valore percentuale aggiuntivo per determinare l'opacità del colore. Entrambi gli elementi forniscono dati vettoriali in cui i componenti X, Y e Z rappresentano i componenti cromatici rosso, verde e blu e sono memorizzati come valori in virgola mobile compresi tra 0,0 e 1,0. IO - Colore Alfa include un componente alfa aggiuntivo il cui valore può essere compreso tra 0,0 e 1,0. Entrambi i tipi di dati possono essere letti ed elaborati come Colore o ColoreAlfa, nonché come Vettore3d o Vettore4d.


Ecco un paragone dei due elementi IO Colore.


IO - Virgola Mobile

I valori in virgola mobile, cioè i valori numerici che hanno anche una parte decimale, come ad esempio 3,4151, sono particolarmente flessibili per l'uso nei calcoli matematici o quando i valori devono essere inseriti con più precisione. Questo tipo di dati può anche essere combinato con le unità, ad esempio per rappresentare percentuali, angoli o dimensioni. Pertanto, sono disponibili diverse varianti di questo tipo di dati. In tutti i casi, tuttavia, si ottengono semplici valori numerici. Differisce solo la visualizzazione delle unità e dei comandi. Inoltre, alcuni di questi elementi sono già limitati a un intervallo di numeri, in modo da consentire, in determinate circostanze, l'inserimento di numeri non arbitrari.


IO - Geometria

Questo tipo di dati è destinato specificamente allo scambio di informazioni relative alla geometria di un oggetto. Ciò include, ad esempio, le posizioni dei punti di una superficie o di una spline, le coppie di punti collegati in un bordo, i punti che delimitano i poligoni o le tangenti di una spline. Vista la complessità di questo tipo di dati, non viene fornito alcun elemento di controllo. Devono essere usate le porte Geometria dei Nodi per trasmettere o per ricevere dati su quella porta.


IO - Numero Intero

Con questi elementi possono essere scambiati valori interi. Usate questo tipo di dati solo se non intendete eseguire calcoli complessi con questi valori. In caso contrario, potete usare il tipo di dati IO - Virgola Mobile. I valori interi ad esempio sono utili per definire un numero di suddivisioni o di copie.


IO - Matrice

Una matrice è costituita da vari vettori con i quali è possibile definire, tra l'altro, la posizione, la dimensione e la rotazione di un sistema di assi o di un oggetto nello spazio. Questo controllo è quindi identico alla sezione Coordinate degli oggetti.


I diversi vettori di una matrice contengono la posizione di un sistema di assi, nonché gli angoli di rotazione, le lunghezze degli assi (dimensioni) e l'inclinazione degli assi. Usate il componente Matrice.Sh solo se desiderate influenzare la perpendicolarità di un tipico sistema di assi.


IO - Tangente

Si tratta di un formato di dati particolare (tupla) attraverso il quale è possibile trasmettere due vettori contemporaneamente. Questo tipo di dati è destinato al controllo di una coppia di tangenti. Ogni vettore controlla la direzione e la lunghezza di una tangente in un punto della spline (si applica solo alle spline Bezier). Questo tipo di dati non ha un'interfaccia utente ed è quindi destinato esclusivamente a collegare i Nodi che forniscono informazioni sulle tangenti.


IO - Stringa

Questo elemento fornisce un campo di input per stringhe di testo con cui inserire ad esempio il nome di un oggetto o di una selezione salvata.


IO - URL - Percorso

Come per l'elemento IO-Stringa, anche qui è previsto un campo per l'inserimento di una stringa di testo. Inoltre, a destra del campo di testo, si trova l'icona di una cartella con cui aprire una finestra di dialogo per la selezione di percorsi ai file. Qui possiamo selezionare qualsiasi directory, ad esempio per il caricamento o il salvataggio dei dati.


IO - Vettore

I vettori sono costituiti da diversi valori in virgola mobile, con i quali è possibile descrivere, ad esempio, un valore di colore RGB, una posizione nello spazio o un vettore di direzione. Sono disponibili i seguenti vettori:


IO - Tempo

Questo elemento fornisce un campo di input per un numero di fotogramma che definisce un punto nel tempo all'interno di un'animazione. Tali informazioni possono essere utilizzate, ad esempio, per eseguire una funzione o un calcolo solo a partire da un determinato momento.


IO - Array

Sotto questo termine si trovano i vari tipi di dati che sono già stati descritti in precedenza come singoli elementi. La differenza è che gli IO - Array non forniscono un'interfaccia utente. Un array corrisponde a un elenco di lunghezza variabile. In questo modo è possibile memorizzare più valori di un determinato tipo di dati. Ad esempio, si pensi a un IO Array - Vettori - Punti, attraverso il quale possono essere memorizzate tutte le coordinate dei punti di una geometria.
Gli array ad esempio possono essere creati con un Nodo Costruttore, un Nodo Imposta Array o un Nodo Riempi Array e riempiti aggiungendo valori. In generale, la maggior parte dei Nodi che gestiscono i valori degli array si trova nel gruppo Struttura Dati dell'Asset Browser.
Poiché tutti i tipi di dati IO - Array non forniscono un'interfaccia diretta per l'immissione di valori, questi elementi IO sono interessanti soprattutto per le porte che sono responsabili per l'input o l'output degli array nei gruppi. Di seguito vediamo un semplice esempio di come creare e produrre un array.


In questo esempio, un Gruppo Nodi Modificatori viene utilizzato per estrudere i poligoni che si trovano entro un raggio di selezione intorno a una posizione globale (il centro della selezione).

Come potete vedere nell'immagine precedente, abbiamo creato i Dati Utente per IO - Vettore - Dimensione e IO - Virgola Mobile - Dimensione per poter definire una posizione e un valore di raggio in un Gruppo Nodi Modificatori. L'effetto dell'asset dovrebbe essere quello di selezionare ed estrudere automaticamente tutti i poligoni i cui punti si trovano entro un dato raggio e intorno a una determinata posizione. Tecnicamente, l'abbiamo implementato come si vede nell'immagine seguente:


Ecco la configurazione completa per definire e implementare una selezione creata personalmente

Utilizziamo un Nodo Ottieni Proprietà Geometria con il settaggio Tipo Dati 3D per ottenere un array con tutte le posizioni locali dei punti della geometria fornita. Si tratta di un array di vettori 3D. Per poter emettere un array voce per voce, sarà collegato un Nodo Iterazione Raccolta(vedi nr. 1 nell'immagine). Questo trasforma l'array in un flusso di dati che fornisce tutti gli elementi dell'array uno dopo l'altro. In questo modo è possibile produrre tutti gli elementi di un array in modo ordinato.

I singoli vettori dell'array emesso rappresentano le posizioni locali dei punti della geometria e possono essere convertiti in posizioni globali moltiplicandoli per la matrice globale dell'oggetto da cui proviene la geometria. A questo scopo possiamo utilizzare il Nodo Vettore di Trasformazione. La distanza tra il punto così convertito e il centro di selezione predefinito viene calcolata con un Nodo Distanza e confrontata con il raggio di selezione utilizzando la funzione <=. Se la distanza calcolata è inferiore o uguale a quella predefinita, il Nodo Confronta restituisce il valore 1 (o VERO), altrimenti il valore 0 (o FALSO).

Tramite un Nodo Costruisci Array(vedi nr. 2) possiamo definire un nuovo array del Tipo di Dati Numero Intero, in modo da conservare al suo interno i numeri dei punti da selezionare. Con un clic sul pulsante Tronca del Nodo Costruisci Array, è possibile rimuovere tutte le voci per creare un array completamente vuoto. Tramite un Nodo Aggiungi Elementi a valle (vedi il nr.3), è ora possibile aggiungere valori interi all'array. Il numero di voci dell'array aumenta automaticamente in base al valore Conteggio. Se il Risultato del Nodo Confronta è collegato, il nuovo array viene sempre ampliato di una voce solo se è stato trovato un punto nel raggio di ricerca (Risultato = 1). Il numero di indice di questo punto viene quindi aggiunto all'array (vedi il Collegamento tra l'output Indicedel Nodo Iterazione Raccolta e l'input Valoredel Nodo Aggiungi Elementi). In questo modo, viene creato un array di selezione che può essere utilizzato ovunque. Ad esempio, possiamo limitare le funzioni di modellazione ad una data selezione.
Nel nostro caso, desideriamo solo che la selezione di punti sia convertita in una selezione di poligoni, in modo da poter utilizzare ad esempio il comando Estrudi come desiderato. A questo scopo è disponibile il Nodo Trasferisci Selezione.


IO - Gruppo

IO - Separatore

Questi elementi non sono destinati alla trasmissione di dati, ma alla strutturazione dell'interfaccia quando si utilizzano più elementi IO. Con IO - Gruppo viene creato un gruppo in cui è possibile disporre altri elementi IO. Questo gruppo può essere riempito di voci tramite l'Editor Risorse. Nell'interfaccia apparirà il nome del gruppo e le voci ordinate sotto di esso possono essere rese visibili o nascoste espandendo o riducendo il gruppo.
L'elemento IO - Separatore è una linea orizzontale che può essere utilizzata per dividere elenchi particolarmente lunghi di elementi IO e per separare visivamente in misura maggiore i parametri correlati. Anche in questo caso possiamo utilizzare l'Editor Risorse per inserire un IO - Separatore nella posizione desiderata tra i parametri.


Nota:

Entrambi gli elementi, IO - Gruppo e IO - Separatore, possono essere creati solo nell'Editor Risorse.