Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Soluţii - PC Magazine Romania, Martie  2002

Efecte speciale cu 3D Studio Max (II)


Ionuţ Ghionea

Aşa cum am promis în numărul trecut, continuăm cu prezentarea a încă două soluţii edificatoare pentru posibilităţile produsului 3D Studio Max.

Modelarea unei sticle al cărei conţinut se varsă pe o masă
Ne propunem de această dată să creăm o sticlă, răsturnată pe o masă şi din care curge lichid. Deşi pare complicată la prima vedere, modelarea sticlei şi a lichidului este foarte simplă, dacă se urmăresc câţiva paşi de bază.

Pentru început, se desenează sticla, realizând cu comanda [Line] din [Create] -> [Shapes] profilul din Figura 1.

Se aplică apoi modificatorul [Lathe] din [Modify], rotind profilul creat cu 3600, obţinându-se sticla din Figura 2. Numărul de segmente (Segments) trebuie să fie cel puţin egal cu 30, iar după rotire se mai poate aplica modificatorul [Modify] -> [MeshSmooth] pentru a rotunji unele colţuri şi a da o formă cât mai reală sticlei.

În acest moment, sticla stă în poziţie verticală. Pentru a simula scurgerea lichidului, aceasta trebuie răsturnată. În acest scop, se adaugă în scenă o masă rotundă, se roteşte sticla cu 900 şi se poziţionează deasupra mesei. Adăugarea câtorva lumini şi a unei camere este necesară, obţinându-se Figura 3.

Până aici nimic deosebit. A venit momentul creării lichidului, cu ajutorul sistemului de particule.

Sistemele de particule prezintă o variaţie în timp, modificându-şi permanent aspectul. Un sistem de particule creează o serie de mici particule controlate printr-o diversitate de parametri. Aceste sisteme sunt folosite în simulări ale ploii, zăpezii, focului, fumului, lichidelor curgătoare etc. Asupra sistemelor de particule pot acţiona şi diferite elemente de deformare spaţială (space warp - modificatori ce afectează obiectele în coordonate spaţiale universale), cum ar fi vântul, gravitaţia şi deflectorii, ce controlează mişcarea particulelor în cadrul scenei.
3D Studio Max 4 acceptă şase tipuri de sisteme de particule:

  • Spray: creează efecte de tip spray de complexitate redusă;
  • Snow: creează un efect de ninsoare şi foloseşte câţiva parametri suplimentari legaţi de forma, dimensiunea şi viteza de cădere a particulei;
  • Pcloud: creează un nor static de particule şi este utilizat pentru a crea efecte precum câmpuri tridimensionale de stele;
  • Parray: folosit pentru efecte avansate de explozie;
  • SuperSpray: este o versiune îmbunătăţită a sistemului spray standard şi, probabil, cel mai utilizat sistem de particule;
  • Blizzard: este, de asemenea, o versiune mult îmbunătăţită a efectului de ninsoare.


În cazul de faţă, pentru a simula cu mare precizie lichidul, se va folosi sistemul SuperSpray din panoul [Create] -> [Geometry] -> [Particle Systems] -> [Super Spray]. Se poziţionează sistemul de particule în capătul sticlei, orientat (cu săgeata) către exteriorul acesteia (Figura 4).

Valorile parametrilor folosiţi sunt: în meniul Basic Parameters, opţiunea Spread de la Particle Formation va lua valoarea 3, iar Percentage of Particles se va seta la 20%. În meniul Particle Generation, Use Rate are valoarea 20, Particle Motion -> Speed=7, Emit Start=0, Emit Stop=100, Display Until=100, Life=30, Particle Size -> Size=20. În meniul Particle Type se alege MetaParticles. Toate celelalte opţiuni rămân nemodificate.

În acest moment, mişcând bara de animaţie din poziţia 0 spre poziţia 100, se observă că din capătul sticlei ies nişte particule, pe o direcţie paralelă cu masa. Aceste particule trebuie să ajungă pe masă pe o traiectorie curbă. Pentru aceasta, din [Create] -> [Space Warps] -> [Particles & Dynamics] se alege [Gravity]. Se poziţionează elementul de gravitaţie ca în Figura 4, alături de sistemul de particule, pe o direcţie perpendiculară pe acesta, îndreptat în jos. Pentru ca acestea sa fie influenţate de gravitaţie trebuie ca cele două elemente (Gravity şi Super Spray) să fie legate (link), folosind în acest scop butonul [Bind to Space Warp], aflat în bara de butoane din partea superioară a ecranului.

Mişcând bara de animaţie, se observă că particulele şi-au schimbat traiectoria, trec prin masă şi se îndreaptă spre partea de jos a ecranului.

Cum va rămâne lichidul (sistemul de particule) pe masă? Foarte simplu: trişăm puţin. Lichidul va fi lăsat pe traiectoria sa descendentă şi se desenează pe masă, chiar acolo unde lichidul o atinge, o formă oarecare, folosind [Create] -> [Shapes] -> [Line]. Noua formă trebuie să semene oarecum cu o mică baltă de lichid. Odată forma stabilită, se aplică asupra acesteia modificatorul Extrude şi MeshSmooth, pentru a-i rotunji marginile ca în Figura 5.

Normal este ca în poziţia 0, forma să fie foarte mică, aproape invizibilă, iar în poziţia 100, să fie mult mai mare, datorită lichidului care se presupune că s-a scurs din sticlă. Uşor de realizat: se duce bara de animaţie în poziţia 0, se micşorează forma cu butonul [Select and Uniform Scale], se apasă apoi butonul [Animate] de sub bara de animaţie. În poziţia 100 se măreşte forma până la dimensiunea finală. Se apasă iar butonul [Animate], acesta revine în poziţia normală, iar animaţia este gata.

Se mapează masa cu un material de lemn, lichidul cu un material roşu (spre exemplu), dar puţin transparent. Evident, ultima formă creată, acumularea de lichid de pe masă, trebuie mapată cu acelaşi material ca şi lichidul.

În scenă se poate adăuga o cameră care va lua locul viewport-ului Perspective şi se începe renderizarea animaţiei.

În figura 5 se observă că lichidul trece efectiv prin masă, dar, datorită acesteia, nu se mai vede în animaţie.

Folosirea sistemului de particule Super Spray cu opţiunea MetaParticles este puţin pretenţioasă deoarece timpul de renderizare este destul de mare şi creşte proporţional cu numărul de particule. Totuşi, MetaParticles, într-o setare corectă, imită cel mai bine lichidul. De asemenea, trebuie avută în vedere legătura între volumul de lichid care curge din sticlă şi viteza de creştere a acumulării.

În figurile 6 şi 7 se prezintă două imagini oarecare din timpul animaţiei.

Se observă că iluzia creată este aproape perfectă. În acest tutorial nu s-a insistat asupra formei sticlei, a mesei sau a altor elemente, a fost prezentată numai tehnica de modelare a unui lichid.

Simularea spargerii unui obiect în momentul coliziunii cu altul
Cea de-a doua temă pe care v-o propunem este modul de utilizare a particulelor de tip Metaparticles (Metaballs) în simularea spargerii unei picături de metal topit pe o suprafaţă plană.

Parametrii legaţi de tipul particulelor permit definirea acelora ce vor afişate la renderizarea scenei. Porturile de vedere utilizează, în general, marcaje pentru reprezentarea sistemelor de particule, dar la renderizarea finală, se vor obţine mai multe particule de anumite forme şi mărimi ce sunt definite de utilizator. În 3D Studio Max 4 pot fi utilizate trei tipuri de particule:

  • Standard Particles: conţin particule geometrice standard, precum: triunghiuri, sfere, prisme, cuburi, dodecaedre etc;
  • MetaParticles: fiecare particulă este înlocuită cu elemente de tip Metaball. Modelarea Metaball creează tensiuni superficiale între sfere pentru a genera suprafeţe cu aspect organic. Metaparticulele sunt folosite pentru a simula lichide curgătoare, ploaie, explozii etc;
  • Object Fragments: creează particule din fragmentele unui obiect. Object Fragments se foloseşte doar cu opţiunea Particle Array din meniul [Create] -> [Geometry] -> [Particle Systems] -> [Parray].
  • Instanced Geometry: geometria instanţiată înlocuieşte fiecare particulă din sistem cu o instanţă a unui element geometric selectat. Astfel, se creează un singur obiect cu o animaţie oarecare şi se va folosi într-un sistem de particule (stoluri de păsări, stropi de apă, câmpuri de asteroizi, frunze luate de vânt etc).

Tutorialul de faţă prezintă realizarea unei scurte animaţii în care o picătură cade de la o înălţime oarecare, se loveşte şi se sparge de o suprafaţă plană.
Pentru început, se va desena suprafaţa plană [Create] -> [Geometry] -> [Standard Primitives] -> [Box]. Deasupra acesteia se va adăuga cel de-al doilea obiect [Create] -> [Geometry] -> [Standard Primitives] -> [Sphere]. Sfera creată va fi editată pentru a obţine forma alungită a picăturii. Din [Modify] -> [Modifier List] se alege Edit Patch, cu opţiunea Vertex în secţiunea Selection. După editare, sfera trebuie să arate ca în Figura 8.
Se va folosi şi o sursă de lumină albă, de tip Omni [Create] -> [Lights] -> [Omni]. Dimensiunile suprafeţei şi picăturii nu contează foarte mult, dar trebuie să existe, totuşi, o anumită proporţie între aceste două obiecte (Figura 9).

Pasul următor este realizarea animaţiei picăturii, ce se va deplasa din poziţia iniţială, în jos, va intersecta suprafaţa, trecând de aceasta. Având picătura în poziţia iniţială şi bara de animaţie (din partea de jos a ecranului) la momentul de timp 0 se începe animaţia. Se deplasează bara de animaţie la momentul de timp 30, se apasă butonul [Animate] (care se colorează în roşu), se deplasează picătura în jos, dincolo de suprafaţa plană şi se apasă din nou butonul [Animate] (Figura 10).

Astfel, picătura se va deplasa pe verticală, din poziţia iniţială (timp=0) în poziţia finală (timp=30).

Odată animarea deplasării picăturii terminată, vor începe etapele în care aceasta se sparge când atinge suprafaţa plană.

Din [Create] -> [Space Warps] -> [Deflectors] se alege Deflector şi se plasează deasupra suprafeţei plane, aşa cum se observă în Figura 11.

În secţiunea Parameters, se setează valoarea Bounce la 0,3.

Din [Create] -> [Geometry] -> [Particle Systems] -> [PArray] se adaugă în scenă un sistem de particule folosit pentru efecte avansate de explozie. Acest sistem se va plasa sub suprafaţa plană, ca în Figura 12.

Sistemul de particule conţine un set complex de parametri, ce vor fi modificaţi după cum urmează: în meniul Basic Parameters, secţiunea Object-Based Emitter se apasă butonul [Pick Object] şi se selectează picătura, iar în secţiunea Viewport Display se selectează opţiunea Mesh şi Percentage of Particles=25%. În meniul Particle Generation, secţiunea Particle Quantity, se selectează opţiunea Use Total, cu valoarea 450. În secţiunea Particle Motion, parametrii au valorile: Speed=1,06 şi Divergence=0. În secţiunea Particle Timing, Emit Start=16 (poziţia în care picătura atinge suprafaţa) şi Emit Stop=18, Display Until=100, Life=100. De asemenea, se bifează şi opţiunea Emitter Rotation.

Până în prezent, setarea opţiunilor de mai sus are următoarea semnificaţie: se vor emite 450 de particule, se vor afişa în forma reală (mesh) şi vor avea viteza egală cu 1,06. Emiterea particulelor se va face între cadrele 16 - 18 şi vor fi afişate până la cadrul 100. În secţiunea Particle Size, prin valorile Size=8, Variation=20 şi Grow For=2, particulele îşi vor modifica dimensiunile până la valoarea 8, în numai două cadre.

În meniul Particle Type, secţiunea Particle Types se alege opţiunea Metaparticles, în secţiunea MetaParticle Parameters se stabileşte valoarea Tension=0,4 şi Variation=20%, iar în secţiunea Mat'l Mapping and Source se apasă butonul [Get Material From:] şi se selectează Picked Emitter. Astfel, sistemul de particule va folosi materialul obiectului emiţător, în cazul de faţă, materialul picăturii. În meniul Object Motion Inheritance se stabileşte valoarea Multiplier=0,3.

În pasul următor, sistemul de particule (PArray) se va lega de Deflector prin intermediul butonului [Bind to Space Warp], aflat în partea de sus a ecranului, imediat sub bara de meniuri. Sensul corect în care se realizează legătura este de la Deflector la PArray.

Se presupune că picătura, după ce atinge suprafaţa plană, se sparge şi, implicit, dispare. Dispariţia picăturii în momentul timp=16 se realizează executând click dreapta pe aceasta când se află în poziţia amintită. Din meniul ce apare se selectează [Properties] şi se modifică valoarea Visibility din 1 în 0, având şi butonul [Animate] apăsat pentru a crea un cadru cheie (Figura 13).

Astfel, picătura dispare complet din scenă, locul ei fiind luat de sistemul de particule. În acest moment, se observă că particulele ating suprafaţa plană, apoi se ridică, fără a mai reveni (Figura 14).

Se impune introducerea în scenă a altui element din categoria Space Warps, Gravity (gravitaţie). Acest element se plasează în scenă foarte aproape de PArray, practic suprapus sistemului de particule (Figura 15).

Gravity nu are prea multe variabile, în cazul de faţă acestea luând valorile: Strength=0,05, Decay=0 şi cu opţiunea Planar bifată.
Adăugarea gravitaţiei impune lichidului o stabilitate mărită, singura mişcare rămasă fiind împrăştierea sa circulară pe suprafaţa plană.

În Figurile 16 şi 17 sunt prezentate două imagini din timpul renderizării:

După cum se poate observa, în scenă s-au adăugat materiale pentru fiecare obiect (sistem de particule şi suprafaţa plană), mărind gradul de realism.

Acest tutorial poate fi îmbunătăţit şi, implicit, complicat, atât prin adăugarea altor elemente cu care să interacţioneze sistemul de particule, cât şi prin modificarea parametrilor acestuia.

fig 1
fig 2
fig 3
fig 4
fig 5
fig 6
fig 7
fig 8
fig 9
fig 10
fig 11
fig 12
fig 13
fig 14
fig 15
fig 16
fig 17

 


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro