파티클 방출기 상대 모드 설정
이 문서는 파티클 방출기의 상대 모드 설정에 대한 내용을 다룹니다. 상대 모드가 활성화되면 생성되는 파티클의 수가 방출기 영역에 따라 달라집니다.
사용 설명
part_emitter_region
을 사용하여 설정한 방출기 영역이 클수록 더 많은 파티클이 생성됩니다.part_emitter_stream
및part_emitter_burst
함수의number
매개변수는 방출기 영역의 몇 퍼센트를 새로운 파티클로 채울지를 나타냅니다.- 기본적으로
part_emitter_create
를 사용하여 생성된 새로운 파티클 방출기는 상대 모드가 비활성화되어 있습니다.
문법
part_emitter_relative(ps, ind, enable);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
ps | Particle System ID | 방출기가 속한 파티클 시스템의 인덱스 |
ind | Particle Emitter ID | 파티클 방출기의 인덱스 |
enable | Boolean | 방출기의 상대 모드를 활성화 또는 비활성화할지 여부 |
반환값
- N/A
예제
생성 이벤트
ps = part_system_create();
pe = part_emitter_create(ps);
part_emitter_region(ps, pe, 20, 120, 20, 120, ps_shape_rectangle, ps_distr_linear);
part_emitter_relative(ps, pe, true);
pt = part_type_create();
part_type_shape(pt, pt_shape_flare);
part_emitter_stream(ps, pe, pt, 2);
위 코드는 파티클 시스템 ps
를 생성하고, 그 안에 하나의 방출기 pe
를 추가합니다. 방출기는 (20, 20)에서 시작하여 100x100 픽셀의 직사각형 영역에서 파티클을 방출하도록 설정됩니다. 이후 상대 모드가 활성화됩니다. 다음으로, 파티클 타입을 생성하고 pt_shape_flare
형태로 설정합니다. 마지막으로, 방출기는 생성된 타입의 파티클을 지속적으로 방출하도록 설정됩니다. 상대 모드가 활성화되었기 때문에 number
의 값인 2는 방출기가 매 스텝마다 방출기 영역의 2%를 채우기 위해 필요한 파티클 수를 생성함을 의미합니다.
활용 예제
예제 1: 다양한 모양의 파티클 방출
// 원형 파티클 방출기 생성
part_emitter_region(ps, pe, 50, 150, 50, 150, ps_shape_circle, ps_distr_random);
part_emitter_relative(ps, pe, true);
part_emitter_stream(ps, pe, pt, 5);
예제 2: 파티클 폭발 효과
// 폭발 효과를 위한 방출기 설정
part_emitter_burst(ps, pe, pt, 10);
예제 3: 시간에 따른 파티클 수 조절
// 매 프레임마다 방출되는 파티클 수 조절
if (some_condition) {
part_emitter_stream(ps, pe, pt, 3);
} else {
part_emitter_stream(ps, pe, pt, 1);
}
이와 같은 방식으로 상대 모드를 활용하여 다양한 파티클 효과를 구현할 수 있습니다.