Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Programare » Grafică » Carne Vie




Pagina 1 din 1 [ 1 ]

Mesaj Info autor
    Postat la 29 Jul 2010 14:42:36    Subiect: Carne Vie
Zex info:

Zex:

Cum trebuie sa modelez un personaj dezmembrabil? Presupun ca in punctele de rupere, trebuie sa modelez in interiorul meshei. I.e. sa fac una bucata de femur expus, ce se va ivi cand are loc secerarea membrului.

Restul tine de programare presupun, trebuie sparti niste verts la punctul de taiere sau? A lucrat cineva cu asa ceva pana acum?


Status:
Înregistrat pe:
28 Sep 2007 20:47:12
Vârsta: ? ani
Mesaje: 50
Locatie:


 
    Postat la 29 Jul 2010 17:11:31    Subiect: < fara subiect >
Dark info:

Dark:

Vezi ce-au facut Valve in L4D2: http://www.valvesoftware.com/publications/2010/gdc2010_vlachos_l4d2wounds.pdf .

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator

 
    Postat la 29 Jul 2010 18:10:27    Subiect: < fara subiect >
Zex info:

Zex:

And Dark delivers.

Acum hai sa vedem daca cortexul meu subdezvoltat a prins cat de cat ideea (lasand la o parte sample-ul de cod care putea fi scris la fel de bine in sanscrita pentru mine). E vorba de meshe SEPARATE de modelul de baza, care sunt link-ate de ik-ul modelului, si "apar" dupa impact, in timp ce zone din model dispar.

E un fel de Lego Technic Man approach to character modelling lol.

Am cautat ceva similar in UDK si nu prea am ajuns la nimic concret. Clar e posibil (ex. Singularity), dar nu prea gasesc documentare. Doar un stub si un vid cu ziduri distructibile.







Status:
Înregistrat pe:
28 Sep 2007 20:47:12
Vârsta: ? ani
Mesaje: 50
Locatie:


 
    Postat la 29 Jul 2010 19:49:15    Subiect: < fara subiect >
Dark info:

Dark:

Da, cam ala e principiul, iar mesh-urile alea de damage sint facute sa se potriveasca in mare cu orice model. Nu stiu cum si daca se poate face in UDK. Singularity nu-i facut cu UDK, e facut cu o licenta full de UE3, deci daca au dismemberment e posibil sa-l fi implementat singuri intr-un mod care nu-ti e accesibil in chestia aia free. Filmuletul cu destructibles nu se pune, ala e pentru spart cutii si ziduri cu PhysX, n-o sa mearga pentru personaje.

Daca esti intr-un engine pentru care poti sa scrii cod, poti incerca o metoda mai muncitoreasca: intersectezi modelu' cu un poligon, arunci toti vertecsii care-s de partea nasoala a poligonului, faci vertecsi noi pe edge-urile intersectate de poligon (si le interpolezi UV-uri, skin weights si ce mai ai pe acolo), inchizi gaura triangulind poligonul format de noii vertecsi si pui o textura cu mate si singe pe triunghiurile proaspat create (cu putina creativitate, tii matele undeva in textura personajului si rezolvi din UV-uri, fara sa faci un draw call in plus). Nu merita prea tare insa, ca-i mult mai urit ca la Valve si probabil e si mai mult de munca (plus ca haleste mai mult CPU).

In unele cazuri particulare poti scapa mai usor, cu un clipping plane (implementat cu texkill in pixel shader, ca-i 2010). Problema e ca planele astea sint infinite, deci n-o sa poti sa tai doar mina personajului daca planul de taiere intersecteaza si corpul. Daca asta nu-i o problema, ramine doar sa umpli gaura care ramine, ceea ce se poate face cu un stencil test: iti aranjezi stencilu' astfel incit back face-urile sa formeze o masca si pictezi planul de clipping cu textura cu mate si oase, cu stencil-ul activat. In final o sa arate urit, o sa aiba nevoie de 2 draw call-uri in plus (din care unul cu tot personajul), si n-o sa poti sa-l animezi, deci tot mai bine ca Valve.

LE: de fapt nu e nevoie de stencil, m-a palit acum ca poti sa proiectezi textura cu singe din camera pe backface-uri si merge (atita timp cit modelul e watertight, ceea ce oricum era necesar si cu stencilu'). Cu suficienta incapatinare in shader cred ca poti s-o faci intr-un singur draw call, daca scoti backface culling, desi daca esti fill-bound va fi mai eficient sa faci un pas separat cu backface-urile (din motive de early Z si shadere mai simple).

Ultima editare efectuată de Dark pe 29 Jul 2010 20:46:50; 2 editări în total

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator

 
    Postat la 30 Jul 2010 09:30:52    Subiect: < fara subiect >
Pintea info:

Pintea:

Te mai poti uita si cum au facut in Gears of War dezmembrarea, aici:
http://www.gdcvault.com/play/1295/Rendering-Techniques-in-GEARS-OF
(film)
exista si un pdf tot pe gdcvault, dar nu merge in momentul asta.



Status:
Înregistrat pe:
05 May 2007 14:50:45
Vârsta: 28 ani
Mesaje: 300
Locatie:
Programator

 
    Postat la 30 Jul 2010 10:29:50    Subiect: < fara subiect >
Dark info:

Dark:

Ma rog, Epic n-au facut nimic de fapt, ca au modelat personaju' gata spart si atit. Smile Asta e evident cea mai la indemina solutie daca-ti permiti sa modelezi si sa skinezi fiecare personaj de 2 ori si sa-l tii in RAM de 2 ori la runtime, adica daca ai 3 monstri in tot jocul ca in GOW. Smile

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator

 
    Postat la 30 Jul 2010 19:04:15    Subiect: Re:
Pintea info:

Pintea:

Dark a scris:

Ma rog, Epic n-au facut nimic de fapt, ca au modelat personaju' gata spart si atit. Smile Asta e evident cea mai la indemina solutie daca-ti permiti sa modelezi si sa skinezi fiecare personaj de 2 ori si sa-l tii in RAM de 2 ori la runtime, adica daca ai 3 monstri in tot jocul ca in GOW. Smile


mda eu tineam minte ca vazusem niste treburi interesante, dar cred ca se refereau la partea de blood splats.



Status:
Înregistrat pe:
05 May 2007 14:50:45
Vârsta: 28 ani
Mesaje: 300
Locatie:
Programator

 

Pagina 1 din 1 [ 1 ]


Server time: 16:16:45 10.02.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2011 Copyright 7thFACTOR Entertainment - All rights reserved