Тип или имя пространства имен "Animations" не существует в пространстве имен "UnityEditor" - PullRequest
0 голосов
/ 18 июня 2020

При построении проекта появляется ошибка, что «Тип или имя пространства имен 'Animations' не существует в пространстве имен 'UnityEditor'», но Visual Studio не показывает ошибок и все библиотеки подключены, я нашел решение как загрузить файл dll в подключаемый модуль, но не нашел, где скачать файл dll UnityEditor. Я хочу использовать Animator Controller в единственном редакторе.

using UnityEngine;
using UnityEditor.Animations;

public class SkinSetter : MonoBehaviour
{
    public Animator anim;

    public AnimatorController skin1;
    public AnimatorController skin2;
    public AnimatorController skin3;
    public AnimatorController skin4;
    public AnimatorController skin5;
    public AnimatorController skin6;
    public AnimatorController skin7;
    public AnimatorController skin8;



    private void Start()
    {
        SetSkin(PlayerPrefs.GetInt("SkinSelect"));
    }

    public void SetSkin(int ID)
    {
        switch (ID)
        {
            case 1:
                anim.runtimeAnimatorController = skin1;
                break;
            case 2:
                anim.runtimeAnimatorController = skin2;
                break;
            case 3:
                anim.runtimeAnimatorController = skin3;
                break;
            case 4:
                anim.runtimeAnimatorController = skin4;
                break;
            case 5:
                anim.runtimeAnimatorController = skin5;
                break;
            case 6:
                anim.runtimeAnimatorController = skin6;
                break;
            case 7:
                anim.runtimeAnimatorController = skin7;
                break;
            case 8:
                anim.runtimeAnimatorController = skin8;
                break;
        }

    }

}

1 Ответ

0 голосов
/ 18 июня 2020

Как уже упоминалось, вы не хотите использовать что-либо, связанное с UnityEditor, в вашем MonoBehaviour, по крайней мере, не в коде, который будет выполняться в вашем приложении позже.

Он используется только для реализации некоторых специальных поведения при работе в редакторе Unity, в основном для настраиваемых инспекторов.

Это пространство имен полностью удаляется во время сборки. Таким образом, вы получите ошибки компилятора при сборке.


Вы должны сделать свои поля типа RuntimeAnimatorController

public RuntimeAnimatorController skin1;
...

и удалить все using оператор, содержащий UnityEditor из вашего скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...