로블록스 게임 개발

로블록스 트윈서비스(TweenService)

CYANREDSKY 2025. 9. 23. 16:00

안녕하세요! 👋 오늘은 로블록스에서 멋진 움직임과 애니메이션 효과를 줄 때 자주 사용하는 트윈서비스(TweenService) 에 대해 친절하게 설명드리겠습니다. 🕹️✨

🌟 TweenService란?

TweenService는 오브젝트(블록, UI, 캐릭터 등)의 속성 값을 부드럽게 변화시켜주는 서비스예요.
예를 들어:

  • 블록이 천천히 위로 떠오르거나 ⬆️
  • 버튼 색깔이 자연스럽게 변하거나 🎨
  • 캐릭터가 매끄럽게 회전하는 것 🔄

이런 효과를 만들 때 쓰입니다.
👉 즉, **순간 이동이 아닌 “부드러운 변화”**를 만드는 도구입니다.

🧩 기본 사용법

1. 트윈 만들기

local TweenService = game:GetService("TweenService")

local part = workspace.Part

-- 트윈 정보 (시간, 스타일, 반복 등)
local tweenInfo = TweenInfo.new(
    2, -- 지속 시간 (2초)
    Enum.EasingStyle.Quad, -- 변화 스타일
    Enum.EasingDirection.Out, -- 진행 방향
    0, -- 반복 횟수 (0 = 반복 없음)
    false, -- 되돌아오기 여부
    0 -- 딜레이
)

-- 목표 값
local goal = {}
goal.Position = Vector3.new(0, 10, 0)

-- 트윈 생성
local tween = TweenService:Create(part, tweenInfo, goal)

-- 실행
tween:Play()

👉 블록이 2초 동안 위로 부드럽게 이동합니다.

2. EasingStyle & EasingDirection

TweenService에는 다양한 변화 스타일이 있어요.

  • EasingStyle (변화 곡선)
    • Linear (직선, 일정한 속도)
    • Quad, Cubic, Bounce, Elastic 등 (점점 빨라지거나, 튕기거나, 흔들림)
  • EasingDirection (시작/끝 가속 방식)
    • In → 천천히 시작해서 빠르게 끝남
    • Out → 빠르게 시작해서 천천히 끝남
    • InOut → 양쪽 다 부드럽게

3. 여러 속성 동시에 변경

local goal = {
    Position = Vector3.new(0, 10, 0),
    Transparency = 0.5,
    Color = Color3.fromRGB(255, 0, 0)
}

👉 위치, 투명도, 색깔을 동시에 바꿀 수 있어요.

🎮 어디에 활용할까요?

  • UI 효과: 버튼 누를 때 색깔/크기 변화 🖱️
  • 애니메이션: 문이 부드럽게 열리고 닫히기 🚪
  • 환경 효과: 불빛이 깜빡이거나 점점 밝아지기 💡
  • 이동 효과: 오브젝트가 부드럽게 움직이기 🚀

🪄 쉬운 비유

TweenService는 에스컬레이터 🛗 같아요.

  • 갑자기 위층으로 순간이동하지 않고
  • 천천히, 일정한 속도로 올라가면서 부드럽게 이동하죠.

✨ 정리

  • TweenService = 속성을 부드럽게 변화시키는 도구
  • TweenInfo로 시간, 스타일, 반복 등을 설정
  • 위치, 크기, 색깔, 투명도 등 다양한 속성에 활용 가능
  • 게임을 더 자연스럽고 멋지게 꾸밀 수 있음 🌈

트윈서비스를 잘 활용하면, 단순한 움직임도 마치 애니메이션 영화처럼 부드럽고 세련되게 연출할 수 있습니다. ✨