입자 방향 설정 (Set Particle Orientation)
이 액션은 입자의 방향을 설정하는 데 사용됩니다. 입자의 이미지가 그려질 각도를 설정할 수 있으며, 이는 정적인 값이거나 시간에 따라 증가/감소할 수 있습니다.
## 기능 설명
이 기능을 사용하려면 다음과 같은 정보를 제공해야 합니다:
- **고유 ID 값**: 생성한 입자 타입의 고유 ID 값.
- **최소 초기 방향**: 입자가 생성될 때의 최소 방향.
- **최대 초기 방향**: 입자가 생성될 때의 최대 방향.
- **증가량**: 입자의 방향에 추가될 값.
- **휘둥그레짐(웅크림)**: 입자 이미지 각도에 랜덤으로 추가되거나 빼질 값.
### 입자 방향의 각도
- 0도는 오른쪽, 90도는 위쪽, 180도는 왼쪽, 270도는 아래쪽을 나타냅니다.
- 최소 0도에서 최대 360도까지 설정하여 360도 주위에서 랜덤하게 회전하는 입자를 생성할 수 있습니다.
### 방향 증가
입자 오리엔테이션의 증가 옵션을 사용하면, 입자의 생명 주기 동안 각 게임 프레임마다 기본 각도에 추가될 값을 입력할 수 있습니다. 예를 들어, 0.1로 설정하면 매 게임 프레임마다 0.1이 추가됩니다.
- **양수** 값은 반시계 방향으로 회전하고, **음수** 값은 시계 방향으로 회전합니다.
- 수용 가능한 최소 감소량은 -0.01, 최소 증가량은 0.01입니다.
### 휘둥그레짐 설정
푸.Dynamic 휘둥그레짐 옵션을 사용하면, 지정한 값 범위 내에서 랜덤하게 생성된 값을 각 단계에서 입자의 이미지 각도에 추가하거나 뺄 수 있습니다. 이 값의 최대 범위는 -20에서 20까지입니다.
### 방향 상대 설정
입자의 속도가 감소하여 0에 도달하면 입자의 방향이 기본 값인 0도로 설정됩니다. 상대 지향을 활성화하면, 입자 이미지는 해당 벡터를 기반으로 배치됩니다.
## 액션 구문
|인자|설명|유형|
|---|---|---|
|Type|방향을 설정할 입자 타입의 고유 ID 값|정수|
|Min Angle|입자 타입의 최소 방향 (기본값: 0, 범위: -360 ~ +360)|정수|
|Max Angle|입자 타입의 최대 방향 (기본값: 360, 범위: -360 ~ +360)|정수|
|Increase|게임 프레임마다 입자 타입의 방향에 추가될 값 (최소 +/-0.01 가능)|숫자|
|Wiggle|각 단계에서 입자의 방향에 무작위로 추가되거나 빼질 최대 값 (범위: +/-20)|숫자|
|Relative To Direction|입자의 운동 방향에 따라 이미지 각도를 설정할지 여부 (활성화/비활성화)|불리언|
## 예제 코드
다음의 코드는 새로운 입자 타입을 생성하고 모든 속성을 설정하는 예제입니다:
```gml
// 입자 타입 생성
var particleType = createParticleType();
// 입자 방향 설정
setParticleOrientation(particleType, 0, 360, 0.1, 5, true);
이 예제에서 createParticleType()는 새로운 입자 타입을 생성하고, setParticleOrientation 함수를 사용하여 방향을 설정합니다.
활용 및 응용 예제
- 포탈 효과: 입자가 포탈에서나오는 효과를 줄 때, 랜덤하게 입자의 방향과 회전을 설정하여 더욱 생동감 있게 만듭니다.
- 폭발 효과: 폭발할 때 입자들이 다양한 방향으로 퍼지는 효과를 만들기 위해 이 기능을 활용할 수 있습니다.
- 입자 비릿기 만들기: 물체가 전진하면서 회전하는 애니메이션을 만들기 위해 입자 방향 증가을 설정합니다.
위와 같은 설정을 통해 더욱 역동적이고 매력적인 그래픽 효과를 얻을 수 있습니다. ```