Скрипты (сценарии) можно использовать для обновления анимации по умолчанию и добавления новых. Два примера, рассматриваемые в этом руководстве, изменят анимацию бега по умолчанию и будут воспроизводить анимацию по команде, когда игрок касается объекта.

По умолчанию персонажи Roblox включают общие анимации, такие как бег, лазание, плавание, прыжки. В первом примере вы создадите сценарий для замены анимации бега по умолчанию на более уникальную. Если у вас нет анимации бега для практики, вы можете использовать один из предоставленных примеров анимации.
Таким образом, замена анимации применяется ко всем игрокам, скрипт будет храниться в ServerScriptService.

3. Перепишите код, расположенный внизу. Когда игроки присоединяются к игре через PlayerAdded, скрипт проверяет, загружен ли их аватар. В следующем разделе вы добавите код для замены анимаций в функции onCharacterAdded.

Если вам нужна анимация бега, используйте один из следующих примеров идентификаторов. Дополнительные анимации каталога можно найти на странице урока “Использование анимации”.

Доступ к анимации по умолчанию осуществляется через гуманоидный объект игрока. В этом случае вы будете использовать гуманоида, чтобы найти анимацию бега, а затем поменять его идентификатор анимации на новый.
К гуманоиду прикреплен сценарий под названием Animate, в котором анимация по умолчанию является родительской. Сохраните его в переменной animateScript.
3. Доступ к различным анимациям можно получить с помощью оператора, например animateScript.run. Чтобы изменить анимацию бега, замените идентификатор анимации на тот, который хранится в runAnimation. Для этого раскомментируйте строку 14 и добавьте ID анимации: //656118852. (Nynja Run- бег ниндзя).

4. Протестируйте игру и обратите внимание, как изменилась анимация бега по умолчанию.
Вы можете изменить ещё несколько анимаций по умолчанию, добавив AnimationID (числовые значения, как в скрипте выше в строке 14)




Второй способ использования анимации — воспроизвести ее в ответ на действия персонажа в игре: например, если игрок подбирает предмет или получает урон.
В следующем сценарии всякий раз, когда игрок нажимает кнопку, будет воспроизводиться шоковая анимация, которая парализует его до тех пор, пока анимация не закончится.
В оставшейся части этого руководства используется готовая модель, включающая ProximityPrompt. Игроки могут подойти к кнопке и нажать ее, чтобы активировать событие.


2. В StarterPlayer > StarterPlayerScripts создайте локальный сценарий с именем PlayShockAnimation.

3. Приведенный ниже код вызывает функцию с именем onShockTrigger при активации запроса приближения. Скопируйте его в свой скрипт.

Этот скрипт использует специально названные части. Если вы переименовываете части импортированной модели, обязательно обновите их переменные (строки 12-14) в скрипте.
Анимации, которые использует игрок, хранятся в объекте Animator игрока. Чтобы воспроизвести анимацию шока, необходимо загрузить новую дорожку анимации в объект Animator, когда они присоединятся к игре.
Над onShockTrigger создайте новый экземпляр Animation с именем shockAnimation. Затем установите для AnimationID желаемую анимацию. При необходимости используйте идентификатор в поле кода.

Создайте новую переменную с именем shockAnimationTrack. В аниматоре проигрывателя вызовите LoadAnimation, передав ранее созданную анимацию.

Загрузив новую анимацию, измените некоторые свойства дорожки.
Установите для параметра AnimationPriority значение Action — гарантирует, что анимация переопределит все текущие воспроизводимые анимации. Установите для Looped значение false, чтобы анимация не повторялась.

Всякий раз, когда кто-то запускает ProximityPrompt на кнопке, он воспроизводит анимацию и временно останавливает этого игрока. Найдите функцию onShockTrigger. На ShockAnimationTrack вызовите функцию Play.

Чтобы игрок не двигался во время воспроизведения анимации, измените свойство WalkSpeed гуманоида на 0.

Точно так же, как у частей есть события Touched, у анимации есть такие события, как AnimationTrack.Stopped. Для скрипта, как только анимация завершится, вы восстановите скорость передвижения игрока. Получите доступ к событию Stopped для дорожки анимации с помощью оператора точки, затем вызовите функцию ожидания. Это приостанавливает код до тех пор, пока анимация не завершится.

Верните скорость ходьбы игрока к 16, что является значением по умолчанию для игроков Roblox.

Фреймворк в этом скрипте можно легко адаптировать к различным игровым ситуациям. Например, попробуйте воспроизводить специальную анимацию всякий раз, когда игрок касается части ловушки или когда команда выигрывает игровой раунд.