Jump to content
Tazio

Animacja obiektu RBD

Recommended Posts

Witam, takie pytanko.

Robie sobie taki projekcik, gdzie pojazd uderza czescia silnika o ziemie.

Obiekt zostal zanimowany w mayce i tam tez zostal pociety na fragmenty, ktore maja po uderzeniu rozpasc sie.

Teraz eksportowalem sobie czesc pocietego silnika z anmacja jak leci w kierunku ziemi do houdiniego jako fbx.

Zrobilem object merge, rop i exportnalem te animacje do bgeo. Wrzucilem poprzez file do houdiniego.

Ok jest geometria ktora jest sekwencja animacji. Teraz w momencie gdy silnik zbliza sie do ziemi, chcialbym aby

nastapilo uderzenie o statyczny obiekt (ziemie). I teraz (uff) co zrobic?

Silnik powinien byc jako RBD Object, czy RBD Fractured object? I teraz jak zrobic,

aby obiekt byl animowany do zderzenia a przy zderzeniu nastapilo uruchomienie RBD?

Probowalem z RBD i Fractured RBD ale spadaja na ziemie od razu, a przy uzyciu Activation, wisza w powietrzu zamiast sledzic animacje i w momencie uruchomienia spadaja na ziemie. Jakies sugestie jak zrobic cos takeigo?

Szukalem troche na forach zagranicznych, ale pomyslalem, ze moze tu by sie udalo uzyskac jakis zrozumialy dla

mnie dialog.

Share this post


Link to post
Share on other sites

Wszystko masz w helpie houdiniego.

 

Znajdziesz tam 'glue constraint' przykladowa scene:

http://www.sidefx.com/docs/houdini13.0/examples/nodes/dop/constraintnetwork/GlueConstraintNetwork

 

 

This example shows how to create a constraint network to glue together adjacent pieces of a fractured object. It also shows how primitive attributes such as 'strength' can be used to modify properties of individual constraints in the network.

Edited by tmdag

Share this post


Link to post
Share on other sites
Wszystko masz w helpie houdiniego.

 

...ale Taziowi zdaje się nie o to chodzi. Chciał symulować obiekty, które mają upieczoną deformację ręcznie (z Mai), a dopiero w trakcie kolizji trzeba je symulować.

 

Tazio, to jest kilka kliknięć. Musisz użyć ActiveStateDOP z odpowiednią komendą (np. $FF > 20 jeśli impact jest w klatce 21). Obiekt powinny mieć atrybut velocity (policzone np. z TrailSOP), RBDObject DOP musi mieć włączone dziedziczenie velocity z punktów. Ważne też żebyś wyzerował velocity na punktach po klatce 21, inaczej nadaj będzie wpływać na symulacje. Załączam przykład, niestety nie wiem, jak to zrobić z RBD Packet Object, bo nie ma na ich "Use Deformation". Pewnie jakoś się da...

anim_sphere_fractured.zip

Share this post


Link to post
Share on other sites

Ok, dziala mi to sposobem jaki podeslal Symek.

Dzieki za to. Troche sie dziwnie zachowuje geometria po uderzeniu, troche lata jak liscie mimo ze zrobilem

im centroida, ale napewno jest to do naprawy. Mam takie jeszcze pytanie, bo wiem ze tak sie da, ale jestem za cienki na to w hudym.

Bo to jest troche wersja toporna, poniewaz manualnie odklucza sie klatke w ktorej ma sie stac kolizja.

Jak zrobic zeby dzialalo to troche jak thinking particles, czyli ze obiekt sam wyczuwa moment kolizji ze pomoca dystansu i puszcza,

tak jak w volume brakerze, lub np jest w zasiegu jakiegos obiektu i bedac w jekgo zasiegu jest triger do kolizji,

tak jak np we fragmenterze, gdzie mozna np odpalic kolizje za pomoca swiatla.

Mozna zrobic tak w houdinim za pomoca np scaterowania punktow, aby po kontakcie z particlami nastapilo uruchomienie kolilzji?

 

Sorki ze tak zawracam dupe, ale przeciez nie prosze o konkretne rozwiazania, a bardziej o koncept i sposob.

Share this post


Link to post
Share on other sites
niestety nie wiem, jak to zrobić z RBD Packet Object, bo nie ma na ich "Use Deformation". Pewnie jakoś się da...

 

nie wiem co to jest RBD Packet Object, pewnie to nowy stuff w Houdinim 13, nie dotykalem tego, ale Use Deformation to SOP Geometry DOP z ustawionym Default Operation na Set Always, w tym wypadku geometria z SOP do DOP levelu jest przenoszona co substep.

Edited by bareja

Share this post


Link to post
Share on other sites
Ok, dziala mi to sposobem jaki podeslal Symek.

Dzieki za to. Troche sie dziwnie zachowuje geometria po uderzeniu, troche lata jak liscie mimo ze zrobilem

im centroida, ale napewno jest to do naprawy. Mam takie jeszcze pytanie, bo wiem ze tak sie da, ale jestem za cienki na to w hudym.

Bo to jest troche wersja toporna, poniewaz manualnie odklucza sie klatke w ktorej ma sie stac kolizja.

Jak zrobic zeby dzialalo to troche jak thinking particles, czyli ze obiekt sam wyczuwa moment kolizji ze pomoca dystansu i puszcza,

tak jak w volume brakerze, lub np jest w zasiegu jakiegos obiektu i bedac w jekgo zasiegu jest triger do kolizji,

tak jak np we fragmenterze, gdzie mozna np odpalic kolizje za pomoca swiatla.

Mozna zrobic tak w houdinim za pomoca np scaterowania punktow, aby po kontakcie z particlami nastapilo uruchomienie kolilzji?

 

Sorki ze tak zawracam dupe, ale przeciez nie prosze o konkretne rozwiazania, a bardziej o koncept i sposob.

 

Moge sie mylic bo juz kilka lat temu to widzialem ale chyba ten tutek jest przykladem zmiany koloru obiektu w momencie gdy zostanie wykryta kolizja. Ta sama metode mozesz zastosowac do swojego switcha.

Share this post


Link to post
Share on other sites

Bareja, dostalem powiadoienie ze napisales cos w tym watku, ale tutaj tego nie wyswietlilo.

Tak tylko gwoli scislosci.

Co do watku, ten domowy projekt ktory teraz robie to moze w nastepnym tygodniu wrzuce

to na WIP w maxie, to byscie czasami cos podrzucili zoltodziobowi :)

Bardzo bym chcial go dokonczyc i ruszyc z wiedza w houdinim.

Share this post


Link to post
Share on other sites

Zerknalem na przyklad Symka i wyglada na to ze cos tam nie do konca dziala. W momencie kiedy aktywujemy obiekt, geometria jest transformowana za pomoca Position oraz czytana za pomoca SOP Geometry DOP, cos chyba jest nie tak.

 

To co proponuje to jedna z wielu mozliwosci.

hellodops.zip

Share this post


Link to post
Share on other sites
Teraz nad tym siedze.

Zajmie mi chyba tydzien rozkminianie tego.

 

Pisze z glowy, nie mam sceny przed soba:

 

Nie wiem jak bardzo badzo gleboko dlubiesz w DOPach ale postaram sie opisac najprosciej jak sie da, oraz pare moich zalozen:

1) Nasza kukla zawiera deformacje, nie animacje, animacja jest na poziomie obiektow (/obj).

2) Kulka na poczatku symulacji jest obiektem nie aktywnym, co znaczy solver zostal dodany do obiektow ale nie zaczal jeszcze zadnych obliczen, nic nie zainicjalizowal. W poczatkowej fazie interesuje nas tylko deformacja. Obiekt chcialbym aktywowac tylko wtedy kiedy zbilzy sie do innych z ktorymi potencjalnie bedzie kolidowac.

3) Kazdy RBD obiekt zawiera w sobie pewne dane, np SOP_Geometry dodaje nam geometrie, jezeli uzywasz Use Deform, to znaczy pobierz geometrie ze 'zrodla' w tym wypadku SOP co dt(substep, jakakolwiek zmiana w czasie). W setupie, nie uzylem Use Deform, bo chcialbym sterowac w wygodny sposob za pomoca skryptu. Uzylem Modify Data z modyfikacja time dla Geometry data.

4) Grupa env to obiekty z ktorymi kulka bedzie kolidowac.

5) Grupa anim, to grupa obiektow ktore sa animowane, jezeli obiekt jest w grupie to Modify Data odswierzy geometrie na nim. Jezeli obiekt wyleci z jakis wzgledow z grupy anim, zostanie aktywowany - znaczy do obliczen rbd.

6) w Sop network ktory z tego co pamietam jest kolo 'aaa modify data' biore moja kukle, robie na niej scatter, robie scatter na env grupie i robie transfer atrybutu z env do kulki, bazujac na dystansie. Z punktow ktore zostaly rozsiane na kulce robie particle system, i biore max z transferowanego atrybutu. Tak wykrywam czy obiekt zblizyl sie do kolidowanych obiektow.

7) Expresion na aaa modify data sprawdza sop network czy atrybut jest > 0 jezeli jest to znaczy wywal obiekt z grupy anim. Rob oblicznia rbd.

 

Sorry pisalem szybko, pewnie masa bledow, zredaguje pozniej ;)

Share this post


Link to post
Share on other sites

Dobra, czaje to wszystko, znaczy sie koncept wsparty plikiem :P.

Dzieki bardzo za czas.

Teraz sobie rozszyfruje expressions uzyte w modify data.

Ten sposob mi sie podoba, jest niezle kontrolowany. Przetestuje go sobie na kawalku

silnika ktory sie rozwala.

Czasami mam ochote rzucic houdiniego

i chwycic po maxa lub maye, bo wydaje mi sie ze Houdy jest nie do przejscia.

Ide dlubac dalej.

Share this post


Link to post
Share on other sites

W Symkowym przykladzie geometria zewnetrzna i wewnetrzna kulki, jest symulowana osobno. Assemble sop bierze pod uwage 'inside group' i tworzy osobny 'name' primitive parameter co powoduje, ze rbdfracture object traktuje to zupelnie osobno. Mozesz pominac zupelnie ten node bo 'name' parameter w tym przykladzie jest poprawnie ustawiony przez voronoi fracture.

 

Dodatkowo przyklad ten nie zadziala poprawnie jak zmienisz wartosc active value na nizsza gdy geometria jest nadal deformowana. (np $FF>10)

W przykladzie bareyki ten problem jest ladnie ominiety.

Share this post


Link to post
Share on other sites

Zrobilem na razie sposobem Symka, bo jest latwiejszy dla mnie. Ale odtworze sobie ten efekt drugim sposobem.

Moze jutro podrzuce prevke tego co zrobilem, udowodnie przynajmniej ze na powaznie nad tym siedzialem.

Dzieki za bardzo konkretna pomoc.

Share this post


Link to post
Share on other sites

Ok, rozumiem, ale musze troche przemyslec Twoje rozwiazanie,

poniewaz chcialbym dokladnie wiedziec co robie. Pojazd bedzie zachaczal jeszcze

tylnim silnikiem o ziemie, wiec zagadnienie powroci.

Dzisiaj nie wrzuce filmiku, bo zajelo mi troche czasu zeby powrzucac elementy pojazdu

do sceny, plus troche czasu wolnego dla siebie.

Wydaje mi sie, ze zalozenie sobie zrobienia calego projektu w houdinim bylo dobrym pomyslem,

poniewaz mam juz mase pytan odnosnie dalszej pracy nad tym projektem,

np: jak chce emitowac particle z rozwalonych obiektow, to moge skaszowac rozwalony

obiekt i potem robic particle?

Zdaje sobie dobrze sprawe ze to idiotyczne pytanie, ale od kiedy particle sa w dopsie

nie jest to dla mnie takie oczywiste. Po skaszowaniu obiektu emitujacego particle, mam go odlaczyc poprostu w dopsie?

Ale chyba zaloze watek na wip zeby tutaj nie zabrudzac forum pytaniami z roznych zagadnien.

Share this post


Link to post
Share on other sites

Mozesz cachowac i stworzyc kolejny dop. Nie musisz uzywac parikli w dopach jak nie chesz. Stary popnet nadal jest dostepny

Share this post


Link to post
Share on other sites

Wiem ze stary pop dziala, ale chyba chcialbym wykorzystac ten nowy.

W sumie nie wiedzialem (chyba) ze mozna stworzyc nowego dopa.

Share this post


Link to post
Share on other sites
Zdaje sobie dobrze sprawe ze to idiotyczne pytanie, ale od kiedy particle sa w dopsie

nie jest to dla mnie takie oczywiste.

 

1) nie gadaj tak, nie ma idiotycznych pytan, wiec skoncz tak gadac ;)

2) ad nomenklatury houdiniego, nie w dopsie, tylko dopach tak bedzie brzmialo spolszczenie tej nazwy ;) przynajmniej tak mi sie wydaje, skroty pochodza od modulow: POP - Particle OPerators, VOP, Vex OPerators, ROP - Render OPerators etc etc

 

Nie staraj sie wszystkiego upchac razem, rob male kroki, najperw RBD pozniej particle, tak bym radzil, wiele razy robienie wszystkiego w jednej symulacji to overkill. To sa efekty, a nie numeryczna analiza zachowania sie promu kosmicznego. Trzeba oszukiwac.

 

DOP Networkow mozesz sobie stworzyc ile chcesz.

Edited by bareja

Share this post


Link to post
Share on other sites

Dzeki za podpowiedz co do kolejnosci.

Nie zdazylem wrzucic jeszcze filmika

bo meczylem sie z takimi glupotkami nawet jak przyparentowanie obiektu,

do statku. Poniewaz mam zrobine na wszystkie obiekty object merge i ich pivot jest zwsze

w miejscu, wiec obiekt go nie sledzi. Szukam na sidefx jak to zrobic zeby o pierdolki was nie pytac.

Jak zdaze to moze dzisiaj jeszcze wrzuce.

Share this post


Link to post
Share on other sites

Mowiles, ze moj sposob ciezszy do zrozumienia, wiec majac chwile przejrzalem moja metode i zrobilem z niej prosty czysty subnet, wystarczy, ze zrobisz sobie z niego otla.

 

W scenie znajduja sie dwa przyklady:

1) aktywacja na podstawie animacji

2) akytwacja na podstawie dystansu

 

Teraz modify data bierze dane bezposrednio z SIM_Geometry, milego wieczoru :)

hellodops2.zip

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

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy