Как мне создать проект Unity, если мне нужно использовать UnityEditor.Animations?

Ошибка

Assets\Scripts\Animatronic AI\Freddy.cs(2,19): error CS0234: The type or namespace name 'Animations' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)

В моей игре есть анимация, и я не могу создать свою игру из-за этой строки

using UnityEditor.Animations;

я заменил каждый

using UnityEditor.Animations;

с

#if UNITY_EDITOR
using UnityEditor.Animations;
#endif

однако он все еще говорит

Assets\Scripts\Animatronic AI\Freddy.cs(23,12): error CS0246: The type or namespace name 'AnimatorController' could not be found (are you missing a using directive or an assembly reference?)

Если я не смогу использовать AnimatorControllers, моя игра не будет работать. Как мне это исправить и построить с помощью контроллеров Animator?

Вы не можете использовать редактор Unity во встроенных играх, вы просто не можете, они вам не позволяют.

BugFinder 21.05.2024 15:41

Итак, как мне создать игру, если мне нужно использовать анимацию для моих объектов?

Coco 21.05.2024 15:41

для использования анимации на объектах не требуется unityeditor.animations... поэтому возникает вопрос, что именно вы делаете?

BugFinder 21.05.2024 15:46

общедоступный AnimatorController MenuPose; <---- Я использую их в своем коде

Coco 21.05.2024 15:47

но почему? что ты делаешь, что нужно менять контроллер?

BugFinder 21.05.2024 16:21

Пожалуйста, опубликуйте свой полный пример кода... вы не можете использовать в сборке только инструменты редактора... есть причина, по которой это находится в выделенной сборке и пространстве имен;) Чтобы рассказать вам, как делать то, что нам нужно знайте, что именно вы пытаетесь сделать в первую очередь

derHugo 22.05.2024 09:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
61
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

поместите сюда свой код

#if UNITY_EDITOR

public AnimatorController MenuPose;

#endif

Не видя вашего реального варианта использования, сложно сказать вам, что делать.

В общем: невозможно использовать UnityEditor вещи в сборке. Предполагается, что эти вещи существуют и используются только внутри самого редактора Unity и удаляются (а лучше просто не включаются) в сборку. Есть причина, по которой они живут в своей собственной сборке и пространстве имен.


Прямое решение, вероятно, таково: вы просто хотели

  • либо вместо этого используйте более общий RuntimeAnimatorController, который предоставляет вам доступ к соответствующим AnimationClips.

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


Если вам нужен доступ только к контроллеру в редакторе. Например, чтобы выполнять автоматические действия в OnValidate, вы можете обернуть его с помощью препроцессоров.

#if UNITY_EDITOR
// NOT only the namespace using but ANY code block that touches it!
#endif

Недостаточно просто обернуть оператор using, вам придется обернуть ЛЮБОЙ БЛОК КОДА, который использует пространство имен или переменные типа из этого пространства имен и т. д. Эти препроцессоры по сути сообщают компилятору, что эти вещи следует игнорировать, когда здание - их вообще не будет в сборке.

Так что, если вы действительно намеревались получить к нему доступ в сборке — нет, это не будет решением! А на самом деле ничего нет, кроме реализации полной собственной системы анимации, которая бы это позволяла.

Я уже ответил на свой вопрос, почему люди до сих пор отвечают на lmao. Кроме того, мне буквально просто нужно было сделать редактор if unity. Это все исправило

Coco 28.05.2024 15:53

@Coco, потому что твой ответ не имеет особого смысла, если честно... одно это все равно приведет к той же проблеме в любом месте, где код касается вашего поля...

derHugo 28.05.2024 15:55

Другие вопросы по теме

Как удалить файл .aab, который я загрузил в пакет Android Explorer и выпустил для внутреннего тестирования?
Android-приложение Unity аварийно завершает работу при установке из Google Play Store
Встроенная игра Unity не создается. Сообщение об ошибке: сжатие Brotli может не поддерживаться через HTTP-соединения
Репозиторий Unity Git ломается при клонировании
Почему мой снаряд движется в неправильном направлении?
Как я могу изменить этот блок кода для обнаружения столбцов, состоящих из 3 или более синих кубов (Unity)
Загрузка необработанных данных текстуры/получение данных из вычислительного шейдера
Unity зависает при открытии проекта на этапе «Загрузка сборок сценариев» или «Начальное обновление базы данных ресурсов»
UNITY В режиме прокрутки, как мне перетаскивать, когда я нажимаю на дочерние элементы?
Добавлен куб внутри левой/правой руки Unity XR, и он выдал мне ошибку «Индекс вне диапазона», несмотря на то, что я еще даже не писал код

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

Является ли наличие полного запроса OpenIddict в ReturnUrl для моей страницы входа в систему стандартной и безопасной практикой? .NET 8.0
Задача не ожидает ожидания в консольном приложении
Как включить swagger во внутренней среде разработки, которая не является локальным хостом
Указатели функций C# вызывают нарушение прав доступа при вызове из C++
Есть ли краткий способ написать это условное выражение на С#?
Элемент представления, доступ к которому осуществляется в коде программной части, имеет значение null, когда его следует инициализировать. Почему?
Исключение файла среды выполнения или сборки не найдено в контейнере докеров
Строка разметки кнопки в Blazor (С#) из CodeBehind не запускает событие onclick
Как передать значение свойства только для инициализации во вложенный класс?
Десериализовать JSON (не в массиве) с помощью C# и записать в таблицу SQL