Tazio Napisano 7 Styczeń 2014 Napisano 7 Styczeń 2014 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.
tmdag Napisano 7 Styczeń 2014 Napisano 7 Styczeń 2014 (edytowane) 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. Edytowane 7 Styczeń 2014 przez tmdag
SYmek Napisano 8 Styczeń 2014 Napisano 8 Styczeń 2014 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
Tazio Napisano 8 Styczeń 2014 Autor Napisano 8 Styczeń 2014 Dzieki za odpowiedzi. Obadam to teraz. Dam znac.
Tazio Napisano 8 Styczeń 2014 Autor Napisano 8 Styczeń 2014 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.
bareja Napisano 8 Styczeń 2014 Napisano 8 Styczeń 2014 (edytowane) 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. Edytowane 8 Styczeń 2014 przez bareja
mantragora Napisano 9 Styczeń 2014 Napisano 9 Styczeń 2014 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.
mantragora Napisano 9 Styczeń 2014 Napisano 9 Styczeń 2014 Ten tutek. Tu na bialo podswietla linki :) Po postu nacisnij wyraz "ten"
Tazio Napisano 9 Styczeń 2014 Autor Napisano 9 Styczeń 2014 ha, nie no ja kumam linki, tylko zniknal mi w tej calej wypowiedzi.
Tazio Napisano 9 Styczeń 2014 Autor Napisano 9 Styczeń 2014 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.
bareja Napisano 10 Styczeń 2014 Napisano 10 Styczeń 2014 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
Tazio Napisano 10 Styczeń 2014 Autor Napisano 10 Styczeń 2014 Teraz nad tym siedze. Zajmie mi chyba tydzien rozkminianie tego.
bareja Napisano 10 Styczeń 2014 Napisano 10 Styczeń 2014 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 ;)
Tazio Napisano 10 Styczeń 2014 Autor Napisano 10 Styczeń 2014 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.
tmdag Napisano 10 Styczeń 2014 Napisano 10 Styczeń 2014 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.
Tazio Napisano 11 Styczeń 2014 Autor Napisano 11 Styczeń 2014 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.
bareja Napisano 11 Styczeń 2014 Napisano 11 Styczeń 2014 pamietaj uzywajac jego metody symulacja moze wybuchnac.
Tazio Napisano 11 Styczeń 2014 Autor Napisano 11 Styczeń 2014 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.
tmdag Napisano 11 Styczeń 2014 Napisano 11 Styczeń 2014 Mozesz cachowac i stworzyc kolejny dop. Nie musisz uzywac parikli w dopach jak nie chesz. Stary popnet nadal jest dostepny
Tazio Napisano 11 Styczeń 2014 Autor Napisano 11 Styczeń 2014 Wiem ze stary pop dziala, ale chyba chcialbym wykorzystac ten nowy. W sumie nie wiedzialem (chyba) ze mozna stworzyc nowego dopa.
bareja Napisano 12 Styczeń 2014 Napisano 12 Styczeń 2014 (edytowane) 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. Edytowane 12 Styczeń 2014 przez bareja
Tazio Napisano 12 Styczeń 2014 Autor Napisano 12 Styczeń 2014 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.
Tazio Napisano 13 Styczeń 2014 Autor Napisano 13 Styczeń 2014 Zalozylem moj watek tutaj Zapraszam i jeszcze raz dziekuje za porady.
bareja Napisano 14 Styczeń 2014 Napisano 14 Styczeń 2014 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
Tazio Napisano 14 Styczeń 2014 Autor Napisano 14 Styczeń 2014 Wow, dzieki. Mam teraz chwilke czasu wiec przejrze. Wczoraj wieczorem szukalem rzeczy na temat pintoanimation aby kontrolowac clotha.
Tazio Napisano 14 Styczeń 2014 Autor Napisano 14 Styczeń 2014 Calosc zalozenia kumam. Transfer atrybutow w Sopie zrozumialy. Bawilem sie tym tez za pomoca pointwrangle. Rozszyfrowuje jeszcze zawartosc sim deformation. Jutro rozloze sobie te expressions na czynniki pierwsze. Bardzo duzo sie z tego ucze. Za co dziekuje. Dzisiaj spedzilem czas w clothem i wires objects. Probuje w ten sam sposob uruchomic obiekt po pewnym czasie za pomoca pintoanimation. Najwiekszy problem sprawia mi zrozumienie i wrzucanie tego do dopa. Chyba poprostu trzeba cisnac az sie to zrozumie :)
bareja Napisano 15 Styczeń 2014 Napisano 15 Styczeń 2014 (edytowane) na obu modify data jest: !dopoption($DOPNET, $OBJNAME, "SolverParms/ActiveValue", "active") co oznacza, jezeli obiekt nie jest aktywny, wykonaj operacje. Pierwsze modify data robi update geometrii, raczej oczywiste. Drugie modify data zmienia stan obiektu, na aktywny bazujac na atrybutach. #blablabla bierzemy parametry aattr = hou.parm("../attrib").eval() aclass = hou.parm("../class").eval() atresh = hou.parm("../threshold").eval() nie potrzebnie wstawilem dwa razy ta sama linijke z geo hou.pwd().simulation().objects() - zwraca liste obiektow, ktore sa w dop necie do kazdego obiektu dobieramy sie przez [], int(hou.lvar("OBJID"))-1 oblicza nam poprawny index listy, obiektu przetwarzanego, obj id zaczyna sie od 1, a indeksowanie listy od 0, dlateo -1 geometry() konwetuje SIM_Geometry na Geometry wiec mozemy bawic sie atrybutami geo = hou.pwd().simulation().objects()[int(hou.lvar("OBJID"))-1].geometry() if aclass == 0: return int(sum(geo.pointFloatAttribValues(aattr)) > atresh) else: return int(sum(geo.primFloatAttribValues(aattr)) > atresh) geo.primFloatAttribValues(aattr) zwraca liste wartosci atrybutu, a sum() robi ich sume, konwetuje do int() dlatego bo wykiniem operacji > bedzie bool, a active powinno być int. Mam nadzieje ze bawisz sie dobrze :) Edytowane 15 Styczeń 2014 przez bareja
Tazio Napisano 15 Styczeń 2014 Autor Napisano 15 Styczeń 2014 Hehe jaki prezent z rana. Dzieki. Dzisiaj to przestudiuje. Dokumentacja Houdiniego jest dla mnie w tej chwili dosc skomplikowana. Ale przegladam tez duzo plkow z odforum i sidefx. Jak sie nauczyc myslenia w ten sposob? Pewnie prze doswiadczenie.
bareja Napisano 15 Styczeń 2014 Napisano 15 Styczeń 2014 Jak sie nauczyc myslenia w ten sposob? tylko w gułagach :)
Tazio Napisano 15 Styczeń 2014 Autor Napisano 15 Styczeń 2014 :) Patrzac na zlozonosc tego softu, to chyba nikt dobrowolnie by sie go nie nauczyl. Aby bardziej zrozumiec Twoje zapiski, przerobilem kilka tutow dzisiaj. Poczawszy od Houdini Expressions.
bareja Napisano 15 Styczeń 2014 Napisano 15 Styczeń 2014 Patrzac na zlozonosc tego softu, to chyba nikt dobrowolnie by sie go nie nauczyl. zawsze znajdzie sie jakis freak ;)
Tazio Napisano 28 Styczeń 2015 Autor Napisano 28 Styczeń 2015 Witam Ponownie. Wiem ze to stary wtek ale zaczety przezemnie :P Przez ostani rok sporo cisnalem houdiniego. Wiem ze to ciagle malo, ale zawsze to jeden rok madrzejszy. Ostanio rozkminiam pliki od was i wydaja mi sie duzo bardziej czytelne niz poprzednio. Poprzedni projekt dokonczylem w maxie, ale mam zamiar poglebic temat i zrobic podobna secne jeszcze raz, ale juz przy uzyciu houdiniego i lepiej. To tak gwoli informacji. Dzieki jeszcze raz za te pliki pomocnicze.
tmdag Napisano 31 Styczeń 2015 Napisano 31 Styczeń 2015 Witam Ponownie. Wiem ze to stary wtek ale zaczety przezemnie :P Przez ostani rok sporo cisnalem houdiniego. Wiem ze to ciagle malo, ale zawsze to jeden rok madrzejszy. Ostanio rozkminiam pliki od was i wydaja mi sie duzo bardziej czytelne niz poprzednio. Poprzedni projekt dokonczylem w maxie, ale mam zamiar poglebic temat i zrobic podobna secne jeszcze raz, ale juz przy uzyciu houdiniego i lepiej. To tak gwoli informacji. Dzieki jeszcze raz za te pliki pomocnicze. powodzenia!
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się