gurugugnola

Softimage
Distruggere delle colonne in XSI

5 posts in this topic

DISTRUGGERE DELLE COLONNE IN XSI

Guardando il video tutorial di Michele71 mi sono chiesto come poter realizzare una scena simile con i Rigid Body (RB) in XSI. Inizio ponendo un parallelepipedo rendendolo "Passive RB" e una forza di gravità.

distruggere-delle-colonne-in-xsi_857208_001.jpg

Modello la prima colonna, la rendo un "Active RB", premo "Play" in modo tale che grazie alla forza di gravità si posizioni perfettamente sul piano d'appoggio; una volta trovata la posizione corretta della colonna sul piano clicco su "Simulate -> Modify -> RB -> Set Initial State", oppure dallo stesso menù posso direttamente togliere la qualità di RB con "Remove RB".

distruggere-delle-colonne-in-xsi_857208_002.jpg

Copio la colonna ancora intera e la sposto lungo l'asse X.

distruggere-delle-colonne-in-xsi_857208_003.jpg

Modello ora il mio proiettile, lo trasformo in "Active RB" e nel tab "Dynamics Initial State" modifico la velocità lineare lungo l'asse X per farlo muovere verso le colonne e la velocità angolare sull'asse Z per farlo ruotare su se stesso.

distruggere-delle-colonne-in-xsi_857208_004.jpg

Per fare meglio i test sulla traiettoria, ma mi servirà anche in seguito per controllare la distruzione delle colonne, ho selezionato l'opzione "Caching" in "Simulate -> Modify -> RB -> Edit Simulation Properties"; con questa opzione attivata potrò controllare la traiettoria frame per frame. Come è possibile notare dalle 3 immagini seguenti per ora il proiettile attraversa le colonne senza produrre nessun effetto perché, dopo averle posizionate, ho applicato alle colonne il "Remove RB".

distruggere-delle-colonne-in-xsi_857208_005.jpg

distruggere-delle-colonne-in-xsi_857208_006.jpg

distruggere-delle-colonne-in-xsi_857208_007.jpg

Una volta impostata la traiettoria e individuati i frame di contatto tra il proiettile e le colonne (nel mio caso sono i frame 4/5/6/7), bisogna frammentare le colonne. Per fare questo nel menù a sinistra c'è il tool "Model -> Create -> Poly.Mesh -> Shatter", in base alle impostazioni del numero di frammenti/distanza/rotazione del piano potrete ottenere effetti diversi di frammentazione del vostro oggetto; ora se guardo nell'Explorer in scena ho le 3 colonne intere nascoste e le tre colonne frammentate composte da oggetti diversi.

distruggere-delle-colonne-in-xsi_857208_008.jpg

distruggere-delle-colonne-in-xsi_857208_009.jpg

Ora vado a animare la visibilità in viewport e in render delle colonne intere: mi posiziono al frame immediatamente prima del contatto tra la prima colonna e il proiettile e seleziono le key relative al "View Visibility" e "Render Visibility"della prima colonna, mi posiziono al frame successivo, nascondo la colonna (sia in viewport che in render) e seleziono di nuovo le key,ripeto gli stessi step nei frame successivi per le altre 2 colonne in modo tale che al passaggio del proiettile le colonne intere scompaiono.

distruggere-delle-colonne-in-xsi_857208_010.jpg

distruggere-delle-colonne-in-xsi_857208_011.jpg

Il passo successivo è similare al precedente, ma con l'effetto inverso: le colonne frammentate dovranno rimanere invisibili (in viewport e in render) fino al momento del contatto e poi apparire prendendo quindi il posto di quelle intere via via che il proiettile le attraversa. Seleziono tutti frammenti della prima colonna, mi posiziono al frame in cui il proiettile sta per sbatterci contro, li rendo invisibili e clicco sulle key corrispondenti, mi posiziono al frame successivo, rendo i frammenti visibili e clicco di nuovo sulle key corrispondenti, quindi ripeto gli stessi step x le altre 2 colonne frammentate.

distruggere-delle-colonne-in-xsi_857208_012.jpg

distruggere-delle-colonne-in-xsi_857208_013.jpg

A questo punto se clicco su "Play" al passaggio del proiettile le colonne si frammentano, ma i frammenti rimangono tutti al loro posto e quindi non avrò effetti visibili se non una sfera che attraversa dei cilindri :D Perché la mia sfera che è un "Active RB" interagisca con i frammenti delle colonne, anche questi ultimi dovranno essere dei RB ;)

Il problema che si presenta ora è la scelta tra "Passive" e "Active", se fossero degli "Active RB" i frammenti inizierebbero a cadere sul piano già dal primo frame; quindi la soluzione è quella di rendere tutti i frammenti dei "Passivi RB" e animare questo parametro nel momento del contatto (in maniera simile a quanto fatto per i parametri di visibilità). Naturalmente il procedimento è da ripetere per tutte e 3 le colonne

distruggere-delle-colonne-in-xsi_857208_014.jpg

distruggere-delle-colonne-in-xsi_857208_015.jpg

Ora è tutto pronto per mandare la simulazione, ma tra il frame 8 e il 9 della simulazione mi accorgo di un problema non indifferente! Il mio proiettile ha poca velocità e poca massa per poter buttare giù la prima colonna e passarle attraverso, la seconda colonna viene danneggiata dai frammenti della prima e la terza invece sembra venir giù per solidarietà con le altre 2 :D ... Se andassi a modificare ora uno dei 2 parametri (velocità/massa) della sfera mi cambierebbe il punto e il momento di impatto, sarei costretto a rivedere molte cose della simulaizone e delle animazioni finora create.

distruggere-delle-colonne-in-xsi_857208_016.jpg

Una possibile soluzione è quella di rendere la sfera un "Passive RB" che segue una traiettoria impostata dall'animazione, Il primo passo è quello di disattivare i RB che si frappongono al proiettile: seleziono tutti i frammenti e seleziono l'opzione "Mute" nel pannello "Dynamics" tab "RB properties".

distruggere-delle-colonne-in-xsi_857208_017.jpg

Di nuovo sono tornato alla simulazione di partenza per cui la mia sfera attraversa senza effetti visibili le colonne. Seleziono la sfera e clicco nel menù a sinistra "Animate -> Tools -> Plot -> All Trasformations"; Ora la sfera fa lo stesso movimento di prima ma non più come RB con una velocità lineare e una angolare, ma come un oggetto a cui sono stati animati i valori di posizione e rotazione (come si può vedere nel "Animation Editor")

distruggere-delle-colonne-in-xsi_857208_018.jpg

distruggere-delle-colonne-in-xsi_857208_019.jpg

Ora non mi resta che riattivare le proprietà di RB ai frammenti (deselezionando l'opzione "Mute"), far diventare il proiettile un "Passive RB" e premere "Play"

distruggere-delle-colonne-in-xsi_857208_020.jpg

post-3829-0-92077600-1320661663_thumb.jp

Edited by gurugugnola

Share this post


Link to post
Share on other sites

Bel tutorial Guro!

Anche se per questi effetti suggerirei l'uso di Kratos oppure Implosia FX al posto di usare lo Shatter... e di Momentum per la simulazione dinamica.

In ogni caso hai fatto un ottimo lavoro, importante anche per capire alcune basi nell'uso della simulazione dinamica.

Share this post


Link to post
Share on other sites

Bel tutorial Guro!

Anche se per questi effetti suggerirei l'uso di Kratos oppure Implosia FX al posto di usare lo Shatter... e di Momentum per la simulazione dinamica.

In ogni caso hai fatto un ottimo lavoro, importante anche per capire alcune basi nell'uso della simulazione dinamica.

... sono 2 plug-in?

Share this post


Link to post
Share on other sites

Si, sono plugin, ma gratuite. Momentum è a pagamento solo nella sua versione Momentum 3, ma anche la base permette ottime simulazioni.

Con ciò ribadisco, il tuo tutorial è importante comunque da affrontare, sono delle basi che comunque è importante conoscere anche prima di mettere mano a queste plugin.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.