Jump to content
  • 1
Sign in to follow this  
ozogonkiem

Spadające losowo boxy, lądujące idealnie w ustalonym z góry miejscu

Question

Hej, tytuł dobrze tłumaczy co chciałbym uzyskać. 
Stworzyłem dużo boxów wygenerowanych arrayem, następnie booleanem wyciąłem je w kształt mojego obiektu który chciałbym "budować". I zaczyna się zabawa. 

Próbowałem Animation nodes, ale pierwsze próby były dość marne (za mało jeszcze umiem). Myślałem, też żeby odwrócić mesha z boxów do góry nogami, puścić symulację rigid bodies, a potem odtworzyć ją od tyłu. Ale tutaj wszystkie boxy spadały mi w tym samym czasie. Teraz przyszło mi do głowy że może da się je aktywować kolizją z jakimś empty? Czy ktoś robił coś podobnego i może mnie nakierować?

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 1
Posted (edited)

Najprościej byłoby wyjść od tych ustawionych w docelowym kształcie boxów; nadać im cechę aktywnych rigid bodies. Jeżeli nie chcesz wszystkiego odwracać do góry nogami to możesz też zmienić grawitację z ujemnej na dodatnią (9.81 m/s2) w zakładce "Scene" 🙂 Następnie zbejkować rigid bodies "bake to keyframes". Jak już masz przekształconą symulację boxów do animacji z keyframes to prędkość spadania tych boxów (poszczególnych) możesz edytować krzywymi w graph editorze (jak chcesz dodać jakiś dodatkowy efekt do krzywych to w sidebarze "N" są też dostępne modyfikatory).

Większości opcji w Blendrze, które znajdują się w "Properties" możesz przypisywać klatki kluczowe/animować. W Rigid body jest opcja Deactivation, którą też możesz animować i spowalniać boxy. Do tego dochodzą takie sprawy jak drivery, constraints, force fields i animation nodes (tu jest dobra strona w temacie symulacji blenderowych i modelowania proceduralnego https://blendersushi.blogspot.com/) o których wspomniałeś, particle system itd. Jak kombinujesz z aktywatorem i czegoś nie możesz zrobić przez empty to wykorzystaj obiekt, który będzie meshem, ale będzie niewidoczny na renderze. Podejść do sprawy jest sporo.

Patrząc szerzej to temat jest ciekawy: jak w blenderze miksować symulację rigid  bodies z animacją keyframes - chyba takiego magicznego solvera nie ma 🙂

W kwestii symulacji w blenderze to trafiłem ostatnio na taki addon:

https://github.com/KaiKostack/bullet-constraints-builder

https://inachuslaurea.wordpress.com/

 

 

 

Edited by alex3d

Share this post


Link to post
Share on other sites
  • 0

zrób na odwrót i puść animację od końca.

Share this post


Link to post
Share on other sites
  • 0

ok edycja jeszcze słabo działa - doczytałem do konca i faktycznie ostatnia sugestia to było coś co chciałem zaproponować. Możesz też je 'zdmuchiwać' albo przesuwać wraz z kamerą w obszar fizyki (chyba w blendku tak to działa, że dla fizyki się definiuje box.

Share this post


Link to post
Share on other sites
  • 0

Niestety w blenderze fizyka działa globalnie (chyba, że jest jakiś ukryty przełącznik takiego stanu). Kolizji do empty też nie można podpiąć. Jeszcze kombinuję trochę z Fforce Fields (niech Cię nazwa nie zmyli, ich też się nie da zbyt łatwo ograniczyć powierzchniowo).

Share this post


Link to post
Share on other sites
  • 0

ok, mój błąd - dym ograniczałem boxem stąd pewnie myślałem, że fizyka jako taka jest też limitowana

Share this post


Link to post
Share on other sites
  • 0

Dzięki Alex za wyczerpującą odpowiedź.

Ostatecznie postawiłem na mozolne dopasowanie kilku Force fields tak żeby uzyskać względnie zadowalający efekt. Miałem za dużo elementów, żeby odważyć się animować je ręcznie (setki, jeżeli nie tysiące cegieł) 😛

Czuję, że muszę lepiej poznać Animation Nodes, wtedy pewnie mógłbym całkowicie ominąć fizykę. Mam się czego uczyć w najbliższym czasie 🙂

  • Like 1

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
Sign in to follow this  

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy