Невозможно анимировать интерактивный игровой объект с помощью набора инструментов Mixed Reality
Я новичок в разработке Unity Engine и приложений для смешанной реальности, поэтому, пожалуйста, потерпите меня.
Я работал с Microsoft Mixed Reality Toolkit для Unity, чтобы попытаться анимировать игровой объект и переместить его в сторону. Простое действие, очень похожее на пример сцены, предоставленной Microsoft с инструментарием под названием "InteractableObject" (Информационные ссылки предоставлены ниже)
Взаимодействующий объект - смешанная реальность (Microsoft Docs)
Mixed Reality Toolkit-Unity Взаимодействующие объекты и приемники (Github)
Этот пример сцены в Unity имеет несколько объектов, которые будут использоваться в качестве "кнопок". С помощью набора инструментов для смешанной реальности даже объекты, с которыми пользователь должен взаимодействовать, чтобы выполнить какое-то действие, даже если он выбран, считаются кнопкой. По крайней мере, согласно документации, которую я действительно смог найти по этому вопросу. Это серия снимков экрана, на которых изображены панели инспектора для моего GameObject и контейнер для моего объекта:
Панель инспектора GameObject
Панель инспектора контейнера GameObject (часть 1
Панель инспектора контейнера GameObject (часть 2
Я пытаюсь заставить один игровой объект переместиться в сторону, когда я помещаю на него стандартный курсор. Это то же самое действие выполняется с объектом-шаром в примере сцены, которую я упоминал. Я создал аниматор и конечный автомат так же, как они сделали в этом примере, а также настроил мой игровой объект в почти идентичном формате. Единственное реальное отличие состоит в том, что они сами создали воздушный объект, и я использую другой набор пользовательских моделей из моей компании.
Когда я пытаюсь воспроизвести приложение в редакторе Unity, состояние не меняется, когда я помещаю курсор на объект. Я могу принудительно изменить состояние с помощью редактора и задействовать требуемую анимацию, но она не изменит состояние самостоятельно. Я настроил свой конечный автомат так же, как в примере с Microsoft, и настроил свою переменную состояния также. Он должен перейти из состояния "Наблюдение" в состояние "Целевой" или "ObservationTargeted", когда курсор перемещается на объект. Ниже приведен снимок экрана конечного автомата GameObject и панели инспектора соответствующего перехода:
GameObject Animator State Machine Настройка
Наблюдение за ObservationTargeted Transition Inspector Panel
Я прошел и убедился, что все компоненты, добавленные в Mixed Reality Toolkit, одинаковы и есть. Это включает DefaultCursor, InputManager, MixedRealityCameraParent и Directional Light. Я также проверил, что все сценарии были закодированы одинаково, и они есть. У меня не хватает мест, чтобы посмотреть. Я подключил отладчик Visual Studio к проекту в Unity и убедился, что он сам по себе не меняет состояние. Но я не могу понять, почему. Я полагаю, что проблема связана с настройкой перехода, но я не смог найти проблему. Все остальные упомянутые компоненты предоставлены Microsoft и не изменены ни мной, ни в образце сцены.
Если у кого-то еще была подобная проблема, или, возможно, знаете, где я могу ее найти, пожалуйста, дайте мне знать. Я еще даже не встроил проект в приложение UWP.
0 ответов
Я знаю, что прошло несколько месяцев, но вы все еще ищете решение?
С новейшей версией Mixed Reality Toolkit вы можете заставить любой GameObject действовать как кнопку. Просто прочтите эту документацию. У меня есть несколько кубиков в качестве кнопок в моем проекте Unity, и единственный дополнительный компонент, который я добавил к нему, чтобы заставить его работать, былInteractable
, который взят из набора инструментов для смешанной реальности.
Если вы хотите запускать анимацию, когда помещаете курсор на объект (или смотрите на него, если собираетесь использовать его с Hololens), вы можете добавить их в Interactable
объект, добавив новое событие (например: OnFocus()
событие)
Надеюсь, это поможет в любом случае