Allineamento a 2 spline
Moderators: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
Allineamento a 2 spline
Allego una pianta in cad in cui ho fatto una simulazione manuale del movimento dei pezzi: Lo strumento "allinea alla spline" mi sembra che non risolva il mio problema, voi avete idea se si possa fare?
- masterzone
- Site Admin
- Posts: 10364
- Joined: Fri Sep 17, 2004 5:34 pm
- Location: Verona
Re: Allineamento a 2 spline
In questo caso ci vuole o ABE3D, dal nostro forum, o il Cappellaio Matto, aka matteo...prova a mandare una mail a matteo@c4dzone.com indicandogli il topic qua sul forum che magari appena ha un attimo ti da due dritte che e' un rigger magico....
- cappellaiomatto
- Moderatore
- Posts: 1572
- Joined: Mon May 07, 2012 5:12 pm
Re: Allineamento a 2 spline
riesci a postare una referenza video del movimento che vuoi ottenere, dal cad faccio fatica a capire
- cappellaiomatto
- Moderatore
- Posts: 1572
- Joined: Mon May 07, 2012 5:12 pm
Re: Allineamento a 2 spline
Dovrei fare due prove ma mi sembra fattibile
Probabilmente si risolve giocando con un tag target e una gerarchia ad hoc. Forse un po' di xpresso.
Intravedo un punto oscuro sul movimento del punto trascinato ma magari si risolve con poco, è una di quelle cose che se non fai un po' di esperimenti non si riesce a prevedere
Se riesco nel weekend mi ci diverto un po' e ti posto una soluzione, sempre non arrivi prima Abe
Re: Allineamento a 2 spline
- cappellaiomatto
- Moderatore
- Posts: 1572
- Joined: Mon May 07, 2012 5:12 pm
Re: Allineamento a 2 spline
come immaginavo c'era qualcosa di poco chiaro nel trascinamento che richiede l'ausilio di un minimo di programmazione e non può essere fatto solo ed esclusivamente con xpresso.
Nel rig in allegato trovi un esempio, ma mi sono fermato alla soluzione che utilizza solo xpresso
Essendo un rig meccanico la regola è sempre un oggetto si muove direttamente e tutti gli altri si muovono indirettamente.
ho creato due percorsi
il percorso diretto e quello indiretto
ho messo un goal dentro ogni spline e tramite due controller faccio muovere i punti lungo le spline
fin qui nulla di particolare.
a questo punto ho creato una barra (che simula il carrello nel video) ho messo il centro asse un po più dentro e l'ho posizionata in gerarchia sotto al punto di controllo della spline diretta.
Attenzione a due cose:
1) la zeta della barra deve seguire la sua lunghezza (servirà per il tag target che metteremo tra poco)
2) le coordinate devono essere tutte a 0,0,0 sia per posizione che rotazione
ora muovendo il controller diretto la barra segue la spline.
mettendo un tag target nella barra e facendolo puntare al punto di controllo indiretto ora ottieni che muovendo la barra questa si auto allinea al secondo punto di controllo.
E qui nasce il vero problema ...... la barra nel mondo reale è rigida e ancorata all'altro punto di controllo, quando viene spostata direttamente dal punto diretto fisicamente inizierebbe a essere trascinata seguendo il percorso indiretto.
Purtroppo all'interno di cinema non avviene questa cosa perchè non esiste una dinamica vera e propria che simula la fisica.
Per capire quello che ti sto scrivendo ho creato dentro la barra due nulli che uso come riferimento per i punti di ancoraggio.
Tramite xpresso calcolo la distanza tra i punti di controllo della barra, questa distanza rimane fissa come nella realtà perchè la barra è rigida e non elastica.
Faccio la stessa identica cosa per i due punti di controllo mobili punto diretto e punto indiretto.
Vedrai che animando i controller la distanza mobile cambierà.
A questo punto hai 2 soluzioni
1) animando i controller a mano e con un po di pazienza certosina fai in maniera tale di mantenere le due distanze il più possibile uguali per non far vedere in animazione una cosa non vera.
2) se sei pratico di python puoi simulare te una vera e propria dinamica e far partire un calcolo dopo ogni spostamento del punto diretto.
questo calcolo dovrebbe cercare il punto migliore sulla spline secondaria che faccia in maniera tale che la distanza mobile - la distanza fissa sia minore di un fattore di errore che stabilisci te.......nulla di complesso se sai dove mettere le mani .....
se vuoi replicare il rig occhio alle priorità di expressioni dentro i tag xpresso e target, sono fondamentali perchè il rig non esegua istruzioni prima di altre.
buon divertimento
Matteo
- Attachments
-
- allineamento_spline.zip
- (78.34 KiB) Downloaded 56 times
-
- 1.png (238.16 KiB) Viewed 1337 times
Re: Allineamento a 2 spline
Ciao ragazzi, leggendo questo post mi sono venuti in mente alcuni modi complessi per risolvere una funzione che permetta di intercettare l'intersezione tra una spline e un raggio dato, per simulare una più complessa generazione di gradi di liberta e vincoli, ma come scrive Matteo nulla di tutto questo senza l'ausilio di codice .
Detto ciò (e ritornando a xpresso), l'escamotage più semplice possibile che ho immaginato è usare una spline (la secondaria) abbastanza suddivisa da far fare il lavoro al nodo Ray Collision su una sfera, iterando in sequenza i segmenti della spline (0-1,1-2,2-3 ecc.)
Il risultato è abbastanza preciso (relativo alla suddivisione del percorso spline secondaria) e veloce da calcolare...
Il resto è tutto Align to spline e target expression.
- Attachments
-
- trascina punto.zip
- (52.57 KiB) Downloaded 56 times
-
- Xpresso.jpg (61.47 KiB) Viewed 1296 times
-
- viewport.jpg (24.1 KiB) Viewed 1296 times
-
- objects.jpg (10.5 KiB) Viewed 1296 times
Re: Allineamento a 2 spline
Ho creato un setup al volo con le due spline e la barra in mezzo che si muove seguendo le due spline.
Allego il file così è più facile valutare se la soluzione può avere un senso o meno.
- Attachments
-
- Doppio Hinge.zip
- (64.06 KiB) Downloaded 53 times
Re: Allineamento a 2 spline
Ti rispondo io per tutti. La posizione del secondo pivot (hinge) deve necessariamente e "letteralmente" essere trascinata dal primo, che, spostandosi lungo il percorso diretto (evidentemente di lunghezza diversa da quello indiretto) ne regola la velocità (velocità del pivot secondario, che è il vero quesito da risolvere), vincolandolo alla distanza data.
-
- Advertising
FOLLOW US