Clonare oggetti con effettuatore "random" ma uguale distanza

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderators: visualtricks, cappellaiomatto, natas, Arkimed

  • Advertising
albertoiuav
Posts: 109
Joined: Fri Dec 11, 2009 5:25 pm

Clonare oggetti con effettuatore "random" ma uguale distanza

Post by albertoiuav » Fri Aug 30, 2019 9:46 am

Buongiorno a tutti,

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.
Attachments
mograph 04.JPG
mograph 03.JPG
mograph 03.JPG (56.77 KiB) Viewed 1155 times
mograph 02.JPG
mograph 02.JPG (127.33 KiB) Viewed 1155 times
mograph 01.JPG
mograph 01.JPG (103.39 KiB) Viewed 1155 times

redpix
Posts: 19
Joined: Sat Aug 24, 2019 2:55 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by redpix » Sun Sep 01, 2019 5:57 pm

Con gli strumenti standard di Cinema non credo sia possibile. I cloni si agganciano con i loro assi ai punti intermedi della spline secondo il metodo scelto. Per avere una distanza uguale tra cloni di dimensioni Z diverse dovresti impostare i punti intermedi della spline in relazione alle dimensioni di due cloni adiacenti. Possibile con xpresso-python.

User avatar
abe3d
Posts: 876
Joined: Mon Dec 07, 2009 1:48 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by abe3d » Tue Sep 03, 2019 1:17 am

Un saluto a tutti, era tanto che non ci passavo di qui...
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
xpresso.JPG (79.16 KiB) Viewed 1097 times
viewport.JPG
viewport.JPG (67.68 KiB) Viewed 1097 times
set1.zip
(45.85 KiB) Downloaded 13 times

User avatar
abe3d
Posts: 876
Joined: Mon Dec 07, 2009 1:48 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by abe3d » Wed Sep 04, 2019 2:45 am

Facciamo il punto... come al solito cinema si rivela più efficace di quanto ci si aspetti:

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
xpresso clone size.JPG
xpresso clone size.JPG (48.77 KiB) Viewed 1041 times
...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
Set2c.jpg
Set2c.jpg (160.09 KiB) Viewed 1041 times

nikdegra
Posts: 116
Joined: Tue Oct 18, 2016 2:47 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by nikdegra » Wed Sep 04, 2019 8:11 am

la butto li, senza averla provata (al momento non ho pc sotto mano): e se fosse si procedere come albertoiuav e semplicemente mettere un effettuatore "adattattamento" in mograph? con valore di 1.5 cm, mentre in mograph metterlo minore? se non erro, e potrei errare, l effettuatore "adattamento" segue il volume dell oggetto, non il baricentro.

albertoiuav
Posts: 109
Joined: Fri Dec 11, 2009 5:25 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by albertoiuav » Wed Sep 04, 2019 8:20 am

Ciao ragazzi,

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

User avatar
abe3d
Posts: 876
Joined: Mon Dec 07, 2009 1:48 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by abe3d » Wed Sep 04, 2019 4:11 pm

@nikdegra.
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.
Push Apart.JPG
Push Apart.JPG (500.29 KiB) Viewed 1016 times
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 !!

nikdegra
Posts: 116
Joined: Tue Oct 18, 2016 2:47 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by nikdegra » Thu Sep 05, 2019 2:06 pm

@abe, bravo che hai provato e chiarito, come detto avanzavo un ipotesi! =) già che ci sei, sai indicarmi al volo una buona guida su xpresso??

User avatar
abe3d
Posts: 876
Joined: Mon Dec 07, 2009 1:48 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by abe3d » Thu Sep 05, 2019 10:02 pm

...e alla fine, anche se non è una soluzione definitiva, con qualche escamotage l'ho realizzato in xpresso perché in python sarebbe uno script difficile da studiare!!

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...
Set3.zip
(65.71 KiB) Downloaded 9 times
Set3_xpresso.JPG
Set3_xpresso.JPG (179.1 KiB) Viewed 884 times
Set3.JPG
Set3.JPG (104.81 KiB) Viewed 884 times
...e come sempre, caro vecchio xpresso!!!

User avatar
abe3d
Posts: 876
Joined: Mon Dec 07, 2009 1:48 pm

Re: Clonare oggetti con effettuatore "random" ma uguale distanza

Post by abe3d » Fri Sep 06, 2019 12:17 pm

Ok.. questo è l'ultimo, il prossimo sarà un plugin :lol:

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
Set4.zip
(62.12 KiB) Downloaded 7 times
Set4Xpresso.JPG
Set4Xpresso.JPG (256.12 KiB) Viewed 851 times
Set4.JPG
Set4.JPG (98.17 KiB) Viewed 862 times
Sembra complicato ma non lo è, l'xpresso potrebbe essere semplificato ( delegando alcuni calcoli a python ) ma credo che così sia più comprensibile...

  • Advertising
Post Reply