thinking particles multishape

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

Moderators: Arkimed, natas, visualtricks, cappellaiomatto

  • Advertising
User avatar
visualtricks
Moderatore
Posts: 3565
Joined: Thu Sep 23, 2004 5:13 pm
Location: Pistoia

Re: thinking particles multishape

Post by visualtricks »

uhm, ma ParticleBirth non passa l'index di ogni particella nata ? Credo sia per quello che funziona con il Link List, in pratica gli fa da iteratore. O me sbajo ?
Image
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
User avatar
cappellaiomatto
Moderatore
Posts: 1580
Joined: Mon May 07, 2012 5:12 pm

Re: thinking particles multishape

Post by cappellaiomatto »

Ciao visualtricks

Veramente il particle birth è uno stream ossia il flusso di particelle , l'indice della particella lo ottieni con il random seed del PGetData, che è quello che ho usato nel file tafazzitp


il fatto che funzioni lo script di abe è perchè cinema fa un cast e erroneamente tira fuori un integer da uno stream.....oscenità informatica.....che poi funzioni è un altro paio di maniche però è quanto di più atroce ci possa essere da programmatore :shock:

Estratto dalla guida del Pborn

Particle Birth•

The particle stream that is available here is the particles that have been born at the current frame. So, if you connect this up to a Particle input port of another node, the node will affect particles only as they are born. If instead you want to affect all particles created by PStorm, put them into a group by connecting this port to a PGroup node and then use a PPass node to pass on all the particles within that group. This is normally the most useful thing to do.
User avatar
abe3d
Posts: 1150
Joined: Mon Dec 07, 2009 1:48 pm

Re: thinking particles multishape

Post by abe3d »

Ciao Ragazzi!! ho appena letto i messaggi ed aperto il file tafazzitp2...
allora: il fatto che fosse un errore di cinema, mi era chiaro già quando mi sono accorto che funzionava la mia espressione ( infatti non ci credevo). Di contro posso dire che prima avevo passato il nodo PBirth per un PGetData e poi al ListaLink, questo funziona ed è regolare !? ( programmativamente parlando ), poi per caso ho "allacciato il PBirth direttamente al ListaLink ed ha funzionato (BHO!!)

Tornando al tafazzi2tp, come sempre mi dai grandi lezioni di intuito e ragionamento, non avevo assolutamente pensato al NOT per invertire il false del primo gruppo e tramite il boole attivare il secondo. In teoria questo sistema dovrebbe funzionare anche emettendo tutte le particelle contemporaneamente (naturalmente applicandolo al mio file "polline" ) senza l'uso di un random seed !?!

@fofoc4d... E' lui che fa paura.... io non faccio altro che cercare quesiti impossibili e lui li risolve in uno schiocco di nodi :lol: ;) Grande Cappellaiomatto!!

@Visualtrick... dobbiamo unire le forze per trovare cose più difficili, queste ce le risolve troppo facilmente :mrgreen: :mrgreen: :mrgreen: :lol: :lol: :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.
User avatar
cappellaiomatto
Moderatore
Posts: 1580
Joined: Mon May 07, 2012 5:12 pm

Re: thinking particles multishape

Post by cappellaiomatto »

abe3d wrote:Ciao Ragazzi!! ho appena letto i messaggi ed aperto il file tafazzitp2...
allora: il fatto che fosse un errore di cinema, mi era chiaro già quando mi sono accorto che funzionava la mia espressione ( infatti non ci credevo). Di contro posso dire che prima avevo passato il nodo PBirth per un PGetData e poi al ListaLink, questo funziona ed è regolare !? ( programmativamente parlando ), poi per caso ho "allacciato il PBirth direttamente al ListaLink ed ha funzionato (BHO!!)
Ormai non mi chiedo più il motivo per il quale certe cose che accadono in cinema...le accetto e basta pfiu
abe3d wrote: Tornando al tafazzi2tp, come sempre mi dai grandi lezioni di intuito e ragionamento, non avevo assolutamente pensato al NOT per invertire il false del primo gruppo e tramite il boole attivare il secondo. In teoria questo sistema dovrebbe funzionare anche emettendo tutte le particelle contemporaneamente (naturalmente applicandolo al mio file "polline" ) senza l'uso di un random seed !?!
Esatto nello script tafazzi2 non ti serve il seed perchè io conto le particelle di ogni gruppo senza prestare attenzione a come si chiamano....infatti è il punto debole e forte dello script, forte perchè ragioni in maniera semplice debole perchè quando muoiono ripartono i contatori e scoppia un macello.
Solo con uno script si potrebbero catalogare le particelle e "rabboccare" quelle morte....sempre che ci sia un metodo o qualche chiamata che ti aiuta a capire chi è morto e incastrarlo con tutto il resto

Alternativamente emetti solo un numero x di particelle e gli dai vita infinita, ad ognuna associ un gruppo e allora non hai problemi di nessun tipo......ricorda inoltre che il nodo On è una delle cose più potenti di xpresso in generale perchè attivi o disattivi tutto quello che vuoi

abe3d wrote: @fofoc4d... E' lui che fa paura.... io non faccio altro che cercare quesiti impossibili e lui li risolve in uno schiocco di nodi :lol: ;) Grande Cappellaiomatto!!

@Visualtrick... dobbiamo unire le forze per trovare cose più difficili, queste ce le risolve troppo facilmente :mrgreen: :mrgreen: :mrgreen: :lol: :lol: :lol:
:lol: :lol: ahahaha beh ragazzi faccio problem solving da quasi 20 anni.....che dite sarò un filo allenato a risolvere problemi matematici / informatici ?

Comunque è sempre un piacere fare un po di brain storming con te abe, sei come il sudoku o le parole crociate per me :mrgreen:
User avatar
abe3d
Posts: 1150
Joined: Mon Dec 07, 2009 1:48 pm

Re: thinking particles multishape

Post by abe3d »

abe3d wrote:Comunque è sempre un piacere fare un po di brain storming con te abe, sei come il sudoku o le parole crociate per me
...e lo dici a me?? non immagini il piacere e la soddisfazione ... ...Comunque:
:( :( :( :(
Perché ???? perché allora funziona anche questo?????? :? :?
TP sensiente.JPG
Espongo:
Il nodo Pbirth emette 2000 particelle in modalità Colpo e le assegna al PGroup1, il Ppass passa l'indice al primo nodo "Confronta" che con la funzione <= 100 le passa al PGroup2, al secondo nodo "Confronta" che con la funzione <= 200 le passa al PGroup3 e al terzo nodo "Confronta" che con la funzione > 200 le passa al PGroup4.
Quindi ottengo: 100 particelle gruppo1, 100 particelle gruppo 2 e 1800 particelle gruppo 3.
Nulla da dire, era quello che volevo ottenere, ma non ci vorrebbe un risultato "false" che mi invalida la prima condizione ed un nodo Boole "AND" che accerta la seconda condizione, visto che quando è True la seconsa, è True anche la prima??
Forse proprio perché essendo True la prima condizione quando è True anche la seconda, TP omette di ricambiarla, e lascia tutto com'è ??

Quindi in teoria, potrei aggiungere un numero infinito di gruppi e di nodi "Confronta" e ottenere precisamente il numero di particelle voluto per ogni gruppo!!??!!

... :roll: ... Che ragionamento contorto!!! pfiu
Se le dimensioni del seno di una donna non sono direttamente proporzionali alla sua massa corporea, allora sono sicuramente inversamente proporzionali alla sua intelligenza.
User avatar
cappellaiomatto
Moderatore
Posts: 1580
Joined: Mon May 07, 2012 5:12 pm

Re: thinking particles multishape

Post by cappellaiomatto »

Di la verità ma ti diverti a sfruttare i bug di cinema ??? :shock:

no scherzo....allora sto giro non è un vero è proprio bug ma una questione di priorità

supponiamo X valga 24
se X < 100 = true
anche x < 200 = true
e quindi accendi più ON contemporaneamente solo che vince sempre il primo in ordine, inoltre stai rischiando dei crush paurosi, se sposti una particella su 2 gruppi contemporaneamente a volte cinema crepa e va in loop ! ://


l'algoritmo giusto è
x <100 -> A
x >=100 and x <200 -> B
etc etc

se guardi il mio file per evitare di farmi la doppia comparazione una volta conto il gruppo A e l'altra volta il gruppo B

che equivale a dire

Xa <100 -> A
XB <100 -> B

in questa maniera posso usare una sola condizione al posto di una doppia

;)
  • Advertising
Post Reply