Creare Videogiochi - Game Developer
Come potrei creare dialoghi su Unity 3D? - 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: Come potrei creare dialoghi su Unity 3D? (/thread-Come-potrei-creare-dialoghi-su-Unity-3D)



Come potrei creare dialoghi su Unity 3D? - Biagino - 12-09-2014

Ciao. Potreste spiegarmi come posso inserire dialoghi nel mio gioco creato con Unity 3D? Dovrei far in modo che.. Appena il player va in un oggetto è preme un tasto, parte una discussione.. Ho visto nell'Asset Store pezzi che costavano molto, io stavo cercando qualche cosa free..

Grazie ragazzi!!


RE: Come potrei creare dialoghi su Unity 3D? - WilSoft90 - 13-09-2014

Per far partire il dialogo puoi creare un trigger che quando sei al suo interno alla pressione del tasto parte lo script, per i dialoghi puoi usare le GUI e magari salvare i dialoghi in un .txt(o quello che vuoi) , farli caricare in un array e richiamare la stringa che ti serve ci sono diversi modi questo e il piu semplice che mi e venuto in mente e va bene anche se devi farlo multilingua


RE: Come potrei creare dialoghi su Unity 3D? - Blackg96 - 13-09-2014

Ci sono tanti metodi, il più semplice è quello con i collider ma è anche abbastanza incasinato.
Potresti utilizzare il metodo della classe Vector3, ovvero Vector3.Distance che non fa altro che restituire un valore di tipo float della distanza tra il player e l'oggetto di interazione Smile


RE: Come potrei creare dialoghi su Unity 3D? - Chip - 13-09-2014

Se quello che chiedi è solo un solo dialogo che parte appena tocchi/avvicini qualcosa vanno bene i suggerimenti che ti hanno dato.

Altrimenti se cerchi qualcosa di più complesso come un sistema che sia persistente e dinamico allora la cosa è più pesante, ecco il perché dei prezzi nell'asset store che di solito contengono anche editor grafici per gestire l'albero delle risposte.

Se il sistema deve gestire un intero set di frasi che vanno solo in una direzione e ricordarsi anche dove lo avevi interrotto (per evitare che se collidi di nuovo riparte da capo ma potresti anche volere così) allora devi tenere anche traccia dell'indice dell'array di cui parla Wilsoft90 a cui sei arrivato e ripartire da li.

Se poi deve avvenire un intero colloquio che può cambiare in base alle risposte che darai allora serve una macchina a stati finiti (in inglese la sigla FSM) che sia capace di riconoscere lo stato in cui è ed evolvere col discorso.
Le FSM sono necessarie in genere per qualsiasi PNG che abbia intelligenza

http://gamedev.stackexchange.com/questions/31/how-can-i-implement-dialog-trees-into-my-game
http://www.thefuntastic.com/2012/04/simple-finite-state-machine/
http://playmedusa.com/blog/a-finite-state-machine-in-c-for-unity3d/
http://wiki.unity3d.com/index.php?title=Finite_State_Machine
http://www.voidinspace.com/2013/05/a-simple-finite-state-machine-with-c-delegates-in-unity/