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

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

Поделиться

Ещё вопросы

  • 0Не работает директива в угловых
  • 0получить строку между двумя словами со страницы в php
  • 0Ячейка таблицы HTML — восстановление значений
  • 0Что эквивалентно SELECT в mongodb?
  • 0Сделать вектор определенного размера без использования push_back
  • 0Как заставить мой заголовок быть сверху?
  • 1Hibernate: ограничить количество строк в таблице
  • 1Сортировка строк с выделением сортировки по щелчку мыши
  • 0Подсчитайте отличительные логические значения для каждого идентификатора в уникальных группах
  • 0Выбор данных из базы данных за эту неделю, кроме сегодняшнего дня
  • 0OpenCV VideoCapture :: set () возвращает false, но успешно
  • 0Добавление div с load () на иконку для многих братьев и сестер
  • 0реализовать код для всех элементов, кроме первого
  • 1Доступ к USB-порту в C # [закрыт]
  • 0jQuery .html получает только последнее значение JSON
  • 1Настройка цвета фона элемента списка теряет подсветку
  • 1SCORM: веб-плеер SCORM на Java [закрыт]
  • 0Управлять результатами, хранящимися в «обещании»
  • 1как оценить следы журнала на основе периода времени
  • 0Проблемы с выравниванием содержимого по сетке
  • 1Входные строки должны быть кратны 16 Python Pycrypto
  • 0C ++ — доступ к значениям в динамических массивах
  • 1selenium.common.exceptions.WebDriverException: Сообщение: неизвестная ошибка: невозможно обнаружить открытые страницы во время выполнения теста через InstaPy и selenium
  • 0Загрузите Java-апплет с правилами Jess в HTML
  • 0Размещение div2, когда содержимое больше, чем размер div1
  • 0JQuery Хорошая практика кодирования
  • 1Добавление записей в столбцы даты и времени Pandas в Python
  • 0Угловые ng-опции с фильтром, получающим бесконечную ошибку дайджеста
  • 1Сохранение и восстановление состояния в Android
  • 0Функция jquery bind с событием resize. ПОСЛЕ функции загружается с событием click.
  • 1Как отправлять сообщения асинхронно, чтобы поставить их в очередь, не ожидая ответа на каждое сообщение весной amqp, используя rabbitmq в java?
  • 1Поддержка Android 2.0 и OpenGL ES 2.0
  • 1Фильтрующий массив на основе нескольких ключей, где ключи являются динамическими по своей природе
  • 0CSS и html flip box попробуйте сделать
  • 0невозможно получить данные, отправленные с запросом get на сервер узла
  • 1Словарь, отображающий несколько функций на ключ — Python
  • 0Как я могу отформатировать способ, которым Apache регистрирует ошибку?
  • 1Скопируйте Итератор
  • 0Подтверждение: Введено — целое число? QT c ++
  • 0Preg матч с запросом
  • 0Неожиданный токен JSON.parse
  • 0Интеграция клиринга Zurb Foundation с масонством
  • 0Извлечение массива из многомерного массива в php
  • 1Ошибка в отображении отношения один ко многим в спящем режиме
  • 3Применение StandardScaler в конвейере в scikit-learn (sklearn)
  • 1Компиляция программы в Eclipse, но не в командной строке
  • 1Декодирование Reedsolomon Polynomial Coeffs Возвращает пустой байтовый массив
  • 0повторить с данными JSON
  • 1Упаковка внешних файлов с развертыванием JavaFX
  • 1У меня есть ListView с использованием специального адаптера ArrayList — каков наилучший способ реализации фильтрации? У кого-нибудь есть пример кода для изучения?

Сообщество Overcoder

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

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

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

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

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