Creare Videogiochi - Game Developer
not set to an instance of an object - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: not set to an instance of an object (/thread-not-set-to-an-instance-of-an-object)



not set to an instance of an object - m.gugliu - 18-12-2017

Salve, 
sto cercando di realizzare una sorta di virtual tour con unity. Ho importato un modello 3d realizzato da fotogrammetria e creato una first persona in modo da muovermi liberamente nel modello. Vorrei far comparire un'interfaccia nel momento in cui la first person incontra un oggetto (interfaccia testo compare come risposta all'urto). Il problema mi compare nello script dandomi l'errore citato nell'oggetto della discussione. Lo script è un componente dell'oggetto "motore" che viene impattato dal first person. Vi allego il codice, chiedo un consiglio a gente più competente di me. Vi ringrazio anticipatamente per un eventuale risposta
public class Impatto : MonoBehaviour {
    GameObject menu = null;
    // Use this for initialization
    void Start () {
        menu = GameObject.FindGameObjectWithTag ("menu");
        menu.SetActive (false);
    }
    
    // Update is called once per frame
    void Update () {
        
    }
    void OnCollisionEnter(Collision collisione)
    {
        if (collisione.gameObject.tag == "primapersona")
            menu.SetActive (true);
        if (Input.GetKey (KeyCode.Escape))
            menu.SetActive (false);
    }
}



RE: not set to an instance of an object - aandrea1974 - 18-12-2017

Controlla se la seguente istruzione valorizza "menu":
Codice:
menu = GameObject.FindGameObjectWithTag ("menu");

Metti un breakpoint e poi esegui il progetto Unity da Visual Studio, usando l'opzione "Collega a Unity e gioca".
E' probabile che non trova l'oggetto con tag menu.

Poi ho un dubbio sulla seguente istruzione:
Codice:
if (Input.GetKey (KeyCode.Escape))
           menu.SetActive (false);

Credo dovresti metterla all'interno del metodo Update()


RE: not set to an instance of an object - m.gugliu - 19-12-2017

Perdona la domanda banale ma come applico un breakpoint a quella riga ?


RE: not set to an instance of an object - aandrea1974 - 19-12-2017

(19-12-2017, 06:34 PM)m.gugliu Ha scritto: Perdona la domanda banale ma come applico un breakpoint a quella riga ?

F9 sulla riga o click destro e "inserisci punto di interruzione" nella triste versione italiana o "Insert breakpoint" nella versione inglese.