Creare Videogiochi - Game Developer
Domanda su animazioni in 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: Domanda su animazioni in Unity.. (/thread-Domanda-su-animazioni-in-Unity)



Domanda su animazioni in Unity.. - Biagino - 01-09-2014

Ciao, vorrei farvi tre domande..
1. Come posso inserire un animazione che si compie solo una volta.. Cioè, che appena che il player si avvicina l'animazione parte e poi finisce.

2. Come posso creare discussioni tipo RPG.. Appena il Player si avvicina ad un Modello 3D parte la discussione.

3. Lo avevo chiesto in un altra discussione, avevate già risolto per quel progetto, ma ora per questo nuovo progetto cambia.. Allora.
Come posso far salvare la partita in modo che il giocatore appena apre il gioco, si trovi come aveva lasciato. ( Il giocatore dovrà trovare degli oggetti, quindi salverà la partita per poi aver tutto come aveva lasciato).

Grazie a tutti!! [emoji1]

P.s. scusate per la confusione..


RE: Domanda su animazioni in Unity.. - Blackg96 - 01-09-2014

Allora per il fatto dell'animazione devi disattivare il loop.
Il fatto della discussione devi utilizzare la funzione Vector3.Distance e dire che quando la distanza tra quell'oggetto ed il player è 1 o 0 o 2 sullo schermo appare un testo che puoi fare con OnGUI o GUIText o ancora 3D Text Mesh.

Per salvare la partita devi registrare la posizione con PlayerPrefs.SetFloat("positionx", transform.position.x); fai la stessa cosa anche con y e z.
Dopo in start devi mettere transform.position = new Vector3(PlayerPrefs.GetFloat("positionx"), PlayerPrefs.GetFloat("positiony"), PlayerPrefs.GetFloat("positionz"));

Spero di esser stato d'aiuto! Smile


R: RE: Domanda su animazioni in Unity.. - Biagino - 02-09-2014

(01-09-2014, 10:06 PM)Blackg96 Ha scritto: Allora per il fatto dell'animazione devi disattivare il loop.
Il fatto della discussione devi utilizzare la funzione Vector3.Distance e dire che quando la distanza tra quell'oggetto ed il player è 1 o 0 o 2 sullo schermo appare un testo che puoi fare con OnGUI o GUIText o ancora 3D Text Mesh.

Per salvare la partita devi registrare la posizione con PlayerPrefs.SetFloat("positionx", transform.position.x); fai la stessa cosa anche con y e z.
Dopo in start devi mettere transform.position = new Vector3(PlayerPrefs.GetFloat("positionx"), PlayerPrefs.GetFloat("positiony"), PlayerPrefs.GetFloat("positionz"));

Spero di esser stato d'aiuto! Smile

Grazie! Però ancora ho un problema, salvando la partita registrando la posizione, partirà da quel punto, ma non avrà salvato gli oggetti raccolti nel tragitto.. Non conosci qualche altro metodo?


RE: Domanda su animazioni in Unity.. - Blackg96 - 02-09-2014

Un altro metodo c'è si può fare soltando se come linguaggio utilizzi il c#, dovresti salvare posizioni ed id oggetto su un file di testo, ma non è questo il problema.
Allora ho bisogno di un altra info il sistema di inventario com'è fatto?


R: RE: Domanda su animazioni in Unity.. - Biagino - 07-09-2014

(02-09-2014, 02:37 PM)Blackg96 Ha scritto: Un altro metodo c'è si può fare soltando se come linguaggio utilizzi il c#, dovresti salvare posizioni ed id oggetto su un file di testo, ma non è questo il problema.
Allora ho bisogno di un altra info il sistema di inventario com'è fatto?

Più che un sistema di inventario, è una serie di oggetti da raccogliere.. Se io, per esempio, trovo un vaso, comparirà:"Vaso 1/2" raccogliendo l'altro, comparirà "Vaso 2/2" e darà un premio..


RE: Domanda su animazioni in Unity.. - Blackg96 - 07-09-2014

Allora praticamente non devi far altro che dire che quando raccoglio l'oggetto verrà settata con il playerprefs un int chiamata per esempio vaso, quindi fare così
if(PlayerPrefs.GetInt("vaso") == 0)
PlayerPrefs.SetInt("vaso", 1);
else if(PlayerPrefs.GetInt("vaso") == 1)
PlayerPrefs.SetInt("vaso", 2);
La prima riga vuol dire che se io non ho nessun pezzo del vaso allora quando lo prendo dice che ne ho 1, quando invece lo prendo ed ho 1 solo pezzo diventeranno 2.


quando prendi il