Due problemi con Unity - 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: Due problemi con Unity (/thread-Due-problemi-con-Unity) |
Due problemi con Unity - 93sunderland - 16-04-2016 Lo so che vi sto tartassando di domande, ma visto che nemmeno il forum ufficiale di Unity mi risponde allora sono sempre costretto a rompervi le palle PROBLEMA 1: Ho creato un trigger che fa partire un susseguirsi di animazioni e di rotazioni della MainCamera. Il problema è che al momento della fine di tutti questi eventi vorrei che la MainCamera si posizionasse in una posizione diversa da quella iniziale, ma così non accade. Credo di aver individuato già il problema: quando accadono questi eventi ho imposto che la MainCamera rimanga bloccata, ovvero bool blockCamera = true, ma quando finisce tutto la MainCamera potrà di nuovo muoversi, ovvero bool blockCamera = false, tuttavia nel momento in cui la MainCamera viene sbloccata, essa ritornerà con la stessa rotazione di partenza e questo causa molti problemi. A questo punto visto che, secondo me, il problema risiede nello script della MainCamera allora ve lo faccio vedere: Codice: using UnityEngine; PROBLEMA 2: Adesso mi sto occupando dei vari "crosshair", infatti vorrei che inizialmente il crosshair sia solo un pallino al centro, ma quando il Player guarderà verso degli oggetti interagenti allora il crosshair cambierà. Ad esempio ho creato delle porte che, se guardate, faranno variare il crosshair. Tuttavia ho notato che questo script funziona solo per una porta: ho provato a mettere tre porte uguali e con lo stesso script nella scena, ma solamente una di queste farà variare il crosshair. Qua non ho assolutissimamente capito il motivo, infatti vi farò vedere i tre script incriminati: il primo è quello della MainCamera che ho messo qua sopra e infatti si nota il void OnGUI (); il secondo è messo sotto ed è lo script che permette la variazione di crosshair; l'ultimo è solo una parte dello script delle porte che fa vedere quando il crosshair deve cambiare. Codice: using UnityEngine; Codice: void Update () Scusate per il topic chilometrico ma ho preferito creare un topic per due problemi anziché due topic per ognuno. Spero che possiate aiutarmi RE: Due problemi con Unity - Blackg96 - 16-04-2016 Non preoccuparti non rompi le scatole a nessuno siamo qui per aiutarvi Prova ad utilizzare i tag invece del name per il problema dei crosshair. Mentre per il primo problema non so come aiutarti RE: Due problemi con Unity - 93sunderland - 16-04-2016 anche utilizzando i tag non si risolve il problema ho notato che il problema è relativo solo al crosshair, infatti ho fatto una prova inserendo un'altra funzione (tipo variando un valore booleano) e il problema non sussiste praticamente è solo lo script Crosshair_Changes che viene chiamato solo da una porta RE: Due problemi con Unity - 93sunderland - 17-04-2016 il PROBLEMA 1 l'ho risolto (benché debba perfezionarlo), mentre il PROBLEMA 2 ancora sussiste RE: Due problemi con Unity - alessiobb3b - 18-04-2016 Codice: void Fungi() Ok così dovrebe andare se ho capito il tuo problema, con questo script quando il crossair si trova a distanza 1 dalla porta con tag "Door" si attiva il crossair che hai detto tu e se aggiungi alla scena un UI_text la scritta sarà quella che ho inserito. Altrimenti non compare nessuna scritta e il crossair è normale. Fammi sapere se ho risolto il problema Ciao a presto RE: Due problemi con Unity - 93sunderland - 19-04-2016 non funziona nemmeno questo purtroppo la cosa strana è che se inserisco una funzione che fa variare una variabile booleana insieme allo script del crosshair, accade che la variabile booleana varia in modo corretto, quindi con tutte le porte, mentre lo script del crosshair sempre solo per una porta RE: Due problemi con Unity - 93sunderland - 19-04-2016 Ho risolto il problema: praticamente non mi ero accorto che con quello script, se interagendo con una porta appariva un crosshair, contemporaneamente non interagendo con l'altra porta allora il crosshair scompariva, quindi lo script non funzionava correttamente. Ecco quello modificato Codice: void Update () Adesso la funzione che fa scomparire il crosshair, ovvero scriptCam.StopViewOpenableDoor (), parte solo quando la mainCamera si trova all'interno di un certo range da ogni porta, al di là del quale il crosshair non subirà modifiche fino a quando non si interagirà con un'altra porta (o la stessa di prima). Tutto funziona, ma non so perchè c'è qualcosa che non mi sconfinfera... se per caso questa soluzione potrebbe portare problemi sarei felicissimo di saperlo. |