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 별 리소스 제한

일반사양 옵션에서 리소스 제한

Limitation
Environment Looping
Environment Burst
Gameplay Looping
Gameplay Burst
Gameplay Burst Critical
Default

업데이트 주기

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

저사양 옵션에서 리소스 제한

Limitation
Environment Looping
Environment Burst
Gameplay Looping
Gameplay Burst
Gameplay Burst Critical
Default

업데이트 주기

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을 생성하고 원하는 효과와 색상 크기 등을 조정합니다.

자세히 알아보기

VFX

Performance 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