Vertex Velocity Map (particles control)

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

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

Rispondi
  • Advertising
Avatar utente
abe3d
Messaggi: 1110
Iscritto il: lun dic 07, 2009 1:48 pm

Vertex Velocity Map (particles control)

Messaggio da abe3d »

Ancora sulle vertexmap...
Ebbene si... Vorrei condividere questa relativamente semplice espressione per ottenere vertexmap di velocità, senza plugin e senza codice phyton, utilizzando semplicemente xpresso. ;)

Purtroppo sono stato costretto a utilizzare thinking particles perché quella CAGATA di nodo memory non pratica il multivettore, comunque il tutto non è pesante e con estrema facilità si può ottenere effetti spettacolari riutilizzando la mappa vertice in mille modi.

posto l'espressione ( c'è da dire che alcuni nodi sono " superflui " e servono ad ottimizzare la mappa ) e un esempio.. Ciao
Allegati
Xpresso Vertex Velocity Map.jpg
Xpresso Vertex Velocity Map (particles control)0200.jpg
Xpresso Vertex Velocity Map (particles control)0200.jpg (42.64 KiB) Visto 1656 volte
XPVVM1.gif
XPVVM1.gif (5.26 MiB) Visto 1656 volte
XPVVM2.gif
XPVVM2.gif (3.67 MiB) Visto 1656 volte
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
Avatar utente
Arkimed
Moderatore
Messaggi: 3978
Iscritto il: mer set 22, 2004 4:19 pm
Località: Torino

Re: Vertex Velocity Map (particles control)

Messaggio da Arkimed »

Molto interessante, grande abe!!
;)
Arkimed
– il mio Demoreel
– Demo Arkimed_Vfx Vol.3
– il mio "nuovo modo di lavorare!"


Portale di Riferimento di Cinema4D in Italia dal 1999
Immagine
Avatar utente
abe3d
Messaggi: 1110
Iscritto il: lun dic 07, 2009 1:48 pm

Re: Vertex Velocity Map (particles control)

Messaggio da abe3d »

Grazie Arkimed, come dicevo, avevo pensato di ricavare il vettore di velocità dei punti con un paio di math e il memory ( per le posizioni precedenti), ma questo, memorizza le posizioni di un solo vettore per volta, rendendo impossibile sapere dove si trovavano gli altri punti ( che palle)... Sto comunque pensando ad un altro sistema per congelare i dati fotogramma per fotogramma, posterò le novità!!
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
Avatar utente
hurricane
Messaggi: 2981
Iscritto il: sab ott 29, 2005 5:44 pm
Località: Sessa Aurunca

Re: Vertex Velocity Map (particles control)

Messaggio da hurricane »

Minchia ma tu sei un genio uagliò!!! ;)
L'Uragano si è fermato --- RIP
"Se c'è una magia nella boxe è la magia di combattere battaglie al di là di ogni sopportazione, al di là di costole incrinate, reni fatti a pezzi e retine distaccate. È la magia di rischiare tutto per realizzare un sogno che nessuno vede tranne te."
I miei modelli 3D - www.archilovers.com - www.tappezzeriaburicco.com
Avatar utente
abe3d
Messaggi: 1110
Iscritto il: lun dic 07, 2009 1:48 pm

Re: Vertex Velocity Map (particles control)

Messaggio da abe3d »

Grazie hurricane ... Anche se non credo proprio :lol:

Diciamo che la mia è più smania di riuscire nelle imprese impossibili ( nonché inutili )
Comunque mi fa sempre piacere condividere con la comunità e ricevere di questi apprezzamenti ...
Ps... Dobbiamo sempre organizzare il simposio :lol:
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
Avatar utente
abe3d
Messaggi: 1110
Iscritto il: lun dic 07, 2009 1:48 pm

Re: Vertex Velocity Map (particles control)

Messaggio da abe3d »

UP ... Quindi... Questo è il ragionamento mnemonico a cui mi ero attaccato: Ricordando che in qualche modo potevo ricavare la posizione precedente dei vertici di una mesh e che non c'è un vero e proprio nodo che produca vettori di velocità relativi alle strutture, avevo pensato in primo luogo al nodo memory, il quale effettivamente ricorda i dati immessi con un fattore di profondità ( relativamente al tempo). Dopo aver riposto grande fiducia in quest'ultimo mi sono accorto che memorizza solo un vettore (come dicevo qualche risposta più su), rendendo vano il confronto con le posizioni attuali dei vertici e calcolando così solo l'utimo ( quindi il risultato è tutti i vertici attuali VS ultimo vertice precedente) . :? :@

Andiamo avanti, non mi arrendo.

Mi sono chiesto come poter memorizzare i dati vettore precedenti con il nodo freeze e sono arrivato a questo:
freeze.JPG
freeze.JPG (30.87 KiB) Visto 1610 volte
Con il nodo Python ( per semplicità) stabilisco se il frame è pari o dispari, quindi, congelo alternativamente il vettore di posizione con i due nodi freeze ( ottengo così la posizione precedente frame per frame ) che poi inverto passandola al nodo distance per calcolare la distanza tra vettori attuali e precedenti e quindi la velocità immediata ( c'è differenza tra velocità media e velocità attuale o su brevissime distanze, se ci pensiamo, la velocità in un dato momento, è sempre pari a zero).
Il ragionamento anche se contorto, fila che è una bellezza ( passatemi il gioco di parole ) se non che è totalmente inutile, perchè anche in questo caso si ricava soltanto un vettore per volta ( e vaff....ai nodi freeze). in conclusione, se qualche vero geniaccio di xpresso non mi illumina con un trucco ben nascosto, non credo sia possibile fare questa cavolo di mappa senza passare per thinking particles, anche perché a voler usare formule per ogni vettore si avrebbe un calcolo molto più " pesante " che utilizzare il sistema proposto...

grazie per l'attenzione e scusate per le lungaggini!!
:P
Abe.
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
arzigogolato
Messaggi: 178
Iscritto il: dom mag 07, 2006 8:01 am

Re: Vertex Velocity Map (particles control)

Messaggio da arzigogolato »

Ciao Abe,
abe3d ha scritto:se non che è totalmente inutile, perchè anche in questo caso si ricava soltanto un vettore per volta ( e vaff....ai nodi freeze).
Abe.
Non penso dipenda dai nodi Freeze, secondo me devi iterare i punti in uscita, adesso nell'immagine che hai postato non vedo cosa succede nel nodo point ma fondamentalmente se non fai girare l'index ti fa uscire solo il primo punto della lista spero che questo possa aiutarti.Comunque sono tutte ottime soluzioni pensate bene!
Avatar utente
abe3d
Messaggi: 1110
Iscritto il: lun dic 07, 2009 1:48 pm

Re: Vertex Velocity Map (particles control)

Messaggio da abe3d »

ehhh! no!! purtroppo no, I vertici sono già iterati, in effetti dall'immagine postata non si capiscono molto i passaggi precedenti, che per onore di cronaca vado ad esporre:

Naturalmente per testare il sistema, ho semplificato il processo ad una spline dinamica ( quindi in movimento) a cui ho associato dei valori "text" controllati dai risultati dell'espressione, questo proprio per avere un riscontro diretto con le letture degli Output dei vari nodi ( non potendolo fare in xpresso con i nodi "result" che danno comunque una sola lettura).

Come si può notare dai risultati, iterando il nodo Point ( il secondo ) il risultato è che si, riesco a generare un valore dinamico di distanza rispetto al frame precedente, ma da un solo punto ( in questo caso in corrispondenza dell'index 8/8 gli altri risultati sono 0/8,1/8,2/8 ect), come scrivevo in precedenza, il nodo Distance calcola la distanza ( nel tempo) tra tutti i punti iterati del modo Point e l'unico punto in uscita dal nodo freeze, cosa che non avviene se per esempio passo al nodo Distance i punti Iterati di due oggetti ( mettiamo un piano immobile e uno animato da un deformatore ), calcolando la distanza tra i rispettivi index ( 1°con 1°, 2°con 2° ect. ) . questo avviene anche non il Memory.

Facendo calcolare la distanza di un solo index per volta ( staccando cioè di forza l'iterazione) oppure osservando il "solo" vettore che viene calcolato ( la stella rossa indica l'index in questione ) tutto funziona a dovere ...
In conclusione, dichiaro che è colpa dei nodi freeze e memory ( questutimo volendo anche giustificato per i livelli di depth ) perché il comportamento è il medesimo anche se si smonta tutta l'espressione lasciando solo l'essenziale !
Allegati
2freeze_workflow.JPG
2freeze_xpresso.JPG
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
  • Advertising
Rispondi