플립북을 활용한 Roblox UI 이펙트
Roblox UI에서 애니메이션 이펙트를 재생하세요. ScreenGui, SurfaceGui 또는 BillboardGui의 ImageLabel에 플립북 PNG를 넣고 ImageRectOffset으로 프레임을 넘깁니다. 보상, 배지, 버튼 이펙트가 무료로 제공됩니다.
ParticleEmitter는 3D 월드에 표시되지만, 보상, 버튼, 배지는 ScreenGui에 표시됩니다. 같은 플립북 PNG도 여기서 재생할 수 있습니다. ImageLabel은 한 번에 프레임 하나를 표시하며, ImageRectSize(프레임의 픽셀 크기)와 ImageRectOffset(왼쪽 위를 기준으로 한 프레임의 시작 위치)을 사용하고, LocalScript가 프레임을 넘깁니다.
인터페이스용 이펙트
ImageLabel에서 플립북 재생하기
프레임은 왼쪽 위부터 행 단위로 재생됩니다. 격자와 텍스처 크기는 파일 이름에 표시됩니다(기본적으로 -roblox-8x8.png는 1024 px 텍스처에 8x8 프레임입니다). 재생 시간은 이펙트 페이지의 Lifetime입니다.
-- LocalScript inside an ImageLabel
local RunService = game:GetService("RunService")
local label = script.Parent
local GRID, SIZE, SECONDS = 8, 1024, 2.8 -- from the file name and the effect page
local cell = SIZE / GRID
label.Image = "rbxassetid://123456789" -- your uploaded flipbook
label.ImageRectSize = Vector2.new(cell, cell)
local start = os.clock()
RunService.RenderStepped:Connect(function()
local t = (os.clock() - start) / SECONDS
local i = math.floor((t % 1) * GRID * GRID)
label.ImageRectOffset = Vector2.new((i % GRID) * cell, (i // GRID) * cell)
end)이 코드는 플립북을 무한 반복합니다. 준비된 모델에는 같은 기능을 비롯해 더 많은 기능을 제공하는 ModuleScript UIFlipbook.luau가 포함되어 있습니다. UIFlipbook.play(label, { image, grid, seconds, loop, size, pixelated })는 한 번 재생한 뒤 loop가 false이면 레이블을 숨기고, 픽셀 아트에 Pixelated 리샘플링 모드를 설정하며, stop() 함수를 반환합니다.
원하는 모양으로 조정하기
- 레이블을 정사각형으로 유지하세요. 각 프레임은 정사각형 셀입니다. ImageLabel에 AspectRatio가 1인 UIAspectRatioConstraint를 추가해 프레임이 늘어나지 않도록 하고, BackgroundTransparency를 1로 설정하세요.
- 와이드 배너: 높이보다 너비가 긴 이펙트는 정사각형 셀 안에 맞춰지므로, 와이드 배너는 셀의 일부만 사용합니다. 스튜디오에서 내보낼 때 4x4 또는 2x2 격자를 선택하면 프레임마다 256 또는 512 px를 사용할 수 있습니다.
- 글로우: ImageLabel은 PNG를 일반 이미지처럼 표시합니다. 월드에서 LightEmission 1을 설정했을 때처럼 빛이 추가되지는 않습니다. 발광 이펙트는 어두운 패널 위에서 가장 잘 보입니다.
- 픽셀 아트: ImageLabel의 ResampleMode를 Pixelated로 설정하면 크기를 조정해도 픽셀 이펙트가 선명하게 유지됩니다.
- 월드에서 사용: 같은 스크립트를 BillboardGui의 ImageLabel(NPC나 펫 위의 아이콘) 또는 SurfaceGui의 ImageLabel(Part에 붙은 표지판이나 화면)에서도 사용할 수 있습니다.
플립북 PNG는 무료입니다. 각 이펙트 페이지의 ROBLOX 버튼은 계정 없이 사용할 수 있고, 무료 계정으로 스튜디오에서 원하는 그리드와 텍스처 크기를 선택해 내보낼 수도 있습니다(하루 3개 이펙트). 이미터가 설정되어 있고 재생 스크립트가 포함된 .rbxmx 준비 모델과 UI용 UIFlipbook.luau는 월 $7.99부터 모든 플랜에서 제공됩니다.
게임에 적용하기
모든 설정과 두 가지 사용 방식, 무료 PNG 또는 준비된 모델은 Roblox 설정 페이지에서 확인할 수 있습니다. 장르별로 더 많은 이펙트를 보려면 무료 Roblox VFX를 확인하세요. 내보내기 전에 스튜디오에서 이펙트의 색상을 게임 UI 팔레트에 맞게 변경할 수도 있습니다.
자주 묻는 질문
Roblox ImageLabel에서 스프라이트 시트를 어떻게 애니메이션으로 재생하나요?
ImageRectSize를 프레임 하나의 픽셀 크기로 설정한 다음, LocalScript에서 매 프레임 ImageRectOffset을 변경합니다. 왼쪽 위부터 행 단위로 프레임을 세고, 열에 프레임 너비를 곱하고 행에 프레임 높이를 곱합니다.
ScreenGui 안에서 ParticleEmitter를 사용할 수 있나요?
아니요. ParticleEmitter는 3D 월드에 표시됩니다. UI에서는 같은 플립북 PNG를 ImageLabel에서 재생하세요. UIFlipbook.luau가 바로 이 방식으로 작동합니다.
UI 이펙트가 늘어나 보이는 이유는 무엇인가요?
프레임은 정사각형입니다. ImageLabel이 정사각형이 아니면 프레임이 레이블 크기에 맞춰 늘어납니다. AspectRatio가 1인 UIAspectRatioConstraint를 추가하세요.
Robux를 버는 게임에서 이 이펙트를 사용할 수 있나요?
네. 라이브러리에서 시작한 이펙트를 포함해 내보낸 이펙트는 상업용 게임을 포함한 모든 프로젝트에서 출처 표시 없이 사용할 수 있습니다. 라이브러리 자체를 이펙트 팩으로 재판매하는 것은 허용되지 않습니다.







