Unity3d. Easing functions в Unity & DoTween
-
Функции анимации для Unity
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://easings.net" data-iframely-url="//iframely.net/api/iframe?align=left&url=https%3A%2F%2Feasings.net&key=ae3f7efe69fd7659776282ad948bd52b"></a></div></div><script async src="//iframely.net/embed.js" charset="utf-8"></script>
FrameWork для UNity3d: https://dotween.demigiant.com/
Документация: https://dotween.demigiant.com/documentation.phpПринцип:
- Узнаем, что анимировать. Например, подсветку.
- Узнаем, как анимировать. Например, идем https://easings.net/ смотрим график и тип анимации. Например, мне нужна анимация easeOutSine. По ней должна меняться частота цвета подсветки
- Далее ищем какой-нибудь пример в поисковике по работе с цветом. Пусть это будет
using DG.Tweening; using UnityEngine; public class ColorChanger : MonoBehaviour { [SerializeField] private MeshRenderer meshRenderer; private void Awake() { // меняется цвет материала DOVirtual.Color(Color.black, Color.white, 10, (value) => { meshRenderer.material.color = value; }); } }Смотрим документацию

...В этом примере, material при каждом разе пересоздается с новым цветом в каждом кадре отрисовки, поэтому надо менять на sharedMaterial. Этот пример надо переделать с анимацией
-
Ищем функцию анимации

-
Пишем пример. Анимируем мерцание цвета с возрастающей частотой по InQuint
IEnumerator ShowWriteButton() { Image image = writeButton.GetComponent<Image>(); Color originalColor = image.color; float frequency = 0; DOVirtual.Float(0.01f, 0.1f, 1f, v => frequency = v).SetEase(Ease.InQuint); var currentTime = Time.time; yield return new WaitForSeconds(0.5f); while (Time.time - currentTime <= 1f) { image.color = originalColor; yield return new WaitForSeconds(frequency); image.color = colorWrite; yield return new WaitForSeconds(frequency); } } StartCoroutine(ShowWriteButton());В этом примере происходят параллельно две операции: изменение частоты по InQuint и использование этой частоты для подсветки кнопки. Много примеров в документации...
Dotween библиотека популярна. Её можно использовать для полета камеры, для перемещения объектов, подсветки и т.п.
Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти