Vai al contenuto

Recommended Posts

Inviata (modificato)

Ciao ragazzi, sono costretta a chiamare i rinforzi :D 

 

Reference:

Tentacolazzi di Edge of tomorrow min 1.27

 

Vorrei provare a creare una versione su Houdini, il progetto sarebbe quello di crearmi un sistema di curve regolabili su opzioni di base come quantità, noise, twist eccetera,  crearmi la geometria con un bel sweep con un chramp per regolare la larghezza del tentacolo e (dopo aver risolto la parte della animazione ) controllarmi il tutto con un deformer (wire, bones, ancora non so), il problemone, per ora, è che vorrei tanto riuscire a fare in modo che i tentacoli riconoscessero la collisione tra di loro e non si attraversassero, il tutto senza trasformali in un oggetto dinamico. Considerato che il tutto funziona tramite curve, e che ogni curva è un gruppo, c'è un modo con il quale posso far riconoscere a ogni punto appartenente a una curva la sua distanza dagli altri? Stavo pensando di provare convertendoli in volumi, e provare a creare un qualche tipo di if and else per dirgli che quando riconosce il contatto deve deformarsi con un minimo di gradiente, evitare l'effetto buleana insomma, ma dato che mi mancano molte basi tecniche in vex non so proprio dove appigliarmi. 

 

 

Non voglio la pappa pronta ma discutere possibili metodi e chiedere chiarimenti sul tema vex/vop se è presente qualcuno più esperto.

 

 

Qualche idea? opinioni? altri workflow?

 

Grazie mille ragazzi

 

 


Modificato da sheyoystudio

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Converti in volumi come hai già detto, e passali semplicemente in un sop solver per le deformazioni.  Rimani a livello sop e vai veloce. Puoi anche scatterizzare una nuvola di punti e calcolare la distanza minima, usando lo stesso metodo per il filling gaps dei liquidi. Vedo se riesco a mandarti in privato una scena d'esempio.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie per feedback Marco! Si vorrei proprio rimanere in sop per mantenere il set up leggero! Tu dici di creare un solver per connettere l'azione per prev frame, ottima idea! Per ora ho trasformato i tentacoli in volumi e con un name e un foreachloop ho creato i gruppi di volumi indipendenti, tu dici di utilizzare il calcolo per il filling gaps per calcolare la distanza e anche questo sarebbe una buon metodo, ma ancora non ho ben chiaro come dirgli di deformarsi al contatto e come attuare la deformazione, che ne dici, ce la si può fare senza un wrangle? o mi creo un attribute vop per dirgli che al momento del contatto mi deve calcolare la posizione dei punti e variare la loro posizione moltiplicando la posizione di quel gruppo di punti? correggimi se la sto facendo più incasinata di quel che dovrebbe essere :D, ho trovato qualche esempio ma c'è sempre il problema dell' effetto buleana e tutti usano un wrangle, ti metto l'esempio qua sotto. 

 

 

 

fur_cut_Points_Out_bak4.hip

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Dai semplicemente un occhio all'esempio del footprint :). Combini 2 di quelle soluzioni per effetto compressione/decompressione. Il vex è più veloce ma devi avere qualche skills in più :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Si infatti, ma se mai ci si butta quando si impara! Più passa il tempo più il fatto di non avere delle basi decenti di vex si fa notare :(. Sigh!

Ora provo a vedere se riesco a inserire le informazioni dei gruppi in un attribute vop, potrei utilizzare un compare (less than) e un twoway per calcolare l'informazione vera o falsa se i punti di ogni gruppo si avvicinano per esempio. Le informazioni dei gruppi si inseriscono automaticamente se utilizzo le entrate del global di Opinput?

 

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Se vuoi,puoi provare  qualcosa così in VEX,usando la funzione near points. In questo esempio ti trova 2 punti piu' vicini nelle 10 unita'.

 

int nears = nearpoints(0,@P,10,2); 
foreach (int i ; nears) {
if (@ptnum==i) continue;
@near = i;
}

 

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Hey Mirco! Scusa se ho tardato a rispondere, perfetto lo provo al volo! Mi fa piacere trovare degli esempi da praticare da colleghi più preparati, non voglio scopiazzare, vorrei continuare a trovare esempi come questo, capirli, e pian piano cominciare a scrivere per conto mio.

In questo esempio stai dando un valore intero al comando nears che è uguale all'azione nearspoints che sta a 0, tutti i punti, tra 10  e 2

poi apri il foreach, // non vorrei annoiarti ma, cosa significa l'intero i? Lo vedo molto spesso tra gli esempi di altri siti, è semplicemente un modo per identificare tutti i valori interi?//

Perchè poi dici che se il numero dei punti è uguale al valore intero può continuare (è vero)

poi connetti l'attributo near ai valori interi.

Grazie ancora per il tuo aiuto!

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Probabilmente avrai già fatto comunque io lo interpreto così:

- la prima linea che ha scritto mirco crea una lista (chiamata array indicata con []) dei due punti lontani  al massimo 10 unità dal tuo punto

 

- "i" è un nome deciso casualmente per l'intero, poteva chiamarsi in qualsiasi altro modo. Chiamandolo così è più facilmente comprensibile di cosa sia anche a chi non ha scritto il codice, specialmente quando sono molto più lunghi di qualche riga e ci son molti attributi/nomi. 

 

- Premettendo che in VEX il punto più vicino è sempre se stesso, Mirco gli dice di continuare perchè in questo modo il codice salta il primo valore (che sarebbe @ptnum) e riporta il valore successivo nella lista che è stata creata alla prima linea, che è il vero punto più vicino. 

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie mille Spirit! Scusa il ritardo, non faccio molte visite al forum questo periodo!

Ah Mirco! Tutto risolto in Sop! Ho lavorato con gli Id delle curve, ogni curva ha un attributo pscale diverso per ogni punto, non ho patto altro che copiare delle metaballs per ogni punto e ora già non si attraversano ma si deformano.

Mi piacerebbe creare un'alternativa in vop appena ho tempo!

Appena ho un attimo posto delle foto del progetto!

Grazie mille per l'aiuto! 

 

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora


  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×