파티클 시스템의 글로벌 스페이스 활성화
이 문서는 주어진 파티클 시스템에 대해 글로벌 스페이스 파티클을 활성화하는 방법에 대해 설명합니다. 글로벌 스페이스 파티클이 비활성화된 상태(기본값)에서는 파티클의 위치가 파티클 시스템의 위치에 상대적입니다. 즉, 파티클 시스템을 이동하면 그 안의 파티클도 함께 이동합니다. 글로벌 스페이스를 활성화하면 파티클 시스템을 이동해도 그 안의 파티클은 이동하지 않습니다. 이 기능은 예를 들어 파티클의 흔적을 만드는 데 유용합니다.
기능 설명
기능 | 설명 |
---|---|
글로벌 스페이스 비활성화 | 파티클은 파티클 시스템의 위치에 따라 이동합니다. |
글로벌 스페이스 활성화 | 파티클 시스템을 이동해도 파티클은 고정된 위치에 남아 있습니다. |
예시
아래 예시는 파티클 시스템이 인스턴스를 따라 움직이며 파티클의 흔적을 남기는 방법을 보여줍니다.
// Create Event
ps = part_system_create();
part_system_global_space(ps, true);
pe = part_emitter_create(ps);
pt = part_type_create();
part_type_shape(pt, pt_shape_flare);
part_type_direction(pt, 0, 360, 0, 0.3);
part_type_speed(pt, 0.1, 0.2, 0, 0.01);
part_type_scale(pt, 0.3, 0.3);
part_emitter_stream(ps, pe, pt, 2);
// Step Event
part_system_position(ps, x, y);
part_system_angle(ps, direction);
// Clean Up Event
part_emitter_destroy(pe);
part_system_destroy(ps);
part_type_destroy(pt);
코드 설명
- Create Event: 파티클 시스템을 생성하고 글로벌 스페이스를 활성화합니다. 파티클 방출기와 파티클 타입을 설정합니다.
- Step Event: 파티클 시스템의 위치와 각도를 인스턴스의 위치와 방향에 맞춥니다.
- Clean Up Event: 메모리 누수를 방지하기 위해 방출기, 시스템 및 타입을 파괴합니다.
활용 예제
1. 파티클 비주얼 효과
// Create Event
ps = part_system_create();
part_system_global_space(ps, true);
pe = part_emitter_create(ps);
pt = part_type_create();
part_type_shape(pt, pt_shape_flare);
part_type_color(pt, c_red, c_yellow);
part_emitter_stream(ps, pe, pt, 5);
2. 배경 효과
// Create Event
ps = part_system_create();
part_system_global_space(ps, true);
pe = part_emitter_create(ps);
pt = part_type_create();
part_type_shape(pt, pt_shape_circle);
part_type_speed(pt, 0.5, 1);
part_emitter_stream(ps, pe, pt, 3);
3. 게임 오브젝트의 흔적
// Create Event
ps = part_system_create();
part_system_global_space(ps, true);
pe = part_emitter_create(ps);
pt = part_type_create();
part_type_shape(pt, pt_shape_star);
part_type_scale(pt, 0.1, 0.5);
part_emitter_stream(ps, pe, pt, 4);
이와 같은 방법으로 다양한 파티클 효과를 생성할 수 있습니다.