프로그래밍 강의/게임메이커 스튜디오

GMS, 파티클로 아름다운 이펙트를 만들어보자 -1-

wnsrn3436 2013. 9. 15. 15:14

 

여러분들은 이펙트를 스프라이트로 그릴 수도 있지만, 파티클(Particle)이라는 시스템으로 컴퓨터로 만들 수도 있습니다.

게임메이커: 스튜디오(GameMaker: Studio)는 이런 파티클 기능을 쉽게 구현할 수 있게 해줍니다.

 

파티클은 게임메이커의 오브젝트의 기능과 매우 유사합니다.

속도, 가속도, 중력, 가변 크기, 생명, 파티클이 파괴될 시 파티클 생성 등 여러 가지 기능을 제공합니다.

 

 

당신은 강좌를 읽기 전에 게임메이커: 스튜디오의 도움말을 참조하여 어떤 파티클에 함수가 있는지 살펴보는 것이 좋습니다.

파티클을 조작하는 함수는 매우 다양하므로 강좌에서는 충분히 다루질 못합니다.

 

파티클의 생성은 기본적으로 '파티클 시스템 -> 파티클 타입 -> 파티클 이미터' 순서를 거치게 됩니다.

그러나 파티클 타입은 파티클 시스템에 종속되지 않으므로 어느 곳에서든 생성해도 상관은 없습니다.

 

 

먼저 파티클 시스템을 만듭니다.

파티클 시스템에서는 파티클의 깊이를 설정하거나 파티클을 직접 생성할 수도 있습니다. (보통은 파티클 이미터로 생성하지만요.)

 

 

다음으로 파티클 타입을 정의합니다.

저는 파티클 타입의 모양을 part_type_sprite 함수로 특정 스프라이트를 지정하여 만들었습니다.

 

하지만 여러분은 part_type_shape 함수로 아래와 같은 게임메이커에서 기본으로 제공하는 모양을 사용할 수도 있습니다.

위 이미지는 게임메이커: 스튜디오 도움말에서 얻어온 것입니다.

겜스 도움말에 파티클에 대한 정보가 그만큼 많습니다.

 

또한,

 

part_type_size

part_type_scale

part_type_color3

part_type_alpha3

part_type_speed

part_type_direction

part_type_gravity

part_type_orientation

part_type_blend

part_type_life

 

등의 함수로(함수는 이보다 더 많습니다) 파티클 타입의 매 스탭마다의 변화하는 모양을 만들 수가 있습니다.

속도와 중력 또한 매 스탭마다 변화하게 할 수가 있고요.

 

 

이제 파티클 이미터로 매 스탭마다 파티클을 생성하게 하면 끝입니다.

 

part_emitter_region 함수에서는 파티클의 등장 범위를 설정할 수 있습니다.

도움말을 보시면 아시겠지만, ps_shape_rectangle 와 ps_distr_linear 등의 상수로 파티클의 범위에서의 분포도를 설정하게 할 수가 있게 됩니다.

 

part_emitter_stream 함수는 파티클을 매 스탭마다 생성하게 합니다.

마지막 인자는 매 스탭마다 생성되는 파티클의 개수를 설정하게 하며, 이 값에 음수가 들어가면 평균적으로 그 음수만큼의 스탭에 파티클이 생성되게 됩니다.

 

Particle 1.gmz

 

http://cafe.naver.com/playgm

Comments