Получите все состояния Animator и установите их вручную в коде.C#

Место общения программистов C#
Ответить
Anonymous
 Получите все состояния Animator и установите их вручную в коде.

Сообщение Anonymous »

Я наткнулся на то, что никогда не считал проблемой, но... это так.
Я пишу набор инструментов для визуализации/моделирования, используя Unity 5.5.

Используемая модель уже импортирована, а анимационные ролики настроены через редактор. Вот как выглядит мой контроллер состояния анимации:

Изображение
Я хочу отображать AnimationStates в раскрывающемся меню. Всякий раз, когда пользователь выбирает запись, текущее состояние анимации должно быть установлено на выбранное.

Э.Г. Пользователь выбрал автовоспроизведение: состояние установлено на автозапуск клипа, затем на SimpleRotate, затем на ComplexRotate и снова на автозапуск (простой цикл).

Но если пользователь выбирает Idle, ComplexRotate 0 или SimpleRotate 0, анимация должна воспроизводиться один раз, а затем оставаться в конце клипа. (Точно так же, как я сделал это в контроллере анимации.

Вот псевдоверсия того, что я хочу:

Код: Выделить всё

//Retrieve all states to populate the dropdown:
List states = myAnimationController.GetAllStates();

foreach(AnimationState state in states)
Dropdown.add(state.name)

//callback
OnDropdownIndexChanged(int item)
{
string stateName = ..... //removed for simplicity
myAnimationController.setState(stateName)
}
Кроме того, было бы неплохо, если бы я мог проверять переходы ОТ и ДО состояний. (Автовоспроизведение — единственное состояние, которое должно отображаться в раскрывающемся списке цикла)

Можно ли это реализовать с помощью специального контроллера анимации? Или я что-то пропустил?

Подробнее здесь: https://stackoverflow.com/questions/417 ... ly-in-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»