Cząstki: Physics: Boids 9

Boids to cząstki, które symulują zachowanie rojów.

W materiale wideo przedstawiam Boids, jedną z bardziej tajemniczych rodzajów fizyki cząstek, która pozwala symulować za pomocą cząstek zachowania charakterystyczne dla rojów. Przygotowanie tego poradnika zajęło mi MASĘ czasu, nagrywałem chyba ze cztery razy i nadal – pisząc szczerze – nie jestem zadowolony. Wrzucam jednak materiał taki, jaki jest w nadziei, że komuś pomoże.
Na zakończenie prezentuję pierwszy film zrobiony z wykorzystaniem cząstek, który ma wpis w bazie http://www.imdb.com/title/tt0302371/, a który powstał w 1987 roku. Był to pierwszy film z dźwiękiem i fabułą – wcześniej świat nie widział rojów w animacjach komputerowych, jedynie Craig Reinolds pokazywał krótkie animacje bez dźwięku lecących strzałek (lub samolotów z papieru) na konferencji SIGGRAPH w 1987 roku. Tych filmów nie pokazałem, ale można znaleźć je na sieci. Strona Craiga: http://www.red3d.com/cwr/.
Teraz mamy to w Blenderze, i działa o wiele lepiej niż ówczesne systemy, można m.in. dodawać różne reguły zachowań rojów, symulować ich walki lub sojusze, i robić wiele innych rzeczy.
Materiał, który prezentuję można traktować jako wstęp i krótkie, dość chaotyczne omówienie podstaw pracy z systemem rojów. Zastosowania pokażę gdzie indziej i później. Zapraszam do oglądania!

 

9 thoughts on “Cząstki: Physics: Boids

  1. Odpowiedz Tomek Paź 27,2013 14:10

    Nie wiem czy mi wolno, i czy jest sens, ale jakby ktoś wciąż miał podobny problem co Kot i nie zastosował rozwiązania Pana Piotra, to tutaj pewien użytkownik Blendera umieścił tutorial , ptaszki oraz cząstki Boids.

    Co do samej lekcji to takiej dynamiki jeszcze chyba nie widziałem :)

  2. Odpowiedz Kot Paź 5,2013 20:04

    prubując stworzyć cokolwiek sensownego napotkałem problem z którym nie mogłem i w dalszym ciągu nie mogę sobie poradzić:
    Stworzyłem coś na kształt motylków/ptaków z armature i zapętloną animacją machania skrzydełkami i nie mogę sobie poradzić z ich ożywieniem(gdy ustawiam w particle settings render as object armature mesha – mesh nie jest renderowany, zaś gdy wybieram mesh to nie jest on animowany przez armature), na pewnym forum poradzono mi wykorzystać system cząstek i duplivert, ale nijak nie mogę znaleść właściwych ustawień. Jeśli spotkał się Pan z jakimkolwiek rozwiązaniem tego problemu to prosiłbym o pomoc i ewentualnie jakiś tutorial na ten temat :).

    • Odpowiedz piotao Paź 5,2013 20:38

      Wybrać jako obiekt reprezentujący cząstki potrzebujesz mesha który jest zaparentowany do armatury. Aby animacja odtwarzała się podczas symulacji cząstek, armaturę trzeba animować za pomocą akcji wstawionej do NLA i powtórzonej – być może – setki razy. Dopiero wtedy będziesz miał animację mesha.

      • Odpowiedz Kot Paź 5,2013 22:33

        Bardzo dziękuje wszystko już śmiga.
        Co do samego tutoriala:
        Wedle tego co naczytałem się na forach aby opcja allow land i allow climb działały jak należy trzeba mieć włączone allow flight a grawitację „skombinować” z innego źródła(dobrze działa plane shape force field).
        Takim sposobem działają jak należy wszystkie opcje związane zarówno z naziemnym poruszaniem się „mrówek” jak i lataniem.

        • Odpowiedz piotao Paź 5,2013 22:47

          Dziękuję Ci, wygląda na to, że to prawda. Też słyszałem o polach siłowych i ich skojarzeniu (niezbyt udokumentowanym) z boidami. Nie mogłem w tym tutku o tym powiedzieć, bo w Kursie nie wspominałem zbyt wiele o polach siłowych :)

  3. Odpowiedz piotao Paź 5,2013 14:58

    Na taką sceną zastanawiałem się jakiś czas temu. Boids do tego się nie nadają, chyba, żeby zamiast symulacji stworzyć oszukaną scenę, gdzie sami kontrolujemy zachowanie kurzu i dymu. Gdyby zmusić cząstki do wirowania wokół krzywej, która w kształcie okręgu rozszerza się na boki od obiektu, który upadł, powstałby efekt pierścienia z wirującego kurzu.
    Można ten efekt zrobić ładniej i bardzo realistycznie za pomocą symulacji dymu. Ale o tym powiem dopiero później przy następnych tutorialach.

  4. Odpowiedz Remik Paź 5,2013 12:56

    Tu zastosowanie ich do jakiś żyjących organizmów wydaje się jak najbardziej sensowne, ale ja myślę nad zastosowaniem ich do symulacji np. pyłów i oddziaływanie tych cząsteczek na opory powietrza itp. Animacje są mi na razie obce z uwagi na słaby komputer i nie bardzo się na tym znam, ale czy nadawały by się np. do takiej sceny jak upuszczenie betonowego bloku na piaszczyste podłoże, tak żeby wzbił się pył w powietrze jednocześnie uciekając spod tego bloku które jest wywołane oporem powietrza?

  5. Odpowiedz piotao Paź 5,2013 12:15

    Masz rację. Jest to rój, zatem możemy globalnie sterować pewnymi tendencjami, które grupa przejawia, natomiast w konkretnych przypadkach zachowanie poszczególnych osobników jest prawie niemożliwe do kontroli. Przykładowo, jeżeli postawisz na drodze takich cząstek przeszkodę, nie wiadomo, jak będą ją omijać. Zachowania zależą od reguł, seeda i sytuacji na scenie. Czasami ta losowość jest właśnie tym, czego potrzebujemy, np. do animacji pszczół, ławicy ryb lub tłumu ludzi.

    Do kontroli pojedynczych osobników nie korzysta się z cząstek.

  6. Odpowiedz Remik Paź 5,2013 11:59

    Cząsteczki o ogromnych możliwościach, ale chyba trudno nad nimi zapanować bez pełnej wiedzy na temat ich działania. O ile nadają się idealnie do jakiś działań w tle, to nakazanie im konkretnych działań jest dosyć trudne. Tak przynajmniej wydaje się po obejrzeniu tutoriala.

A Ty co o tym myślisz?