Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Работа со смешанными формами

Подготовка иллюстрации

После того как вы настроите формы перехода в приложении для 3D-моделирования (например, Autodesk® Maya®):

  1. В приложении для 3D-моделирования включите следующие параметры экспорта:
    • Включить экспорт анимации.
    • Включить экспорт плавных форм для деформированных моделей.
  2. Экспортируйте свой выбор в файл .fbx.
  3. Импортируйте файл FBX в Unity.
  4. Выберите только что импортированную модель в окне "Иерархия". ИнспекторОкно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет просматривать и редактировать значения . Дополнительная информация
    См. в окне Словарь
    отображается раздел BlendShapes, содержащий все формы перехода под компонентом SkinnedMeshRenderer.
  5. Для каждой из перечисленных фигур перехода можно изменить ее влияние (вес) на форму по умолчанию, где:
  6. 0 означает, что форма перехода не имеет значения.
  7. 100 означает, что форма перехода имеет полное влияние.

Создание анимации в Unity

Чтобы создать смешанную анимацию:

  1. Откройте окно анимации (в главном меню Unity: Окно > Анимация > Анимация).
  2. В левой части окна нажмите Добавить кривую и добавьте форму перехода. В окне инспектора отображается новая форма перехода в разделе BlendShapes под компонентом SkinnedMeshRenderer.

Создайте нужную анимацию, настроив ключевые кадрыКадр, отмечающий начальную или конечную точку перехода в анимации. . Кадры между ключевыми кадрами называются промежуточными.
Смотрите в Словарь
и смешивайте веса.

Для предварительного просмотра анимации нажмите Воспроизвести в окне редактора или окне анимации.

Доступ к сценариям

Вы также можете установить веса смешивания с помощью сценариев, используя такие функции, как GetBlendShapeWeight и SetBlendShapeWeight.

Чтобы проверить, сколько форм перехода используется в Meshосновном графическом примитиве Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в разделе Словарь
, используйте blendShapeCount переменная.

В этом примере кода показано, как с течением времени смешивать форму по умолчанию с двумя другими формами смешивания при прикреплении к GameObjectосновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
с тремя или более формами перехода:

using UnityEngine; using System.Collections; public class BlendShapeExample : MonoBehaviour { int blendShapeCount; SkinnedMeshRenderer skinnedMeshRenderer; Mesh skinnedMesh; float blendOne = 0f; float blendTwo = 0f; float blendSpeed = 1f; bool blendOneFinished = false; void Awake () { skinnedMeshRenderer = GetComponent (); skinnedMesh = GetComponent ().sharedMesh; } void Start () { blendShapeCount = skinnedMesh.blendShapeCount; } void Update () { if (blendShapeCount > 2) { if (blendOne < 100f) { skinnedMeshRenderer.SetBlendShapeWeight (0, blendOne); blendOne += blendSpeed; } else { blendOneFinished = true; } if (blendOneFinished == true && blendTwo < 100f) { skinnedMeshRenderer.SetBlendShapeWeight (1, blendTwo); blendTwo += blendSpeed; } } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3