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

[게임메이커강좌-파티클]파티클 디자이너를 사용하여 파티클 구성

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



GAME MAKER 강좌



KAYAN



이번 강좌에서는 게임메이커에서 파티클을 쉽게 구성하도록 도와주는 파티클 디자이너에 대해 알아보도록 합시다.







◈파티클 디자이너를 사용하여 파티클 구성



파티클 디자이너는 게임메이커에서 파티클을 손쉽게 사용할 수 있도록 구성해주는 프로그램입니다.



(▲ 파티클 디자이너)


파티클 디자이너를 사용하면 편하기도 하지만, 무엇보다도 좋은 점은 파티클을 구성하면서 어떤 식으로

형성되는지 미리 볼 수 있다는 점이지요. 값을 변경해도 바로 테스트해 볼 수 있기 때문에 몇 분간의

작업만으로 복잡한 유형의 파티클을 쉽게 구성할 수 있어, 작업 효율도 매우 좋은 편입니다.



(▲ 파티클 디자이너 주요 기능)


파티클 디자이너는 파티클 이미터, 파티클 타입을 추가하거나, 세부 설정할 수 있습니다.
이미 이전 강좌에서 알아보았듯이 파티클 타입은 입자를 나타내고,

파티클 이미터는 파티클을 방출 시키는 방사체 기능을 합니다.



(▲ 파티클의 구성)


또한 파티클 어트랙터는 파티클을 끌어들이는 기능이고,
파티클 체인저는 파티클이 지정범위에 들어왔을 때 다른 파티클 타입으로 변경할 수 있으며,
파티클 디플랙터는 파티클이 지정범위에 들어왔을 때 밀어내는 기능이고,
파티클 디스트로이어는 파티클이 지정범위에 들어왔을 때 파기 시키는 기능입니다.


주의 하실것은 파티클 디자이너에서의 기능들은 게임메이커 8.x에서는 모두 작동되지만, 게임메어커

스튜디오에서 파티클 어트랙터, 파티클 디플랙터, 파티클 체인저, 파티클 디스트로이어

아쉽게도 기능 기되어 사용할 수 없다는 점입니다. 그렇기 때문에 게임메이커 스튜디오

사용자들은 이 점을 숙지하시고 파티클을 구성하도록 하세요.

파티클 이미터의 주요 설정은 아래와 같습니다.



(▲ 파티클 이미터 설정)


x1, y1, x2, y2 는 파티클을 생성하는 범위입니다.
값을 모두 0으로 하면 오브젝트의 (x, y) 위치로 이미터의 위치가 설정되며, 하나라도 0이 아니면

절대 위치로 변경됩니다.

shape 모양은 다음과 같습니다.

     rectangle : 사각형 모양
     ellipse : 타원형 모양
     diamond : 다이아몬드 모양
     line : 선형 모양

distribution 는 파티클 생성시 분포형태를 지정하게 됩니다.

     linear : 범위 내에 모든 곳의 동일한 분포로 파티클을 생성
     gaussian : 범위 내에 중심부를 중점으로 파티클을 생성

number에는 매 스텝 당 파티클 이미터에서 방출하는 파티클의 수를 지정합니다. 양수로 지정하면

지정한 수만큼 생성되며, 음수로 지정할 경우 랜덤 수만큼 생성합니다.
하지만 파티클을 너무 많이 생성하면 게임이 느려질 수 있으니 그것을 감안하여 적당한 수를

지정하도록 해요.

파티클 디자이너에서 파티클 이미터는 총 3개까지 만들 수 있어요.

다음은 파티클 타입 설정에 대해 알아보도록 합시다.



(▲ 파티클 타입 설정)


이전 강좌에서 알아본 기능들이 모두 있지요.
강좌를 보신분은 어떠한 값이 들어가는지 대충 아실거라 생각합니다.

Sprite는 파티클 모양을 기본모양이 아닌 스프라이트 이미지로 할 경우, Sprite 버튼을 누르고

지정하면 됩니다. 주의 하실것은 part_type_sprite 함수만 추가되는 것이라, 게임메이커에

적용할 때는 part_type_sprite함수의 스프라이트 인자에 올바른 스프라이트 이름을 지정해야 합니다.


파티클 모양을 기본 모양으로 할 경우 Sprite 버튼 옆의 수치 입력란을 누르면 모양을 선택할 수

있습니다.

파티클의 기본 모양은 아래와 같아요.



(▲ 파티클의 기본 모양)


Size는 크기, Scale은 파티클의 확대/축소치를 지정해요.


Color는 파티클의 색을 지정하게 됩니다. 총 3가지의 색을 지정할 수 있는데, 이전에도

알아 보았듯이 파기 될 때 까지의 변화하는 색을 지정하는 것입니다.

Alpha는 파티클의 투명도를 지정합니다. Color와 마찬가지로 파기 될 때 까지의 투명도 변화하는 값을

지정합니다.

Blend는 파티클에 가산혼합을 할것인지 지정합니다. 0 또는 1을 지정할 수 있는데, 두 값의 차이는

아래의 그림과 같이 0은 원래 지정한 색으로 표시되고, 1로 지정하면 가산혼합을 하여 표시됩니다.



(▲ Blend 적용 차이)


Speed는 파티클의 이동 속도를 지정하며, Direction은 이동 방향을 지정합니다.

그리고 Orientation는 파티클의 이미지 회전, Gravity는 중력 방향과 중력, Life는 파티클의 수명을

지정해요.


파티클 타입 역시 3종류까지 만들 수 있습니다.








◈ 파티클 테스트



프로그램의 아래 쪽에 있는 Clear, Test Burst, Test Stream 는 파티클 디자이너에서 작업한 파티클

설정을 미리 테스트를 해볼 수 있게 하는 기능입니다.



(▲ 파티클 테스트 기능)


emt는 생성할 파티클의 수, Room speed은 룸의 속도입니다. 지정한 룸의 속도에 어떤 식으로

생성되는지 볼 수 있습니다.



(▲ 파티클 테스트)


Clear는 테스트 중인 파티클을 모두 클리어 할 때 사용해요.
Test Burst는 작업한 파티클을 1회 방출 시킬 때 사용(part_emitter_burst)하며, Test Stream은 작업한

파티클을 매 스텝에 어떻게 생성되는지 테스트할 때 사용(part_emitter_stream)합니다.
단, 게임메어커에서 적용할 때는 part_emitter_stream 함수로 설정됩니다.

게임메이커에 적용할 때는 Export 메뉴 All Particles File 또는 Clipboard를 통해 적용할 수

있습니다.
File*.gml 파일로 저장되며, 게임메이커 스크립트에 불러와 사용하고자 할때 사용합니다.
Clipboard는 스크립트에 Ctrl + V 단축키로 바로 붙여 넣을 수 있는 기능입니다. 이 기능은 프로그램에서

작업한 내용을 윈도우 단축키로 바로 붙여 넣어 사용할 수 있지요.

작업한 파티클 정보는 보통, 아래와 같이 오브젝트의 Create 이벤트에서 파티클 이벤트를 적용합니다.



(▲ Create 이벤트에 작업한 파티클 이벤트를 붙여넣음)


하지만 이대로 적용하면 오류가 생길 것입니다.

왜냐하면 파티클 시스템이 없기 때문이지요.

해결법은 간단해요. 아래와 같이 첫줄에 파티클 시스템을 추가해주기만 하면 됩니다.



(▲ 맨 첫줄에 파티클 시스템을 추가)


게임메이커에 적용하고 모든 작업이 끝나면 파티클 이벤트를 구성한 오브젝트를 룸에 추가하면 됩니다.


적용한 파티클은 고정된 위치에 생성되기 때문에, 오브젝트가 이동하는 위치나 변경된 위치에 파티클을

생성하고 싶다면, part_emitter_region 함수를 Step 이벤트에도 추가해야해요.



(▲ 오브젝트가 이동하면서 파티클을 생성)


여러분도 파티클 디자이너를 사용하면 간단한 조작만으로도 화려하고, 멋진 그래픽을 만들 수 있을

거에요.
파티클의 매력에 빠져봅시다!





--------- 파티클 디자이너 ---------


ParticleDesigner2_51.zip




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


particle_example1.gmk


particle_example1.exe




300x250

댓글