이차 입자 설정하기
이 문서에서는 주요 입자와 함께 이차 입자를 사용하는 방법에 대해 설명합니다. 주요 입자의 ID 값을 입력하고, 특정 이벤트에 따라 이차 입자를 발사하도록 설정할 수 있습니다.
기본 개념
- 주요 입자: 처음 설정한 입자 타입.
- 이차 입자: 주요 입자에 의해 발사되는 입자.
이벤트 유형
- 매 프레임 (
Per Step): 주요 입자가 화면에 존재하는 동안 매 프레임마다 이차 입자를 발사합니다. - 예: 로켓의 "불꽃" 입자가 매 프레임에서 "연기" 입자를 발산.
- 죽음 시 (
On Death): 주요 입자가 생명 주기를 끝냈을 때만 이차 입자를 발사합니다. - 예: 폭발 입자가 생명 주기를 마감할 때 "먼지" 입자를 발산.
주의 사항
- 같은 입자 타입 ID를 주요 입자와 이차 입자에 사용할 수 없습니다.
- 많은 입자를 생성하면 성능 문제가 발생할 수 있으므로, 주요 및 이차 입자 모두의 생명 주기와 수를 제한해야 합니다.
- 이차 입자는 모든 입자 타입에 할당할 수 있으며, 이를 통해 "입자 체인"을 생성할 수 있습니다. 한 입자가 다른 입자를 생성하고, 그 입자가 다시 다른 입자를 생성하는 식입니다.
액션 문법
인수 설명
| 인수 | 설명 |
|---|---|
| Type ID | 이차 입자에 할당할 입자 타입의 ID 값 |
| Event | 이차 입자를 생성할 시점, "Per Step" 또는 "On Death" |
| Secondary | 선택한 이차 이벤트에서 발사할 입자 타입의 ID 값 |
| Count | 선택한 이차 이벤트에서 생성할 이차 입자의 수 |
예제 코드
이 코드는 p_fire라는 변수에 저장된 ID를 사용하여 두 개의 이차 입자를 주요 입자에 할당합니다.
// 이차 입자를 설정하는 코드 예제
var p_fire = 1; // 주요 입자 ID
SetSecondaryParticles(p_fire, "Per Step", 2);
다양한 활용 및 응용 예제
- 로켓과 연기
- 로켓 입자가 불꽃 입자로 구성되고, 각 불꽃은 연기 입자를 발사합니다.
gml var rocketID = 2; SetSecondaryParticles(rocketID, "Per Step", 1); // 매 프레임마다 연기 발사
- 폭발 효과
- 폭발 입자가 파괴될 때 먼지 입자를 생성합니다.
gml var explosionID = 3; SetSecondaryParticles(explosionID, "On Death", 5); // 폭발 시 5개의 먼지 생성
- 입자 체인
- 첫 번째 입자가 두 번째 입자를 생성하고, 두 번째 입자가 세 번째 입자를 생성합니다.
gml var chainParticle1 = 4; var chainParticle2 = 5; SetSecondaryParticles(chainParticle1, "Per Step", 1); SetSecondaryParticles(chainParticle2, "On Death", 1);
요약
이 문서에서는 이차 입자를 설정하는 방법과 그 활용 예제를 소개했습니다. 입자 효과는 게임에 풍부함을 더해줄 수 있지만, 성능에 주의하면서 효과적으로 활용해야 합니다.