Как изменить скорость анимации unity

Suggest a change

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Your name

Your email

Suggestion*

Cancel

Switch to Manual

Description

The playback speed of the Animator. 1 is normal playback speed.

Use Animator.speed to manipulate the playback speed of the Animator. Any animations currently being played by the Animator are slowed down or sped up depending on how the speed is altered. Set speed to 1 for normal playback. Negative playback speed is only supported when the recorder is enabled. For more details refer to Animator.recorderMode.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Example : MonoBehaviour { Animator m_Animator; //Value from the slider, and it converts to speed level float m_MySliderValue;

void Start() { //Get the animator, attached to the GameObject you are intending to animate. m_Animator = gameObject.GetComponent<Animator>(); }

void OnGUI() { //Create a Label in Game view for the Slider GUI.Label(new Rect(0, 25, 40, 60), "Speed"); //Create a horizontal Slider to control the speed of the Animator. Drag the slider to 1 for normal speed.

m_MySliderValue = GUI.HorizontalSlider(new Rect(45, 25, 200, 60), m_MySliderValue, 0.0F, 1.0F); //Make the speed of the Animator match the Slider value m_Animator.speed = m_MySliderValue; } }

Как создать анимацию в 2d игре.

Доброго времени суток друзья, в этой статье я хочу показать вам, как использовать анимацию в Unity 5  при создании 2d игры.

Итак, начнем. Откроем Unity и создадим новый 2d проект

2dUnityProject

Далее создадим две папки с названием Sprite и Animation

Unity5Folder

В папку Sprite перенесем заранее подготовленный спрайт, у меня это будет такая «Птица», которая будет махать крыльями. Заметьте что на спрайте изображено 2 разные птицы , каждое изображение мы вырежем уже в Unity и будем использовать как кадры, ведь, по сути,  анимация — это проигрывание некое количество кадров. Соответственно чем кадров будет больше – тем анимация будет выглядеть реалистичней, но пока остановимся на 2-х.

Ptica2

Перенесли спрайт и теперь выделим его. Справа появится его свойства. В свойствах нам пока понадобится только одно свойство Sprite Mode.  Установим режим Multiple, так как наше изображение имеет несколько элементов, и нажмем кнопку Apply.

SpriteMode

Далее, для того чтобы разделить наш спрайт на несколько элементов перейдем в редактор спрайта Sprite Editor в том же свойстве этого спрайта.

Видео: Анимации в Unity 2D | Для новичков | Gamedev — Разработка игрСкачать

Анимации в Unity 2D | Для новичков | Gamedev - Разработка игр

Видео: Костная анимация в UnityСкачать

Костная анимация в Unity

SpriteEditor

Перед нами откроется редактор, в котором мы просто выделяем наши 2 элемента по отдельности.

Сначала первое

SpriteEditor1

Затем второе

SpriteEditor2

Примечание!!! Старайтесь выделять элементы одного размера, чтобы при проигрывании анимации картинка не прыгала из-за не точных расположений.

Вырезали элементы и далее просто закрываем редактор, на что он спросит вас сохранить изменения или нет.

Итак, наша птица готова, переходим к анимированию. Перенесем спрайт на сцену и Unity спросит у нас куда сохранить файл .anim, в котором будут хранится все последующие анимации данного объекта. Выберем папку Animation и сохраним туда этот файл.

Anim

Далее на сцене выберем нашу «Птицу» и откроем для нее новое окно Animation во вкладке Window.

WindowAnimation

В окне создания анимации выберем наш файл Ptica.anim и создадим новую анимацию Create a new Clip…

PticaAnim

Когда наша новая анимация будет выбрана, рядом в параметре Sample укажем количество кадров 2 , так как у нас всего 2 элемента Спрайта.

Затем перенесем наши 2 элемента в окно редактора анимации, нажмем кнопку записи и кнопку Play.

PticaAnimWiev

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

Перейдем в папку Animation и откроем файл Ptica.anim

AnimSpeed

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

2d анимация в unity

Теперь при запуске игры птица выглядит более реалистичней (конечно не на сто %, но мне нравится). Далее можно создать скрипт, который будет двигать нашу «Птицу» в каком-нибудь направлении, но об этом в других уроках. Удачных проектов!

Видео

2D анимация в Unity(Туториал)Скачать

2D анимация в Unity(Туториал)

АНИМАЦИЯ ПЕРСОНАЖА В UNITY #2 || Unity C# Уроки Создание Игр На Андроид 2DСкачать

АНИМАЦИЯ ПЕРСОНАЖА В UNITY #2 || Unity C# Уроки Создание Игр На Андроид 2D

Переключение анимаций в UnityСкачать

Переключение анимаций в Unity

Инверсионная кинематика, 2D анимации в UNITY 2020Скачать

Инверсионная кинематика, 2D анимации в UNITY 2020

MAKE ANIMATION FROM SPRITE SHEET IN UNDER 1 MINUTE UNITY 2DСкачать

MAKE ANIMATION FROM SPRITE SHEET IN UNDER 1 MINUTE UNITY 2D

Переход анимации персонажа — Unity легкоСкачать

Переход анимации персонажа - Unity легко

2D Animation in Unity (Tutorial)Скачать

2D Animation in Unity (Tutorial)

#3 — Анимация персонажа в Unity 2D (знакомимся с Animation и Animator)Скачать

#3 - Анимация персонажа в Unity 2D (знакомимся с Animation и Animator)

Как сделать платформер на Unity #2 | Анимации и слежение камерыСкачать

Как сделать платформер на Unity #2 | Анимации и слежение камеры

2D анимации в Unity, покадровые анимации, переходы между анимациями (Animator)Скачать

2D анимации в Unity, покадровые анимации, переходы между анимациями (Animator)

Делаем 2д игру на Unity №1 Передвижение персонажа и анимацияСкачать

Делаем 2д игру на Unity №1 Передвижение персонажа и анимация

Создание 2D (PixelArt) RPG в Unity #1 — Простой уровень и анимация персонажаСкачать

Создание 2D (PixelArt) RPG в Unity #1 - Простой уровень и анимация персонажа

Top down передвижение в UnityСкачать

Top down передвижение в Unity

Переход анимации ( движение персонажа — ближний бой ) — Unity легкоСкачать

Переход анимации ( движение персонажа - ближний бой ) - Unity легко

Unity анимация 2D нарезка СпрайтЛистаСкачать

Unity анимация 2D нарезка СпрайтЛиста

عمل انميشن للاعب || 2D Animation in UnityСкачать

عمل انميشن للاعب || 2D Animation in Unity

unity 2d покадровая анимация ходьбы | как сделать анимацию ходьбы в unityСкачать

unity 2d покадровая анимация ходьбы | как сделать анимацию ходьбы в unity

Я хочу изменить скорость анимации до желаемой скорости во время выполнения программы. У меня есть скрипт С# и контроллер аниматора, прикрепленный к игровому объекту. По умолчанию скорость анимации в единстве равна 1. Я установил значение скорости по умолчанию для анимации в 0.3f. И во время выполнения программы я хочу, чтобы скорость анимации составляла 1.

using UnityEngine;
using System.Collections;
public class wowBoard : MonoBehaviour {
    [SerializeField]
    Animator anim;
    bool changeSpeed;
   void Start()
   {
      anim=GetComponent<Animator>();
     playAnim();
     changeSpeed=false;
    }

   public void playAnim()
   {
     anim.SetBool("show",true);
   }

   void Update()
  {
     if(changeSpeed)
        playChangeSpeedAnim();

   }

 public void playChangeSpeedAnim()
 {
    anim.speed=1;
    anim.SetBool("show",true);
 }
}

Скорость анимации не получил изменится на 1, даже логическое значение changeSpeed верно.

16 сен. 2016, в 08:25

Поделиться

Источник

2 ответа

Чтобы управлять скоростью анимации, вы можете использовать поле параметра множителя скорости в свойствах анимации.

Если вы выберите анимацию в аниматоре, вы увидите в инспекторе следующее:

Изображение 484159

Если вы установите флажок «Параметр», опция Multiplier будет включена. В поле Multiplier вы можете выбрать параметр типа float, а для скорости анимации будет установлено значение параметра.

Таким образом, вы можете просто создать новый параметр float с именем speed и изменить скорость анимации на X через скрипт, просто выполнив anim.SetFloat("speed", X);

Leo
16 сен. 2016, в 07:03

Поделиться

Вы меняете скорость своего объекта Animator, а не свою текущую анимацию.

Для этого есть два возможных решения:

  1. Получите текущий объект анимации и измените его скорость. Что-то вроде:

то есть:

animation["My animation name"].speed = 1f;
  1. Создайте два анимационных клипа внутри вашего аниматора (один работает на.3f и другие на 1f) и заставьте их запускаться в зависимости от вашего значения скорости. Затем вам просто нужно изменить значение скорости, чтобы заставить Animator переключаться между тем или другим:

то есть:

anim.SetFloat("speed", 1f);

или же

anim.SetFloat("speed", .3f);

manelizzard
16 сен. 2016, в 05:57

Поделиться

Ещё вопросы

  • 0C ++ Struct узел, как вставить строку и удалить конкретный узел?
  • 0Как использовать экспортированный класс из DLL
  • 0создание многоуровневого фрагмента документа
  • 0Вызов функции myfunction () из одного контроллера в другой в angularjs
  • 1Android настроить строку в ListPreference
  • 1проверить, если 2d массив действителен
  • 1Изменение изображения SplashScreen с помощью SplashScreen.setImageURL (ссылка);
  • 0как установить viewview из Mysql в адаптере, используя строковое значение
  • 0Как определить внутреннюю ширину браузера для мобильных устройств
  • 0Отправить FlashMessenger
  • 1установка границ или экстентов составленных графиков в HoloViews
  • 0PHP-код, чтобы дать позицию в соответствии с их баллами (1, 2, 3, 3, 5)
  • 0Расширенный поиск с помощью флажка в PHP
  • 0Как скрыть div в html из файла js контроллера, используя angularjs?
  • 1Как преобразовать массив wchar_t в байтовый массив для Java с помощью Swig?
  • 1Uint8ClampedArray image to jpg / png
  • 1Привязать селектор длинного списка к результату метода POST
  • 1Как использовать несколько обратных вызовов при зацикливании данных
  • 1Получить разницу между списком в кадре данных Pandas и внешним списком
  • 1Как преобразовать экземпляр пользовательского класса в кортеж
  • 0Получить данные в одном столбце
  • 1Почему свойство TotalCount в общей папке всегда возвращает 0 элементов?
  • 0Как добавить HTML / CSS с помощью редактора на DNN? Как добавить разметку, не полагаясь на модули?
  • 0AngularJS сортирует людей по алфавитному списку и фильтрует
  • 1Таймер обратного отсчета сбрасывается при обновлении страницы
  • 1Перетаскивание пальца на Motorola Droid
  • 1Как применить ffill к 1?
  • 1Модификация XML из разных задач одновременно
  • 1Извлечение файлов из папки res в исполняемом JAR-файле (если быть точным, в txt-файлы)
  • 1API YouTube v3 Проверка статуса обработки видео
  • 1Поместить массив в DataFrame как отдельный элемент
  • 1Чтобы проверить определенный формат в текстовом поле
  • 1Простой выходной вопрос
  • 0Ошибка памяти GDI + GetHBITMAP?
  • 0AngularJS отключить двухстороннее связывание
  • 0Mysql, создать вид из 2 таблиц [дубликата]
  • 0Предотвратить перезагрузку страницы после проверки на магистрали
  • 1Отказ запустить Tomcat от IntelliJ IDEA
  • 1Необходим ли bindService для локального (того же процесса) сервиса?
  • 1Как добраться до контекста приложения без использования скриптов в файлах JSP?
  • 0Я хочу расширить строку в таблице?
  • 0Есть ли простой и эффективный способ получить список всех USB-устройств в C # или C / C ++?
  • 1Как показать красные негативные файлы в моем HTML-файле?
  • 0Фильтр для показа и скрытия зарплаты
  • 0Указатель даты jQuery-ui в директиве angularjs
  • 0Принудительный цикл ожидания вставки MySQL перед переходом к следующей итерации
  • 1Вызов через C # вне процессов com объектов для Airfoil
  • 1как получить имя функции, вызываемой в классе через конструктор
  • 0Новичок: быстрый конструктор Q
  • 1Как отобразить источники в виде древовидной структуры в инструментах разработки Firefox

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить скины на кибер шоке
  • Как изменить сервер на faceit
  • Как изменить сейв файл
  • Как изменить сдельные расценки
  • Как изменить реквизиты для перечисления детских пособий через пфр

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии