VFX Preset 성능 최적화
개요
VFX Preset을 보다 효율적으로 활용하기 위해 다양한 퍼포먼스 타입을 구분하여 제공합니다. 이를 통해 크리에이터는 각 이펙트 타입의 특성에 맞추어 최적화를 진행할 수 있습니다.
또한 정해진 버짓을 기준으로 VFX Preset을 관리할 수 있으므로, 리소스를 절감하는 것뿐만 아니라 이펙트 타입별로 균형 잡힌 품질과 성능을 유지할 수 있습니다. 이러한 방식을 통해 크리에이터가 작업 과정에서 더욱 간편하고 효율적으로 VFX Preset을 다룰 수 있도록 합니다.
VFX Preset 버짓팅
VFX Preset은 기기의 성능을 많이 소모하는 요소입니다. 많이 사용할수록 퀄리티는 향상되지만 성능 저하로 인해 플레이 경험은 오히려 나빠질 수 있습니다. 성능을 보장하려면 VFX 사용을 최소화해야 하지만, 그 경우 게임의 시각적 재미가 감소합니다.
이를 조정하기 위해 오버데어 스튜디오에서는 Performance Type을 분류하고 각 타입별 리소스를 할당하여, 크리에이터가 쉽게 VFX를 사용하면서도 성능을 보장할 수 있는 기능을 제공합니다.
제약 사항
버짓 업데이트 주기
Spawn: 월드에 배치되거나 Enabled 되는 시점에 버짓 업데이트
Tick: 일정 주기마다 우선순위를 계산하여 버짓 업데이트
버짓 내 우선순위 결정 방식
Distance: 카메라와의 거리에 따라 가까운 것을 우선적으로 표시
Age: 인스턴스가 최근 Spawn된 순서대로 우선적으로 표시
버짓 초과 시 처리 방식
Kill: 렌더링 비활성화 (재할당 불가)
Asleep: 일시적 비활성화, 여유가 생기면 재할당 가능
표현 최대 거리
카메라 기준 최대 거리 초과 시 버짓에서 제외
최대 인스턴스 수
퍼포먼스 타입별 최대 허용 인스턴스 수
동일 이펙트 최대 갯수
같은 퍼포먼스 타입 내에서 동일한 모양의 이펙트 의 최대 갯수
Performance Type 분류
Default
성능 고려 없이 반드시 재생되어야 하는 VFX
필수적인 연출 효과
Gameplay Burst Critical
게임 플레이적으로 반드시 표현되어야 하는 VFX
득점 효과, 시작·종료 조건 이펙트
Gameplay Burst
특정 시점에 잠깐 재생되는 VFX
피격 효과, 레벨업·아이템 획득 효과
Gameplay Looping
지속적으로 재생되는 게임 플레이 VFX
보호막, 버프 오라 효과
Environment Burst
배경에서 특정 시점에 재생되는 VFX
스파크, 연기 효과
Environment Looping
배경에서 지속적으로 재생되는 VFX
횃불, 비 효과
Performance Type 별 리소스 제한
일반사양 옵션에서 리소스 제한
업데이트 주기
Tick (Medium)
Spawn
Tick (High)
Spawn
Spawn
Spawn / Tick (Low)
우선순위 결정 기준
Distance
Distance
Distance
Age
Age
Distance
버짓 초과 시 처리 방식
Asleep
Kill
Asleep
Kill
Kill
Kill / Asleep
표현 가능한 최대 거리
10000
5000
10000
12500
제한 없음
제한 없음
해당 버짓의 최대 인스턴스 수
8
8
40
60
20
88 / 48
동일한 이펙트의 갯수 제한
4
4
10
30
20
88 / 48
저사양 옵션에서 리소스 제한
업데이트 주기
Tick (Medium)
Spawn
Tick (High)
Spawn
Spawn
Spawn / Tick (Low)
우선순위 결정 기준
Distance
Distance
Distance
Age
Age
Distance
버짓 초과 시 처리 방식
Asleep
Kill
Asleep
Kill
Kill
Kill / Asleep
표현 가능한 최대 거리
1250
450
2500
1000
제한 없음
제한 없음
해당 버짓의 최대 인스턴스 수
6
6
6
25
4
32 / 12
동일한 이펙트의 갯수 제한
3
4
4
4
2
32 / 12
사용 방법
VFX Preset 생성
레벨 브라우저에서 VFX Preset을 생성하고 원하는 효과와 색상 크기 등을 조정합니다.

자세히 알아보기
VFXPerformance Type 지정
해당 이펙트가 어떤 형식으로 쓰일지 정합니다. 자신이 사용하려는 이펙트가 어떻게 사용될지 판단하여 결정하도록 합니다.

월드 배치
만든 이펙트가 나올 위치나 지역에 VFX Preset를 배치합니다. 만일 미리 월드에 배치해야 하는 경우가 아니라 게임 중간에 동적으로 배치되어야 하는 경우, ReplicatedStorage 또는 Serverstoorage에 저장해 두었다가 Clone이나 Parent 지정을 통해 월드에 배치 할 수 있습니다.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VFXPreset = ReplicatedStorage:WaitForChild("VFXPreset")
local Workspace = game:GetService("Workspace")
local Part = Workspace:WaitForChild("Part")
local NewVFX = VFXPreset:Clone()
VFXPreset.Parent = Part
주의사항
VFX Preset의 Performance Type은 런타임에는 변경이 불가능 합니다. VFX Preset을 런타임 중에 새로 생성하여 배치 할 때에는 ReplicatedStorage 또는 ServerStorage에 미리 생성 해 두고 Clone 등을 통하여 동적으로 배치하여야 합니다.
Last updated