본문 바로가기
GameMaker강좌[GM8]/파티클강좌

[게임메이커강좌-파티클]파티클 응용편2

by 타락카얀 2014. 2. 9.
728x90



GAME MAKER 강좌



KAYAN



이전 강좌에서 알아본 함수를 응용하여 아래와 같은 파티클을 만들어 봅시다.



(▲ 파티클)






◈ 파티클 응용



이번 강좌에서는 아래와 같은 형태의 파티클을 만들거에요.



(▲ 파티클)


음... 이전 강좌보다 복잡해보이죠.
하지만 아래의 생성과정을 보시면 달라지실 겁니다.


(▲ 파티클 생성)


캬~ 간단하죠.

처음에 큰 이미지로 파티클을 생성해서 점차 작게 변하게 하는 겁니다.

하나만 놓고 보면 별볼일 없는 이펙트처럼 보이지만, 이와 같은 형태의 파티클을 많이 뭉쳐놓으면

위와 같은 효과를 줄 수 있습니다.

대부분의 파티클 이펙트는 파티클을 한꺼번에 많이 생성하여 만들어지는 형태를 사용합니다.


파티클을 설정하는 순서는 이전 강좌의 응용편과 같습니다.
처음에 해야 할 것은 파티클을 관리할  파티클 시스템을 만드는 것이지요.
두번째는 파티클 타입의 모양과, 이동에 대해 설정을 하게 됩니다.
세번째는 파티클을 생성하기 위해 파티클 이미터를 만드는 겁니다.

이제 파티클을 만들어 볼까요.
먼저 파티클을 설정할 오브젝트를 하나 만듭니다.



(▲ 파티클을 설정할 오브젝트)


다음은 파티클 시스템을 만들어야 겠지요.
Create 이벤트를 추가하고, 파티클 시스템을 만듭니다.



     ★ Create 이벤트

     Sname=part_system_create();



이제 파티클 타입을 설정해야겠죠.



(▲ 파티클 종류)


우리가 만들어야할 파티클 종류는 pt_shape_smoke 군요.
Create 이벤트에서 파티클 타입을 설정해요.



     ★ Create 이벤트

     particle1 = part_type_create();//파티클 타입 생성

     part_type_shape(particle1,pt_shape_smoke);//파티클의 종류
     part_type_life(particle1,50,90);//파티클의 수명(랜덤)
     part_type_size(particle1,0.5,2,-0.01,0);//파티클의 크기(랜덤)
     part_type_color3(particle1,c_white,c_yellow,c_red);//파티클의 색상(변화)
     part_type_alpha2(particle1,1,0);//파티클의 투명도(변화)



처음에는 파티클을 큰 사이즈로 생성해서 파기될때까지 점점 작게 변하게 하는 거에요.
그리고 색상은 흰색(c_white) ▶ 노란색(c_yellow) ▶ 빨간색(c_red) 순으로 점차 변하게 합니다.

이동 방향을 정해야겠지요.



     ★ Create 이벤트

     part_type_speed(particle1,2,3,-0.05,0);//파티클 이동 속도(랜덤)
     part_type_direction(particle1,0,360,0,0);//파티클 이동 방향(랜덤)
     part_type_orientation(particle1,0,0,1,0,1);//파티클 이미지 방향(랜덤)



이동 방향은 360 방향 내에 랜덤 방향으로 이동하게 합니다.
그리고 파티클 이미지는 1의 속도로 회전하게 합니다.

기본적인 파티클 설정은 끝났습니다.







이제 이 파티클을 파티클 이미터를 통해 생성할 것입니다.



     ★ Create 이벤트

     emitter1 = part_emitter_create(Sname);//파티클 이미터 생성

     part_emitter_region(Sname,emitter1,x-16,x+16,y-16,y+16,ps_shape_ellipse,ps_distr_linear);//생성 범위
     part_emitter_stream(Sname,emitter1,particle1,5);//파티클 생성

     part_system_draw_order(Sname,1);//파티클 생성시 표시 순서



파티클 이미터에서 파티클 생성 범위 및 생성 분포와, 생성할 파티클과, 생성 수를 설정합니다.


드디어 완성되었습니다.
복잡해 보였지만, 원리는 단순했죠.
제대로 생성되는지 룸에 파티클이 설정된 오브젝트를 배치하고 테스트 해봅시다.



(▲ 테스트 화면)

처음 보기에는 복잡한 설정을 거칠 것이라 생각했지만, 1개를 따로 놓고 보면 원리는 단순했지요.

이와 같이 간단한 이펙트라도 한꺼번에 많이 모아놓으면 멋진 효과를 줄 수 있습니다.

여러분이라면 이를 응용해 더 멋진 파티클 이펙트를 만드실 수 있을 거라 생각합니다.







------- 예 제 -------


particle_EX2.gmk


particle_EX2.exe



300x250

댓글