Анимация в Роблокс Студио: как оживить персонажа и предметы
Игра, в которой всё стоит на месте, быстро надоедает. Анимация оживляет её: персонаж машет рукой и танцует, платформы ездят, двери плавно открываются, монетки крутятся. В Roblox Studio есть два способа сделать движение, и оба по силам школьнику:
- Animation Editor — анимация персонажей: позы, жесты, танцы, удары;
- TweenService — анимация предметов из скрипта: движение, поворот, изменение цвета и размера.
Разберём оба.
Часть 1. Анимация персонажа в Animation Editor
Шаг 1. Добавьте риг
Анимировать в Roblox можно только риг — модель с «скелетом», у которой части тела соединены суставами. Готовый риг проще всего вставить из вкладки Avatar: там есть инструмент для создания рига (Rig Builder, в новых версиях — Rig Generator). Выберите тип тела — например, блочный риг R15, у него 15 подвижных частей.
Шаг 2. Откройте Animation Editor
На вкладке Avatar нажмите Animation Editor, затем кликните по ригу в сцене. Придумайте название анимации — внизу появится шкала времени.
Шаг 3. Расставьте ключевые кадры
Анимация в Roblox строится из ключевых кадров — поз, между которыми редактор сам достраивает плавное движение.
- Поставьте бегунок шкалы времени на начало.
- Выберите часть тела рига — например, правую руку.
- Поверните её (клавиша R переключает между перемещением и поворотом). На шкале появится ромбик — ключевой кадр.
- Передвиньте бегунок дальше, например на 0,5 секунды, и поверните руку в другое положение.
- Нажмите Play в редакторе — рука плавно двигается между позами.
Так, поза за позой, собирается любое движение. Для приветствия хватит трёх-четырёх ключевых кадров.
Шаг 4. Сделайте движение живее
- Плавность. Нажмите правой кнопкой на ключевой кадр и выберите Easing Style: Linear — равномерно, Bounce — с отскоком, Elastic — с пружинкой.
- Повтор. Кнопка Looping зацикливает анимацию — нужна для танцев, бега, покачивания. Чтобы цикл был без рывка, последний кадр должен совпадать с первым.
- Приоритет. В меню ⋯ → Set Animation Priority выберите, насколько анимация «важна»: от Core (самая слабая) до Action (самая сильная). Если ваш танец перебивается стандартной ходьбой — поднимите приоритет до Action.
Шаг 5. Сохраните и опубликуйте
- ⋯ → Save — анимация сохранится в проекте.
- ⋯ → Publish to Roblox — придумайте название и нажмите Submit.
- Скопируйте ID анимации — длинное число. Оно нужно, чтобы запустить анимацию из скрипта.
Шаг 6. Запустите анимацию по кнопке
Сделаем так, чтобы персонаж игрока танцевал, когда нажимаешь клавишу E. Создайте LocalScript в папке StarterPlayer → StarterCharacterScripts и вставьте:
local UserInputService = game:GetService("UserInputService")
local character = script.Parent
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://0000000000" -- сюда ваш ID
local track = animator:LoadAnimation(animation)
UserInputService.InputBegan:Connect(function(input, processed)
if processed then
return
end
if input.KeyCode == Enum.KeyCode.E then
track:Play()
end
end)
Замените нули на ID своей анимации. Важно, чтобы тип тела рига, на котором вы делали анимацию (R15 или R6), совпадал с типом персонажей в игре.
Часть 2. Анимация предметов через TweenService
Для предметов Animation Editor не нужен — их двигают скриптом через сервис TweenService. «Твин» — это плавный переход свойства объекта из одного значения в другое: положения, поворота, цвета, прозрачности, размера.
Движущаяся платформа
Классика обби — платформа, которая ездит вверх-вниз. Деталь (Anchored включён!) и скрипт внутри:
local TweenService = game:GetService("TweenService")
local platform = script.Parent
local info = TweenInfo.new(
2, -- время в секундах
Enum.EasingStyle.Sine, -- плавный разгон и торможение
Enum.EasingDirection.InOut,
-1, -- повторять бесконечно
true -- возвращаться обратно
)
local goal = {Position = platform.Position + Vector3.new(0, 10, 0)}
local tween = TweenService:Create(platform, info, goal)
tween:Play()
Платформа поднимается на 10 единиц за 2 секунды и возвращается обратно — бесконечно. Поменяйте Vector3.new(0, 10, 0) на Vector3.new(15, 0, 0) — и платформа будет ездить в сторону.
Крутящаяся монетка
local TweenService = game:GetService("TweenService")
local coin = script.Parent
local info = TweenInfo.new(2, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)
local goal = {Orientation = coin.Orientation + Vector3.new(0, 360, 0)}
TweenService:Create(coin, info, goal):Play()
Монетка делает полный оборот за 2 секунды и крутится без остановки. Как сделать так, чтобы её можно было собрать, — в статье «Скрипты в Роблокс Студио: первые программы на Lua».
Плавная дверь
Если двери из той статьи просто исчезают, с твином они могут уезжать вверх:
local TweenService = game:GetService("TweenService")
local door = script.Parent
local closed = door.Position
local opened = closed + Vector3.new(0, door.Size.Y, 0)
local info = TweenInfo.new(1)
local click = Instance.new("ClickDetector")
click.Parent = door
click.MouseClick:Connect(function()
TweenService:Create(door, info, {Position = opened}):Play()
task.wait(3)
TweenService:Create(door, info, {Position = closed}):Play()
end)
Почему анимация не работает
- Анимация персонажа не проигрывается. Проверьте ID и что анимация опубликована от того же владельца, что и игра: если игра принадлежит группе, анимацию тоже нужно публиковать в группу.
- Анимацию перебивает ходьба. Поднимите приоритет до Action.
- Персонаж «ломается». Анимацию делали на R6, а в игре R15 (или наоборот).
- Платформа падает или улетает. У детали не включён Anchored.
- Игрок соскальзывает с движущейся платформы. Делайте платформу пошире и не слишком быструю — так играть приятнее.
Что дальше
Анимация — то, что отличает «коробку из блоков» от настоящей игры. Если вы только начинаете, пройдите всю серию по порядку:
- Роблокс Студио: где скачать на ПК и есть ли на телефон
- Как сделать свою игру в Роблокс Студио: пошаговый гайд
- Скрипты в Роблокс Студио: первые программы на Lua
На курсе «Разработка игровых приложений в Roblox» в РОБОЛАТОРИИ ребята 10–14 лет делают паркур, тайкун и симулятор, а в финале — собственную игру, в которую можно позвать друзей. Вопросы — по телефону 8 (495) 120-30-60.



Комментарии
Войдите, чтобы написать комментарий.