From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Soft Bodies

Image 1a: Softbody cloth descoperind un text. AnimationBlend file

In general, Soft Body este o simulare a unui obiect rigid sau deformabil. In Blender, acest sistem de simulare se foloseste cu succes la obiectele pentru haine, si pentru retele inchise. Simularea pentru haine Cloth Simulation foloseste alta procedura si este mai potrivit pentru obiectele-haine.

Aceasta simulare se realizeaza prin aplicarea fortelor la noduri sau la punctele de control ale obiectului. Avem de-a face cu forte exterioare (gravitatia sau campurile de forta) si forte interioare (care tin nodurile laolalta). Astfel se pot simula formele pa care un obiect ar putea sa le ia in realitate daca ar avea volum, ar fi umplut cu ceva si asupra lui ar actiona anumite forte reale.

Soft Bodies pot interactiona cu alte obiecte - ciocniri (Collision). Pot interactiona su cu ele-insele (Self Collision).

Rezultatul simularii Soft Body poate fi convertit la un obiect static. PUteti si sa editati simularea - bake edit , adica sa editati/modificati rezultatele intermediare si apoi sa rulati simularea.

Scenarii tipice pentru folosirea Soft Bodies

Image 1b: Un con de vant. Conul este un Soft Body, suspendat. AnimationBlend file

Soft Bodies se folosesc pentru:

  • Obiecte elastice cu sau fara ciocnire.
  • Steaguri, tesaturi care reactioneaza la forte.
  • Anumite sarcini de modelare, cum ar fi o perna sau o fata de masa peste un obiect.
  • Blender are un alt sistem de simulare pentru haine (vedeti Clothes). Dar uneori este mai potrivita folosirea Soft Bodies pentru anumite parti de haine, cum ar fi manecile largi.
  • Par (cand este mai lung, se micsoreaza ciocnirea - collision).
  • Franghii animate care se leagana, lanturi sau alte obiecte asemanatoare.

Urmatoarele filme va pot oferi unele idei de folosire: [1], [2]

Crearea unui Soft Body

Simularea Soft Body functioneaza la toate obiectele care au noduri sau puncte de control:

  • Retele.
  • Curbe.
  • Suprafete.
  • Structuri.

Pentru a activa simularea Soft Body pentru un obiect:

  • In fereastra Properties, alegeti eticheta Physics (se afla in partea dreapta si seamana cu o minge care sare).
  • Activati butonul Soft Body.

Apar mai multe optiuni. Pentru detalii privind aceste setari, cititi aceasta pagina.

  • Pentru a porni o simulare Soft Body simulation apasati combinatia de taste AltA.
  • Pentru pauza redarii animatiei apasati tasta Space, iar pentru reluarea redarii, AltA.
  • Oprirea redarii simularii se face prin apasarea tastei Esc.


Calitatea simularii

Setarile din caseta Soft Body Solver determina acuratetea simularii.

Min Step
Numarul minim de pasi/cadru pentru simulare. Cresteti aceasta valoare, daca Soft Body rateaza coliziunea obiectelor la miscare rapida.
Max Step
Numarul maxim de pasi/cadru pentru simulare. In mod normal, numarul pasilor de simulare este setat dinamic (cu Error Limit), dar este posibil sa aveti un motiv intemeiat sa modificati aceasta valoare.
Auto-Step
Foloseste viteza (Velocities) pentru marimea pasilor automat calculati.
Error Limit
Administreaza calitatea intregii simulari. Implicit are valoarea 0.1. Este setarea cea mai importanta prin care indicati cat de precisa va fi simularea in cazul colisiunilor. Incepe cu o valoare care este 1/2 din lungimea medie. In cazul in care apar erori vizibile, deformari sau exagerari, scadeti valoarea. Rezolvitorul tine cont de cat de “rea” e simularea,iar Error Limit determina rezolvitorul sa faca ceva de genul “redimensionare a pasilor”.
Fuzzy
Simularea este mai rapida, dar mai putin precisa.
Choke
Incetineste (reduce viteza) nodul sau muchia in momentul in care aceasta intra in coliziune.


Diagnostics

Print Performance to Console
Afiseaza la consola ceea ce calculeaza rezolvitorul.
Estimate Matrix
Estimeaza matricea. Divizat la COM , ROT ,SCALE


Cache si Bake

Soft Bodies si alte simulari fizice folosesc un sistem unificat pentru caching si baking. Vedeti alte detalii pe pagina Particle Cache.

Rezultatele simularii sunt stocate automat (cache) pe hard disk la redarea animatiei, astfel incat la urmatoarea rulare, sa poata fi redata rapid, prin citirea rezultatelor stocate pe hard disk. Daca ati aplicat Bake la simulare, cache-ul este protejat si daca doriti sa faceti modificari, veti fi intrebat, deoarece va trebui recalculata modificarea.

Blender3D FreeTip.gif
Feriti-va de setarile Start si End
Simularea este calculata doar pentru cadrele care se afla intre cadrele Start si End (caseta Bake), chiar daca nu ati aplicat (bake) simularea! Daca doriti ca o simulare sa dureze mai mult de 250 de cadre va trebui sa modificati numarul cadrului din End.


  • Caching:
    • Ca si la rularea aminatiei, fiecare cadru care se afla intre cadrele se inceput si cel final este scris pe hard disk. Aceste fisiere sunt stocate in directoare numite cu prefixul “blendcache”, imediat langa fisierul .blend.
    • Memoria cache este stearsa automat cand se fac modificari - dar nu la orice fel de modificari, asa ca uneori este necesara stergerea manuala, de exemplu atunci cand modificati un camp de forta. Pentru a umple memoria cache, trebuie rulata animatia inainte de sau incepand cu cadrul in care incepe simularea.
    • Daca nu vi se permite sa scrieti in subdirectorul cerut, crearea fisierelor cache nu va avea loc.
    • Memoria cache stocata pentru toate obiectele selectate poate fi eliberata folosind un buton din caseta, sau combinatia de taste CtrlB.
    • Puteti avea probleme daca calea la fisierul .blend este lunga (contine multe caractere) si sistemul de operare are limitare la lungimea de caractere.
  • Baking:
    • Sistemul este protejat contra modificarilor dupa aplicare.
    • Rezultatul aplicarii Bake poate fi sters si cu CtrlB pentru toate obiectele selectate sau cu click pe butonul Free Bake pentru sistemul Soft Body curent.
    • Daca se modifica reteaua, simularea nu este calculata din nou.

Pentru "randarea cu ajutorul fermelor de calculatoare" - renderfarms, cel ami bine este sa aplicati toate sistemele fizice (simularile), apoi sa copiati si directorul cache pe renderfarm.

Interactiunea in timp real

Pentru a lucra cu o simulare Soft Body este mai la indemana folosirea ferestrei Timeline. Puteti sa schimbati cadrele intre ele si simularea va fi afisata mereu in starea actuala. Optiunea Continue Physics din meniul Playback - fereastra Timeline va permite sa interactionati in timp real cu simularea, adica prin mutarea obiectelor care iau parte la coloziune sau transformarea obiectului Soft Body.

Blender3D FreeTip.gif
Continue Physics nu functioneaza in timp ce rulati animatia cu AltA
Right. Aceasta functioneaza doar cand rulati animatia cu butonul Play din fereastra Timeline.


Puteti selecta apoi obiectul Soft Body in timp ce rulati simularea si aplicati - Apply modificatorul in caseta Modifiers din contextul Editing. In acest caz, deformarea devine permanenta.

Sfaturi

  • Obiectele Soft Bodies lucreaza bine mai ales daca obiectele au cateva noduri de distribuire. Aveti nevoie de mai multe noduri pentru coliziuni bune. Puteti modifica deformarea (rigiditatea) daca adaugati mai multe noduri intr-o anumita zona (vedeti animatia din Image 1b).
  • Calculul coliziunilor poate dura mai mult timp. Daca ceva nu este vizibil, de ce ar fi nevoie sa fie calculat?
  • Pentru a creste viteza de calcul pentru coliziuni, uneori este utila ciocnirea cu un obiect suplimentar, mai simplu, invizibil, putin mai mare (vedeti exemplul din Image 1a).
  • Folositi Soft Bodies doar atunci cand este necesar. Daca incercati sa acoperiti o retea pentru corp cu o haina si sa animati doar cu Soft Body, nu veti avea succes. Pot fi activate Self collision pentru par in Soft Body, dar este o metoda pe care va trebui sa o incercati singuri. Vom detalia ulterior doar Collisions.
  • Incercati si folositi elementul Lattice sau Curve Guide pentru Soft Body in locul obiectului insusi. Astfel va creste viteza de procesare.


Legaturi (in engleza)