Makary155 Opublikowano 8 Lutego 2008 Udostępnij Opublikowano 8 Lutego 2008 (edytowane) Niestety nie mogę dać przykładu, ponieważ mam wira na kompie, ale dam skrypt. Potrzebny wam będzie jakiś silnik 3d (Może być ten, co wykonał KonradGM) Tworzycie nowy obiekt i dajcie mu w Create: GML { depth=-1 //depth - jeśli ujemny, wtedy czasteczki sa ladniejsze z=0 //wysokość nad ziemia // tworzy system czasteczek ps = part_system_create(); part_system_automatic_draw(ps,false); //wyłączamy automat // czasteczki fajerwerkow pt1 = part_type_create(); part_type_shape(pt1,pt_shape_flare); part_type_size(pt1,0.1,0.2,0,0); part_type_speed(pt1,0.5,4,0,0); part_type_direction(pt1,0,360,0,0); part_type_color1(pt1,c_red); part_type_alpha2(pt1,1,0.4); part_type_life(pt1,20,30); part_type_gravity(pt1,0.2,270); // raca pt2 = part_type_create(); part_type_shape(pt2,pt_shape_sphere); part_type_size(pt2,0.2,0.2,0,0); part_type_speed(pt2,10,14,0,0); part_type_direction(pt2,0,0,0,0); part_type_color2(pt2,c_white,c_gray); part_type_life(pt2,30,60); part_type_gravity(pt2,0.2,270); part_type_death(pt2,150,pt1); // tworzy nowego fajerwerka jak poprzedni zginie // tworzenie emittera czasteczek em = part_emitter_create(ps); part_emitter_region(ps,em,100,540,480,490,ps_shape_rectangle,ps_distr_linear); part_emitter_stream(ps,em,pt2,-10); // tworzenie jednego co 10 stepów } Czyli nazwyklejsze fajerwerki z helpa, ale ze małą korektą part_type_dirtection i wyłączamy automatyczne rysowanie cząstek. Teraz wpisujemy w draw: GML d3d_transform_set_identity(); //reset d3d_transform_add_rotation_z(point_direction(x,y,Kamera.x,Kamera.y)); //obrot w strone kamery d3d_transform_add_rotation_y(90); //korekcja part_system_drawit(); //dopiero teraz rysuj czastki d3d_transform_add_translation(x,y,z); //zatwierdz pozycje d3d_transform_set_identity(); //reset Jeśli wszystko jest poprawne, to po wstawieniu do rooma i odpaleniu powinniśmy zobaczyć przyjemny dla oka pseudo-3d system cząsteczek. Należy pamiętać, że: -W stronę kamery są obracane systemy, a nie cząsteczki, -Jeśli ktoś podejdzie za blisko, zobaczy płaski jak papier fajerwerk, -Cząsteczki nie mają kolizji, -Nie możesz używać deflectors,attractors,changers,destroyers dla cząsteczek, -Widać je przez mgłę (d3d_set_fog), -Depth musi być mniejszy od 0, inaczej będziesz widział brzydkie obwódki przy cząsteczkach. Jeśli to wykorzystasz, proszę wspomnij o mnie w creditsach :) Edytowane 8 Lutego 2008 przez Makary155 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 9 Lutego 2008 Autor Udostępnij Opublikowano 9 Lutego 2008 Udało mi się napisać przykład na innym kompie: https://gmclan.org/up1510_11_3d_particle.html A tu macie screen: http://www.fotosik.pl/pokaz_obrazek/321e5acde9d91e25.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 9 Lutego 2008 Udostępnij Opublikowano 9 Lutego 2008 Fajne, ale trochę płaskie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 9 Lutego 2008 Autor Udostępnij Opublikowano 9 Lutego 2008 Wiem, że płaskie. Można spróbować tworzyć wiele obiektow z pojedynczymi particlami, ale strasznie będzie pochłaniać RAM. GM pierwotnie był zaprojektowany pod 2d, więc za dużo w 3d nie oferuje. Chyba powrócę do ultimate 3d. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
sebolek Opublikowano 10 Lutego 2008 Udostępnij Opublikowano 10 Lutego 2008 Ładny przykład. :thumbsup: Przyda mi się. 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ę