SOFT BODY E RIGID BODY

Per spiegare alcune funzionalità dei "Soft Body" (SB) e dei "Rigid Body" (RB) in XSI, per prima cosa ho scaricato il modello di Winnie The Pooh dal sito Turbosquid; la mia intenzione è quella di "trasformarlo" in un peluche appoggiato in un angolo, in modo tale da poter sfruttare le potenzialità sia dei SB che dei RB.

soft body e rigid body 857160 001

In modalità "Depth Cue" ho modellato attraverso delle primitive una sorta di scheletro del personaggio.

soft body e rigid body 857160 002

Seleziono lo scheletro e nel menù a sinistra clicco su "Simulate -> Create -> Rigid Body -> Active Rigid Body", successivamente nel pannello "Rigid body Properties" per ogni primitiva che compone lo scheletro vado a scegliere il "collision type" che più si addice alla forma (per fare prima potreste scegliere direttamente "Actual shape" per tutte).

soft body e rigid body 857160 003

Il passo successivo è quello di unire le varie "ossa" con dei "Rigid Constraint" (si trovano nel menù a sinistra "Simulate -> Create -> Rigid Body -> Rigid Constraint") che servono per creare gli snodi, essendo un pupazzo di pezza pieno di ovatta penso che andranno bene dei "Ball and Socket" per ogni snodo che hanno il massimo grado di libertà; è importante posizionare gli snodi nei punti giusti.

soft body e rigid body 857160 004

Ora applico una forza di gravità dal menù "Simulate -> Get -> Force -> Gravity" che avrà effetto su tutti gli Active rigid body che ho appena creato.

soft body e rigid body 857160 005

Con tre cubi ho creato lo spigolo che dovrà accogliere il pupazzo e li ho trasformati in Passive Rigid Body dal menù a sinistra "Simulate -> Create -> Rigid Body -> Passive Rigid Body". Poi ho modificato i parametri di tutti i joint portando a 1000 sia lo "spring" che il "damping". A questo punto premendo "Play" verrà creata la simulazione. Il risultato non mi soddisfa del tutto  poiché le braccia vanno a finire dietro il corpo, un piede ruota di oltre 90° in maniera poco realistica per un pupazzo... sembrerebbe + simile a una marionetta come genere di "comportamento"!

soft body e rigid body 857160 006

Per risolvere dovrò cambiare alcuni "Ball and Socket" (ginocchia, caviglie, gomiti, spalle) con dei "Hinge" che hanno meno gradi di libertà, si comportano esattamente come dei cardini di una porta. Nel Tab "Limits"imposto l'angolo massimo di rotazione.

soft body e rigid body 857160 007

Nel menù a sinistra "Simulate -> Rigid Body -> Edit Simulation Properties", nel tab "simulation", metto il flag all'opzione "Caching" e passo a fare alcune prove di simulazione, modificando di volta in volta  le impostazioni (Spring, Dumping, Limits) dei vari "Rigid Constraint", fino ad arrivare a una posizione che mi pare abbastanza naturale per il mio soggetto.

soft body e rigid body 857160 008

raggruppo le varie ossa, mi servirà poi per selezionarle tutte insieme.

soft body e rigid body 857160 009

Ora nascondo lo scheletro guida e inizio a lavorare sul pupazzo vero e proprio. Per prima cosa lo trasformo in un soft body da "Simulate -> Soft Body -> From Selection".
Creo un parallelepipedo, seleziono Winnie e clicco su "Simulate -> Modify -> Environment -> Set Obstacle" e in modalità "Pick" seleziono il cubo appena creato, questo piano mi servirà solo per fare dei veloci test.

soft body e rigid body 857160 010

Le forze possono essere applicate anche ai SB, ma in maniera diversa dai RB; prima seleziono Winnie e poi su "Simulate -> Get -> Force" scelgo la forza di gravità che verrà applicata al SB selezionato. A Questo punto passo a fare le prove, cliccando su "play" e modificando le varie impostazioni del "SoftBodyOp", fino a raggiungere la "consistenza" giusta per il pupazzo.

soft body e rigid body 857160 011

Ora devo animare il SB in modo tale che segua i movimenti del RB precedentemente creato, quindi seleziono Winnie e nel tab "Dynamic" del "SoftBodyOp" spunto "Use Body Animation" e "Solid Body Center"

soft body e rigid body 857160 012

Sempre con Winnie selezionato clicco nel menù a sinistra "Animate -> Deform -> Envelope -> Set Envelope" e in modalità "Pick" nel "Explorer" clicco sul gruppo creato prima per selezionare tutte le ossa insieme, così facendo il modello di Winnie si muoverà in base ai movimenti dello scheletro.

soft body e rigid body 857160 013

C'è da annotare un paio di cose per avere un buon risultato:
  • il modello dovrebbe essere fatto con i dovuti accorgimenti per essere animato, quindi con gli edge loop nei punti giusti
  • andrebbero calibrati bene tutti i pesi, soprattutto nelle zone delle congiunzioni
Ma per il tutorial questi passaggi mi porterebbero via troppo tempo e quindi mi fido della vostra immaginazione :D premo "play" e vedo il risultato.

soft body e rigid body 857160 014

In ultimo c'è da notare che il SB compenetra i tre piani, per evitare questo devo rendere i 3 piani ostacoli del mio SB (come avevo fatto in precedenza x il piano creato per i test)

soft body e rigid body 857160 015

Il risultato non è del tutto realistico per le 2 annotazioni di prima, ma anche perchè non ho perso troppo tempo a impostare bene la consistenza del SB  ;)


---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui