Kaara Opublikowano 27 Sierpnia 2008 Udostępnij Opublikowano 27 Sierpnia 2008 No właśnie chciałabym sie nauczyć obsługiwać ten "system cząsteczek" ale nijak mi to wychodzi, na gmclanie o ile mi wiadomo nie ma artykułu na ten temat. Czytałam helpa w gm'ie ale czytając przez translator jakoś nie wpoiła mi sie wiedza, czy mógłby ktoś z was, dobrzy ludzie wytłumaczyć na czym to polega lub tez dać jakiś przykład? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 27 Sierpnia 2008 Udostępnij Opublikowano 27 Sierpnia 2008 Równie dobrze można iść na łatwiznę używając Particle Desingera. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 27 Sierpnia 2008 Udostępnij Opublikowano 27 Sierpnia 2008 Przecież są przykłady :/ https://gmclan.org/index.php?sciagnijplik=113 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 28 Sierpnia 2008 Filar Społeczności Udostępnij Opublikowano 28 Sierpnia 2008 @Kaara: A wiesz w ogóle czym są i jaką funkcję w systemie cząsteczek sprawują emitery, deflektory, destruktory itd? Bo jeśli nie, to pokrótce trzeba by było to wszystko opisać zanim zacznie się kodzić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 28 Sierpnia 2008 Udostępnij Opublikowano 28 Sierpnia 2008 Po krótki opisik: emitery - funkcje za pomocą których "spawnujesz" particle deflektory - uginasz ich tor lotu np. Przyciąganie odpychanie od punktu. destruktoy - funkcje za pomocą których niszczysz particle np. podając pewien obszar. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 28 Sierpnia 2008 Filar Społeczności Udostępnij Opublikowano 28 Sierpnia 2008 @Huderlord: Miałem na myśli dokładny, łopatologiczny, a przede wszystkim abstrakcyjny opis zasad i pojęć stosowanych w systemach cząsteczek (bo gm nie jest tu wyjątkim), a nie takie pitu pitu gmlowa funkcja to i tamto... Dopiero po wyjasnieniu pewnych spraw mozna zabrac sie za programowanie. To tak jakbys zabral sie za grafike 3D nie majac kompletnie żadnej wiedzy na temat pojęć poligon, vertex, bump mapping, low-poly itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kaara Opublikowano 28 Sierpnia 2008 Autor Udostępnij Opublikowano 28 Sierpnia 2008 Uff no masz Racje Ranmus bez dokladnej wiedzy nie mam co sie zabierać za kodowanie, a czasu na naukę mam sporo bo urlop mam do 18 Października ;). Jeśli możecie zamieśccie jeszcze na tym kawałku strony troche swojej wiedzy bardzo mi sie przyda każda wasza zapisana linijka. :) Dziekuje za dotychczasowe odpowiedzi i pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 28 Sierpnia 2008 Udostępnij Opublikowano 28 Sierpnia 2008 Ogólną wiedzę o particlach możesz znaleźć tu: http://www.siggraph.org/education/material...on/particle.htm A particle wbudowane w gm to nie jest wcale taka trudna sprawa, no chyba że robimy jakiś super zaawansowany bajerancki efekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeeGee Opublikowano 28 Sierpnia 2008 Udostępnij Opublikowano 28 Sierpnia 2008 Eee tam... nawet podstawowymi metodami można uzyskać świetne efekty. Ostatecznie o to właśnie w GM chodzi, że można bardzo łatwo uczyć się "w locie" bez wstępnego studiowania masy dokumentacji. Particle Designer i kilka spojrzeń do helpa powinno każdemu rozgraniętemu człowiekowi wystarczyć do rozkminienia cząsteczek w godzinkę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 29 Sierpnia 2008 Udostępnij Opublikowano 29 Sierpnia 2008 Prosta zasada, najpierw tworzysz w Create jakiegoś obiektu SYSTEM CZĄSTECZEK. Pod zmienną np: pSystem GML pSystem=part_system_create(); Potem tworzysz emiter, czyli coś w rodzaju jednostki emitującej (tworzącej) twoje cząsteczki (powiedzmy ze pod zmienną pEmiter) GML pSystem=part_system_create(); pEmiter=part_emitter_create( pSystem ); /* w nawiasach podajesz zmienną zawierającą System w ktorym chcesz umiescic emiter */ Jeśli zauważyłeś, funcke związane z particlami zawsze zaczynaja się od "part_" więc teraz należy sobie stworzyć typ cząsteczek jakie będą emitowane. Typ zawiera takierzeczy jak ich wygląd, rozmiar, prędkośc, kierunek, kolor i wiele innych, w helpie masz spis. (zmienna pType) GML pSystem=part_system_create(); pEmiter=part_emitter_create( pSystem ); /* w nawiasach podajesz zmienną zawierającą System w ktorym chcesz umiescic emiter */ pType=part_type_create(); // bez argumentów (czyli nic w nawiasie) Ok to wszystko wystarczy już by emitować jakieś tam cząsteczki. Odbywa się to na tej zasadzie, że emiterowi podajemy typ cząsteczek jaki ma tworzyć. Jednak że puki co nasze cząsteczki będą mieć standardowe atrybuty, trzeba troche określić. GML pSystem=part_system_create(); pEmiter=part_emitter_create( pSystem ); /* w nawiasach podajesz zmienną zawierającą System w ktorym chcesz umiescic emiter */ pType=part_type_create(); // bez argumentów (czyli nic w nawiasie) // w funkcjach okreslajacych wyglad typu zawsze pierwszym argumentem jest zmienna przechowujaca nasz TYP part_type_alpha1(pType,1); //alpha to przezroczystosc naszych czasteczek 0-nie widoczne 1-w ogole nie przezroczyste part_type_life(pType,15,25); /* zycie oznacza to jak dlugo istniec maja poszczegolne particle 2argument to min ilosc 3 to max ilosc, zycie kazdej z czastek jest losowane z tego przedzialu a dlugosc to ilosc stepow(klatek na sekunde) gry.*/ part_type_size(pType,0.1,0.2,0,0); /* rozmiar, 2arg to min 3arg to max,4arg to o ile ma sie kazda czastka zwiekszac co stepa a 5arg to czy wielkosc particla ma sie losowo zmniejszac lub zwiekszac o podana ilosc. Pobaw sie tym to pojmiesz xD.*/ part_type_shape(pType,pt_shape_spark); /* jest to ksztalt jesli wpiszesz pt_shap to na dole GM sam podpowie ci dostepne ksztalty*/ part_type_color1(pType,c_white); // kolor part_type_speed(pType,0.5,1,0,0); /* szybkosc, znow min, max, zwiekszanie szybkosci i losowe zmnienianie tak samo jak size*/ part_type_direction(pType,0,359,0,0); // dziala tak samo jak speed tyle ze dotyczy kierunku ruchu Ostatnia sprawa, określasz w którym miejscu ma znajdować się twój emiter tworzący cząsteczki oraz ile cząsteczek ma być tworzonych na każdego stepa w STEP dajesz: GML part_emitter_region(sys,emit,x1,x2,y1,y2,ps_shape_diamond,ps_distr_gaussian); /* sys to zmienna z systemem || emit zmienna z emiterem, x'y i y'ki to zmienne ktore wyznaczają region (kwadrat) rysowany na podstawie punktow zlozonych z x1 i y1 oraz x2 i y2 (tak jak w paint rysujesz kwadraty i pierwszą pozycja jest to gdzie wcisniesz przycisk a 2 to gdzie go puścisz.) || ps_shape_diamond to kształt emitera, ciezko to wyjasnic, poprobuj roznych kształtow by zrozumieć, wszystko masz w helpie || ps_distr_gaussian tego nie potrafie wytlumaczyc, zajrzyj do helpa, jest to zalezne od tego jaki masz kształt emitera. */ part_emitter_burst(sys,emit,typ,2); // funkcja tworząca particle /* sys to system || emit to emiter || typ to twój typ paticli || ostatni argument to ilosc jaka ma zostac wytworzona, jesli dasz to do STEP to co stepa beda tworzone 2 nowe particle */ Pozycje emittera mozesz tez ustawic jednorazowo w CREATE jesli particle maja sie tworzyc tylko w jednym miejscu przez cały czas. Więcej możesz doczytać się w helpie, uh... EDIT: Aha :/ tag GML juz nie dziala... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kaara Opublikowano 29 Sierpnia 2008 Autor Udostępnij Opublikowano 29 Sierpnia 2008 Dzieki Pablo za tak obszerne przedstawienie mi funkcji. Tego mi było trzeba. ;) Myślę że teraz najlepszą nauką dla mnie będzie popróbowanie wiedzy w praktyce, w GM'ie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 29 Sierpnia 2008 Udostępnij Opublikowano 29 Sierpnia 2008 Ja także dołączam się do podziękowań ;) Zawsze miałem problem z particlami, ale mam nadzieję, że teraz pójdziej uż z górki ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę