Понимание анимации управляемых персонажей

Я новичок, пытающийся изучить основы Unity3D (5), прежде чем начать делать реальные вещи. Несмотря на то, что я отметил его как Unity3D, логика должна быть одинаковой для всех типов игровых движков. Поэтому я буду рад, если вы поделитесь своим опытом, даже если вы не используете Unity.

Предположим, что вы импортируете символ "Лампа" (fbx) в Pixar. (Прыжки, движение вперед маленькими прыжками и т. Д.)

ИЛИ

Предположим, что вы в основном импортируете гуманоидную модель с анимацией из Unity Asset Store. (Я знаю, что они, как правило, тоже включают контроллеры, предположим, что нет контроллеров)

В единстве я хочу сделать прыжок персонажа, поэтому я использую анимацию прыжка. Но я действительно хочу, чтобы он прыгнул. Также, когда я двигаю его вперед, я действительно хочу, чтобы он двигался вперед, применяя силу или устанавливая ее скорость. Возможно, они не будут соответствовать анимации, и даже если они совпадут, мои собственные физические манипуляции будут смешаны с преобразованиями анимации. Даже если я помещаю анимацию /объект в другой объект GameObject, он меняет положение и /или вращение родительского объекта GameObject. Таким образом, анимация изменяет эти значения, и я также изменяю их сам ... Результатом будет сочетание всего, что очень трудно, если не невозможно, синхронизировать или вычислить.

То же самое справедливо практически для любой анимации, включая прыжки. Например, анимация переходит, и я также заставляю объект прыгать. Это создаст двойной прыжок. Если я только позволю анимации делать это, я не смогу контролировать, как она на самом деле себя ведет как будто он приседает (фактически прыгает, но в каждом кадре трансформируется в 0,0, так что в Unity изменение вертикальной позиции это исправит ...) синхронизировать тоже будет сложно.

Что мне здесь не хватает? Какое руководство здесь?

3 голоса | спросил frankish 13 AMpMon, 13 Apr 2015 10:55:29 +030055Monday 2015, 10:55:29

1 ответ


1

В движке анимации Unity Mecanim используется концепция Root Motion для управления анимацией (при условии, что анимация содержит соответствующие данные).

Если вы предпочитаете перемещать /вращать объект gameObject самостоятельно, вы можете отключить корневое движение анимации в каждой отдельной анимации в процессе импорта ресурса на вкладке «Анимация». Это позволит вам затем управлять анимацией, используя сценарий и т. Д.

Я считаю, что вы ищете в следующем справочном материале: http://docs.unity3d.com/Manual/ScriptingRootMotion.html

По сути, если вы переопределите метод void OnAnimatorMove () в скрипте MonoBehaviour, который присоединен к вашему анимированному gameObject, компонент Animator распознает, что анимации gameObject должны быть «обработаны сценарием».

ответил DanoThom 14 PMpTue, 14 Apr 2015 17:45:55 +030045Tuesday 2015, 17:45:55

Похожие вопросы

0
Бенчмаркинг в таблице C # ASCII в BrainfuckUnit работы и репозитория с платформой Entity Framework 6 Теперь уже работает FizzBuzz? Признак доступа к переменным классов с использованием itshared_ptr и FILE для переноса cstdio (обновление: также dlfcn.h) Thread-Safe и Lock-Free - Queue РеализацияИнтервью для кодирования: Fizz BuzzRaspberry PI управляемый автомобиль (код для 6-летнего) Переводчик Charmander Brainfuck в HaskellSimon Говорит: «Сделайте мне симпатичную игру». Мы будем считать звезды. Еще один синтаксический анализатор C ++ JSON. Эффективное возведение в квадрат каждого элемента в отсортированном массиве , сохраняя его отсортированным генератором изображений и средством просмотра. Релевантность в «Ростом Полотенце взаимного понимания». Группировка элементов в массиве с помощью нескольких свойств. Запись музыки на компьютере в WAV-файл в C16-битном FizzBuzz в x86. Сборник NASM. Набор для создания вопросов CodeReview. Определение минимального скалярного продукта с использованием Игра ST MonadConway's Life в C ++ Экспорт типов документов с использованием очередей и многопоточностиSHOUTY_SNAKE_CASED NUMBERSR эмулирование элементов в списке при повторении через itList <T> реализация для решения VB6 /VBADynamic для решения проблемы с рюкзакомRepository /Design Design Pattern Правильный способ повесить manBrainfuck на компилятор сборки x86

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132