TweenService

TweenService é um serviço no Roblox que permite criar animações suaves para elementos GUI, partes e outros objetos. É usado para interpolar propriedades de um objeto de um estado para outro em uma duração especificada.

TweenUm tween é uma animação que interpola as propriedades de um objeto de um estado inicial para um estado final.
TweenInfoIsso define os parâmetros do tween, como duração, estilo de easing, direção de easing e repetição.
Estilos e Direções de EasingOs estilos de easing definem a função matemática usada para interpolar entre os valores inicial e final do tween. As direções de easing definem como o tween progride em relação aos valores inicial e final.

Objetos Tweenable

PositionMover partes/modelos para um novo local.
SizeAlterar as dimensões de partes/modelos.
OrientationGirar partes/modelos.
TransparencyAjustar o nível de transparência de partes/modelos.
ColorAlterar a cor de partes/modelos.
PositionMover partes/modelos para um novo local.
SizeAlterar as dimensões de partes/modelos.
BackgroundColor3Alterar a cor de fundo dos elementos GUI.
TransparencyAjustar o nível de transparência de partes/modelos.
BrightnessAjustar o brilho de uma fonte de luz.
ColorAlterar a cor de partes/modelos.
RangeAlterar o alcance de uma fonte de luz.
CFrameMover ou girar a câmera.
VolumeAjustar o volume de um som.
PlaybackSpeedAlterar a velocidade de reprodução de um som.

Exemplo de TweenService

Tweening de Posição

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Tweening de Elementos GUI

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Tweening de Propriedades de Luz

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Estilos de Easing

LinearMove-se a uma velocidade constante do início ao fim.
SineUsa uma onda senoidal para um movimento suave e periódico.
BackExtrapola além do valor final antes de estabilizar.
QuadAcelera rapidamente e depois desacelera.
CubicSemelhante ao Quad, mas com uma aceleração e desaceleração mais fortes.
QuartAceleração e desaceleração ainda mais fortes que o Cúbico.
QuintA aceleração e desaceleração mais fortes.
BounceImita um efeito de quique no final.
ElasticMove-se além do valor final de maneira semelhante a uma mola.
ExponentialComeça lentamente e acelera exponencialmente.
InComeça o tween lentamente e acelera até o fim.
OutComeça o tween rapidamente e desacelera até o fim.
InOutCombina 'In' e 'Out', começando devagar, acelerando no meio e desacelerando novamente no final.

Se você achou este tutorial útil e gostaria de apoiar meu trabalho, por favor, considere me comprar um café.

Muito obrigado pelo seu apoio!

Me compre um café