Clonare oggetti con effettuatore "random" ma uguale distanza
Moderators: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
-
- Posts: 111
- Joined: Fri Dec 11, 2009 5:25 pm
Clonare oggetti con effettuatore "random" ma uguale distanza
ho un problema con il Mograph.
Vorrei scatterizzare degli lungo un percorso ma vorrei far si che questi oggetti abbiano dimensioni diverse ma uguale distanza tra loro.
Ho utilizzato l'effettuatore "random" così da creare una variazione tra gli oggetti ma volevo sapere se esiste un modo per dire a Cinema di non mantenere la distanza rispetto al baricentro dell'oggetto ma lo spazio fisico tra i due oggetti.
Mi viene in mente l'esempio di una cordonata, se voglio alcuni conci da 50cm, altri da55, altri da 60 e così via..il mio scopo sarebbe quello di avere sempre 1,5 cm di spazio tra questi oggetti.
Qualcuno di voi sa dirmi come posso fare?
Vi ringrazio in anticipo e allego alcuni screenshot per chiarire meglio il problema che sto riscontrando.
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Mi sa che con Mograph è fuori discussione, nemmeno implementando xpresso, purtroppo i nodi Mograph non restituiscono sufficienti dati per poter creare una spline con punti a distanza "personalizzata", possiamo sapere la posizione dei cloni ma non la loro dimensione. L'unica possibilità sarebbe tentare di forzare Mograph creando appositamente un effetto python, ma anche li la vedo dura, bisognerebbe capire se ( con python ) si riesce ad ottenere almeno la scala dei singoli cloni ( ma credo che solo con un plugin c++ si possano ricavare quei dati) ...
Per il momento, una soluzione e fare il lavoro di scala con l'effettuatore random e mograph ( nel caso si stia parlando di decine di cloni) e successivamente ( rendendo i cloni singoli oggetti ) lavorare di xpresso per la posizione.
Ti lascio un file di esempio, se hai dubbi, chiedi pure!
PS i tre nodi xpresso in alto a destra sono inutili, stavo provando a piazzare gli oggetti su un offset variabile ( vanno eliminati ). Aumentando la dimensione/scala della Z xpresso si occupa di riposizionare gli oggetti alla giusta distanza, agendo invece sull'user data ( rosso in fondo alla viewport ) puoi variare la distanza intermedia .
EDIT: per la verità la scala dei cloni ce la da il nodo Data di mograph ( come per la posizione ), quello che manca è la dimensione, ma mi sta balenando l'insana idea di sfruttare il peso dell'effettuatore random per distanziare accuratamente i cloni ...
- Attachments
-
- xpresso.JPG (79.16 KiB) Viewed 4316 times
-
- viewport.JPG (67.68 KiB) Viewed 4316 times
-
- set1.zip
- (45.85 KiB) Downloaded 121 times
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Con xpresso dal cloner si possono ricavare sia la posizione che la scala (oltre a parecchia altra roba), di conseguenza conoscendo scala e dimensione dell'oggetto/i usato come clone si ricava con un iteratore la dimensione di ogni singolo clone mograh...
qui sotto ottengo la dimensione Z di due cloni adiacenti ...Fermandoci qui con le capacità di xpresso, questo ci dice che uno script python basterebbe per leggere questi dati e generare una serie di vettori "virtuali" lungo la spline utente con posizione (distanza) e tangente relativa ( lo stesso concetto del sistema nel set1).
Sempre restando che si debba per forza usare un cloner, in alternativa, il set successivo è essenzialmente il Set1 per gli oggetti non parametrici.
Rimane comunque la possibilità di reinserire gli oggetti sotto un cloner per usufruite per esempio dello shading
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
-
- Posts: 111
- Joined: Fri Dec 11, 2009 5:25 pm
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
grazie mille a tutti, soprattutto ad abe3d! Sapevo che con xpresso era possibile ma non mi sono mai cimentato nel suo utilizzo.
Però è interessante capire come hai fatto e il risultato funziona perfettamente..
Nikdegra, devo assolutamente tentare anche il metodo che suggerisci tu. Se funzionasse sarebbe sicuramente più alla mia portata.
Anche se ovviamente quello di abe3d è pazzesco, ti darebbe la possibilità di fare quello che vuoi.
grazie ancora a tutti
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Sfortunatamente no, il Push Apart ( immagino intendessi quello) non tiene conto del volume dell'oggetto, ma usa una sorta di raggio di offset relativo alla scala degli oggetti, anche se questi hanno forma irregolare( funziona infatti particolarmente bene solo con le sfere/dischi ).
Come si vede dall'immagine allegata, gli spigoli dei parallelepipedi compenetrano tra loro tenendo in considerazione il raggio del cerchio che ho inserito nei cubi ( Null.1), basta però "stirare in un verso" gli oggetti ed ecco che anche le sfere " ovalizzate" si soprappongono (Null.2), quindi inutilizzabile allo scopo. Il problema con mograph nasce proprio dall'impossibilità di gestire la posizione dei cloni al di fuori dei parametri interni ( di mograph ed effettuatori ) per questo la soluzione potrebbe essere creare una spline /oggetto con i punti/vertici già in posizione ( relativa e dinamica) e semplicemente dire a mograph di piazzare i cloni in corrispondenza di essi.
@albertoiuav
Ho passato mesi su cinema per quesiti del genere, se riesco appena ho tempo metto giù qualche riga di codice python e vediamo che ne viene fuori !!
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
Il file è munito di un piccolo preset User Data ( sull'oggetto nullo Control) basta trascinare una spline nel campo " Spline " e cliccare il tasto "a" sulla tastiera per aggiornare la viewport. Gli altri campi sono intuitivi.
l'Xpresso fa tre passaggi essenziali: ricava la dimensione Z dei cloni con un po di matematica di base, posiziona i punti della spline " Base " lungo queste distanze calcolando di volta in volta la posizione del clone precedente ed infine posizione i punti della spline "Target" lungo la spline utente rispettando le distanze ricavate in precedenza.
Il cloner non fa altro che clonare l'oggetto/i sulla spline Target.
Per la natura stessa delle iterazioni in xpresso, la viewport va aggiornata manualmente ( tasto a) o mandando in play la time line, per ottenere il calcolo finito... ...e come sempre, caro vecchio xpresso!!!
Re: Clonare oggetti con effettuatore "random" ma uguale distanza
In questa versione ibrida (sempre a titolo di studio) ho utilizzato un nodo python per variare il numero dei cloni ( prima vincolato ai punti della spline base ) e ho aggiunto il redraw ( non c'é più bisogno di aggiornare manualmente la viewport, necessario eventualmente solo quando si inserisce una nuova spline utente).
Ho rimosso il controller offset, calcolando in automatico l'offset dalla lunghezza della spline utente. Inoltre ho aggiunto la possibilità di utilizzare una spline multisegmento ( campo "Use all segment" nel Control ) e utilizzare per esempio usa spline text piuttosto che una spline circle ring...
Edit: c'è un piccolo errore nel file sul nodo cerchiato sotto ( per la fretta ho collegato l'offset, passare il collegamento alla porta del nodo sottostante Sembra complicato ma non lo è, l'xpresso potrebbe essere semplificato ( delegando alcuni calcoli a python ) ma credo che così sia più comprensibile...
-
- Advertising
FOLLOW US