Ошибка компиляции Unity

Программирование на Юнити.

Ошибка компиляции Unity

Сообщение boboooooooo 02 янв 2021, 20:33

Использую Unity 5.6, решил скомпилировать, посмотреть, работает ли все как надо. В итоге, после компиляции не могу подбирать предметы. Скрипт работает, так как надпись на экране появляется при входе в триггер. Но подбирать почему то не могу. Для примера вот код одного из предметов:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PliersPickup : MonoBehaviour {

    bool enter = false;
    public AudioSource pickFX;
    public AudioClip pickfx;
    public GameObject BackyardKey;
    public GameObject Pliers;
    public Transform SpawnPos;

    public GameObject BackyardKeyObj;

    public GameObject EPI;

    public GameObject Code1;
    public GameObject Code2;
    public GameObject CodeDone;

    public GameObject Code1Obj;
    public GameObject Code2Obj;
    public GameObject CodeDoneObj;

    public GameObject Hammer;

    public GameObject HammerObj;

    public GameObject MainDoorKey;
    public GameObject MainDoorKeyObj;

    // Use this for initialization
    void Start()
    {
               
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.E) && enter)
        {
            pickFX.PlayOneShot(pickfx);
            EPI.GetComponent<ElectroPanelInteract>().closed = false;
            if (BackyardKey.active == true)
            {
                BackyardKey.SetActive(false);
                Instantiate(BackyardKeyObj, SpawnPos.position, Quaternion.identity);
            }
            else if (Code1.active == true)
            {
                Code1.SetActive(false);
                Instantiate(Code1Obj, SpawnPos.position, Quaternion.identity);
            }
            else if (Code2.active == true)
            {
                Code2.SetActive(false);
                Instantiate(Code2Obj, SpawnPos.position, Quaternion.identity);
            }
            else if (CodeDone.active == true)
            {
                CodeDone.SetActive(false);
                Instantiate(CodeDoneObj, SpawnPos.position, Quaternion.identity);
            }
            else if (Hammer.active == true)
            {
                Hammer.SetActive(false);
                Instantiate(HammerObj, SpawnPos.position, Quaternion.identity);
            }
            else if (MainDoorKey.active == true)
            {
                MainDoorKey.SetActive(false);
                Instantiate(MainDoorKeyObj, SpawnPos.position, Quaternion.identity);
            }
            Pliers.SetActive(true);
            Destroy(gameObject);
        }
    }

    void OnGUI()
    {
        if (enter)
        {
            GUI.Label(new Rect(Screen.width / 2 - 15, Screen.height - 100, 150, 30), "Cutting Pliers (E)");
        }
    }

    // Activate the Main function when Player enter the trigger area
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            enter = true;
        }
    }

    void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            enter = false;
        }
    }
}
 

Буду благодарен если поможете. :D
boboooooooo
UNец
 
Сообщения: 6
Зарегистрирован: 31 дек 2020, 17:19

Re: Ошибка компиляции Unity

Сообщение Alkos26Rus 02 янв 2021, 23:11

Это гадание на кофейной гуще. Что угодно может быть не так, в самом то редакторе все работает?
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Ошибка компиляции Unity

Сообщение boboooooooo 02 янв 2021, 23:13

Alkos26Rus писал(а):Это гадание на кофейной гуще. Что угодно может быть не так, в самом то редакторе все работает?

В самом редакторе все работает как нужно, но в скомпилированной игре не могу подбирать предметы.
boboooooooo
UNец
 
Сообщения: 6
Зарегистрирован: 31 дек 2020, 17:19

Re: Ошибка компиляции Unity

Сообщение Alkos26Rus 02 янв 2021, 23:36

Странно, что в редакторе работает а в билде нет, может после билда выдает ошибки или предупреждения? Предмет который хочешь поднять удаляется, если удаляется то скрипт дошол до конца и все работает, если нет то случилась ошибка на каком то этапе? Вобще нужно для таких случаев использовать логрепортер, можно поискать в ассетсторе и он показывает ошибки запущенной сбилденной версии. Ну или выводить сообщения на экран вручную, тоесть прописать в каждой строке лог, и видеть до какого этапа дошол код и на каком месте у него ошибка.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Ошибка компиляции Unity

Сообщение boboooooooo 03 янв 2021, 11:15

Alkos26Rus писал(а):Странно, что в редакторе работает а в билде нет, может после билда выдает ошибки или предупреждения? Предмет который хочешь поднять удаляется, если удаляется то скрипт дошол до конца и все работает, если нет то случилась ошибка на каком то этапе? Вобще нужно для таких случаев использовать логрепортер, можно поискать в ассетсторе и он показывает ошибки запущенной сбилденной версии. Ну или выводить сообщения на экран вручную, тоесть прописать в каждой строке лог, и видеть до какого этапа дошол код и на каком месте у него ошибка.

Установил ассет, показывает что у меня не указан объект. Странно, в редакторе все указано. (NullReferenceException: Object reference not set to an instance of an object)
boboooooooo
UNец
 
Сообщения: 6
Зарегистрирован: 31 дек 2020, 17:19

Re: Ошибка компиляции Unity

Сообщение boboooooooo 03 янв 2021, 11:30

О черт, я понял в чем проблема. У меня просто не были указаны звуки для предметов, поэтому и не поднимались) спасибо за то что подсказали важную вещь - лог репортер. Проблема наконец то решилась. С прошедшим)
boboooooooo
UNец
 
Сообщения: 6
Зарегистрирован: 31 дек 2020, 17:19


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17