Ошибка
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?
Итак, как мне создать игру, если мне нужно использовать анимацию для моих объектов?
для использования анимации на объектах не требуется unityeditor.animations... поэтому возникает вопрос, что именно вы делаете?
общедоступный AnimatorController MenuPose; <---- Я использую их в своем коде
но почему? что ты делаешь, что нужно менять контроллер?
Пожалуйста, опубликуйте свой полный пример кода... вы не можете использовать в сборке только инструменты редактора... есть причина, по которой это находится в выделенной сборке и пространстве имен;) Чтобы рассказать вам, как делать то, что нам нужно знайте, что именно вы пытаетесь сделать в первую очередь





поместите сюда свой код
#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, потому что твой ответ не имеет особого смысла, если честно... одно это все равно приведет к той же проблеме в любом месте, где код касается вашего поля...
Вы не можете использовать редактор Unity во встроенных играх, вы просто не можете, они вам не позволяют.