# VFX

## 개요

VFX 오브젝트는 게임에 시각적 요소를 추가하여 몰입감과 생동감을 높이는 데 사용됩니다. 이펙트는 주로 Part, 캐릭터, 환경 등에 적용되며, 다양한 상황에서 게임 플레이의 재미를 극대화하는 데 기여합니다.

## VFX의 종류

<table><thead><tr><th width="194">VFX</th><th>설명</th><th>예시</th></tr></thead><tbody><tr><td>ParticleEmitter</td><td>입자를 생성</td><td>불꽃, 연기, 폭발, 마법, 물방울 등</td></tr><tr><td>Beam</td><td>두 점 사이를 연결</td><td>레이저, 전기, 에너지 빔 등</td></tr><tr><td>Trail</td><td>잔상(궤적) 효과</td><td>스피드 부스트, 마법 궤적, 총알 흔적 등</td></tr><tr><td>VFXPreset</td><td>총 27종의 효과가 사전 구성된 VFX 프리셋</td><td>Fire, Heal, Barrier, Dash 등</td></tr></tbody></table>

## ParticleEmitter

<figure><img src="/files/DmT1RqWw09sP8jctiE7t" alt=""><figcaption></figcaption></figure>

### 프로퍼티 구성

<table><thead><tr><th width="251">프로퍼티</th><th>설명</th></tr></thead><tbody><tr><td>Acceleration</td><td>가속도의 방향과 크기</td></tr><tr><td>Brightness</td><td>밝기</td></tr><tr><td>Color</td><td>입자의 색상</td></tr><tr><td>Light Emission</td><td>빛을 발산하는 정도</td></tr><tr><td>Orientation</td><td><p>회전 방향</p><ul><li>Facing Camera : 파티클이 항상 카메라(플레이어가 보는 방향)를 향하도록 정렬</li><li>Facing Camera World Up : 파티클이 카메라를 향하지만, 파티클의 "위쪽"은 항상 월드 좌표의 위쪽(Y축)을 유지</li><li>Velocity Parallel : 파티클이 이동하는 속도 벡터와 평행하게 정렬</li><li>Velocity Perpendicular : 파티클이 이동하는 속도 벡터에 수직으로 정렬</li></ul></td></tr><tr><td>Size</td><td>크기</td></tr><tr><td>Texture</td><td>파티클에 사용할 텍스처 Id (ovdrassetid://번호 형식)</td></tr><tr><td>Transparency</td><td>투명도</td></tr><tr><td>Drag</td><td>공기 저항</td></tr><tr><td>Enabled</td><td>활성화 여부</td></tr><tr><td>Emission Direction</td><td><p>생성되는 방향</p><ul><li>Top : 파티클이 위쪽으로 방출</li><li>Right : 파티클이 오른쪽으로 방출</li><li>Back : 파티클이 뒤쪽으로 방출</li><li>Left : 파티클이 왼쪽으로 방출</li><li>Bottom : 파티클이 아래쪽으로 방출</li><li>Front : 파티클이 앞쪽으로 방출</li></ul></td></tr><tr><td>Life Time</td><td>개별 입자가 생성된 후 사라지기까지의 시간</td></tr><tr><td>Rate</td><td>초당 생성되는 개수</td></tr><tr><td>Rot Speed</td><td>회전 속도</td></tr><tr><td>Rotation</td><td>초기 회전 각도</td></tr><tr><td>Speed</td><td>초기 속도</td></tr><tr><td>Spread Angle</td><td>파티클이 생성될 때의 각도 범위</td></tr><tr><td>Squash</td><td>파티클의 압축 효과</td></tr><tr><td>Flipbook Layout</td><td><p>텍스처 시트의 행과 열</p><ul><li>None : Flipbook 애니메이션 미사용</li><li>Grid 2x2 : 텍스처를 2x2 그리드로 분할</li><li>Grid 4x4 : 텍스처를 4x4 그리드로 분할</li><li>Grid 8x8 : 텍스처를 8x8 그리드로 분할</li></ul></td></tr><tr><td>Flipbook Framerate</td><td>애니메이션 텍스처의 프레임 속도</td></tr><tr><td>Flipbook Mode</td><td><p>텍스처 애니메이션의 모드</p><ul><li>Loop : 애니메이션이 처음부터 끝까지 반복적으로 재생</li><li>One Shot : 애니메이션이 한 번만 재생</li><li>Ping Pong : 애니메이션이 처음부터 끝까지 재생된 후, 반대로 끝에서 처음으로 재생</li><li>Random : 텍스처의 애니메이션 프레임을 무작위 순서로 재생합</li></ul></td></tr><tr><td>Flipbook Start Random</td><td>애니메이션이 임의의 프레임에서 시작되도록 설정</td></tr><tr><td>Shape</td><td><p>파티클이 생성되는 기본 모양</p><ul><li>Box : 파티클이 박스 형태의 영역에서 생성</li><li>Sphere : 파티클이 구체 형태의 영역에서 생성</li><li>Cylinder : 파티클이 원기둥 형태의 영역에서 생성</li><li>Disc : 파티클이 평평한 원반 형태의 영역에서 생성</li></ul></td></tr><tr><td>Shape in Out</td><td><p>파티클이 생성 및 소멸되는 과정에서의 이동 패턴을 설정</p><ul><li>Outward : 파티클이 설정된 Shape 영역 바깥 방향으로 방출</li><li>One : 파티클이 설정된 Shape 영역의 안쪽으로 향해 방출</li></ul></td></tr><tr><td>Shape Style</td><td><p>파티클 생성 시 모양 스타일을 설정</p><ul><li>Volume : Shape의 전체 부피에서 랜덤한 위치에서 생성</li><li>Surface : Shape의 표면에서만 생성</li></ul></td></tr><tr><td>LockedToPart</td><td>파티클이 부착된 객체가 움직일 때, 입자들이 함께 이동할지 여부</td></tr></tbody></table>

### 스크립트 기능

{% content-ref url="/pages/4KtiWoXxEXbxn7sobheZ" %}
[ParticleEmitter](/korean/development/api-reference/classes/particleemitter.md)
{% endcontent-ref %}

## Beam

<figure><img src="/files/lwax0QY4DfwJ60VK6iSr" alt=""><figcaption></figcaption></figure>

두 개의 Attachment 사이를 연결하는 오브젝트입니다. 시작점과 끝점을 지정하면 자동으로 연결되며, 레이저, 전기, 에너지 빔 같은 효과를 만들 때 사용됩니다.

### 프로퍼티 구성

<table><thead><tr><th width="251">프로퍼티</th><th>설명</th></tr></thead><tbody><tr><td>Color</td><td>Beam의 색상</td></tr><tr><td>Enabled</td><td>활성화 여부</td></tr><tr><td>Texture</td><td>Beam의 텍스처</td></tr><tr><td>Texture Length</td><td>텍스처 반복 길이</td></tr><tr><td>Texture Speed</td><td>텍스처 이동 속도</td></tr><tr><td>Transparency</td><td>투명도</td></tr><tr><td>Attachment 0</td><td>Beam의 시작점</td></tr><tr><td>Attachment 1</td><td>Beam의 끝점</td></tr><tr><td>CurveSize0</td><td>Attachment0과 함께 빔을 구성하는 배지어 곡선의 두 번째 제어점 위치를 정의</td></tr><tr><td>CurveSize1</td><td>Attachment1과 함께 빔을 구성하는 배지어 곡선의 세 번째 제어점 위치를 정의</td></tr><tr><td>Width 0</td><td>Beam의 시작 부분 너비</td></tr><tr><td>Width 1</td><td>Beam의 끝 부분 너비</td></tr><tr><td>Face Camera</td><td>빔이 항상 카메라를 향하도록 설정</td></tr></tbody></table>

### 스크립트 기능

{% content-ref url="/pages/7IDhENqvuLT7Ru8cUjai" %}
[Beam](/korean/development/api-reference/classes/beam.md)
{% endcontent-ref %}

## Trail

<figure><img src="/files/Hknwyt0OywP7GCMeB65R" alt=""><figcaption></figcaption></figure>

물체가 이동할 때 남기는 잔상(궤적) 효과를 생성하는 오브젝트입니다. 검기 효과, 스피드 부스트, 마법 궤적, 총알 흔적 같은 효과를 만들 때 사용됩니다.

Trail은 Part와 같은 특정 오브젝트의 자식으로 설정하여, 해당 오브젝트의 움직임에 따라 효과를 표시할 수 있습니다.

### 프로퍼티 구성

<table><thead><tr><th width="251">프로퍼티</th><th>설명</th></tr></thead><tbody><tr><td>Color</td><td>Trail의 색상</td></tr><tr><td>Texture</td><td>Trail의 텍스처</td></tr><tr><td>Texture Length</td><td>텍스처 반복 길이</td></tr><tr><td>Texture Speed</td><td>텍스처 이동 속도</td></tr><tr><td>Transparency</td><td>투명도</td></tr><tr><td>Enabled</td><td>활성화 여부</td></tr><tr><td>Lifetime</td><td>Trail이 생성된 후 유지되는 시간(초 단위)</td></tr><tr><td>Width</td><td>기본 너비</td></tr><tr><td>Width Scale</td><td>너비가 시간에 따라 어떻게 변화하는지를 정의</td></tr><tr><td>Offset</td><td>Trail의 위치를 X, Y, Z 방향으로 조정</td></tr></tbody></table>

### 스크립트 기능

{% content-ref url="/pages/Dg0WnPkOaVInkSOST8V1" %}
[Trail](/korean/development/api-reference/classes/trail.md)
{% endcontent-ref %}

## VFXPreset

<figure><img src="/files/ysnmOg9CbLOhk3pLhvO0" alt=""><figcaption></figcaption></figure>

게임에서 자주 사용되는 불, 폭발, 배리어, 회복 등의 효과를 사전 정의된 이펙트 중 선택하여, 별도의 편집 없이 빠르게 시각적 연출을 표현할 수 있는 오브젝트입니다.

### 사용 방법

Level Browser에 VFXPreset을 배치하고 선택한 다음, 프로퍼티 패널에서 VFX Preset 속성을 찾아 표시한 버튼을 클릭하면 VFX Preset 선택 팝업이 표시됩니다.

VFX Preset 선택 팝업에서 Buff Zone, Trail 등 원하는 이펙트를 선택하면 해당 효과가 적용됩니다.

<figure><img src="/files/8mD4KKNXUn0YwUObgJut" alt=""><figcaption></figcaption></figure>

### 프로퍼티 구성

<table><thead><tr><th width="251">프로퍼티</th><th>설명</th></tr></thead><tbody><tr><td>VFX Preset</td><td>표시할 VFX를 선택</td></tr><tr><td>Importance</td><td>VFXPreset의 중요도를 설정. Infinite Loop 여부와 조합하여 내부 Performance Type이 결정됩니다.</td></tr><tr><td>Color</td><td>VFXPreset의 색상</td></tr><tr><td>Size</td><td>VFXPreset의 크기</td></tr><tr><td>Transparency</td><td>VFXPreset의 투명도</td></tr><tr><td>Enabled</td><td>활성화 여부</td></tr><tr><td>Infinite Loop</td><td>재생 무한 반복</td></tr><tr><td>Loop Count</td><td>재생 반복 횟수</td></tr></tbody></table>

#### Importance와 Performance Type 매핑

Importance 값과 Infinite Loop 설정의 조합에 따라 내부적으로 아래와 같이 Performance Type이 결정됩니다.

<table><thead><tr><th width="200">Importance</th><th width="200">Infinite Loop</th><th>Performance Type</th></tr></thead><tbody><tr><td>Default</td><td>False</td><td>Default Burst</td></tr><tr><td>Default</td><td>True</td><td>Default Looping</td></tr><tr><td>Background</td><td>False</td><td>Background Burst</td></tr><tr><td>Background</td><td>True</td><td>Background Looping</td></tr><tr><td>Gameplay</td><td>False</td><td>Gameplay Burst</td></tr><tr><td>Gameplay</td><td>True</td><td>Gameplay Looping</td></tr><tr><td>Critical</td><td>-</td><td>Critical</td></tr></tbody></table>

### 스크립트 기능

{% content-ref url="/pages/PKNo1lA0cbfCnB45r8T0" %}
[VFXPreset](/korean/development/api-reference/classes/vfxpreset.md)
{% endcontent-ref %}

### VFXPreset 에셋 리스트

{% content-ref url="/pages/p2S6gDDGo66tzq8ECaHo" %}
[VFXPreset 에셋 리스트](/korean/manual/studio-manual/object/vfx/vfxpreset-asset-list.md)
{% endcontent-ref %}

### VFXPreset 성능 최적화

{% content-ref url="/pages/SKcNdEcqGLCZ4wLdZsZv" %}
[VFXPreset 성능 최적화](/korean/manual/studio-manual/asset-and-resource-creation/vfxpreset-budget.md)
{% endcontent-ref %}

## Curve Editor가 지원되는 프로퍼티

Curve Editor로 편집할 수 있는 프로퍼티 옆에는 ... 버튼이 표시됩니다. 이 버튼을 클릭하면 **Curve Editor**가 열리며, 해당 프로퍼티의 값 변화를 그래프 형태로 직관적으로 조정할 수 있습니다.

<figure><img src="/files/BGhVOj80NUWP5UF4LKVt" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/korean/manual/studio-manual/object/vfx.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
