LUCE CON TORCIA

In questa fase del corso impareremo come fare una torcia con una Spotlight. Inanzitutto importate il modello 3d di una torcia e posizionatela in modo che si veda la parte davanti (o posizionatela a vostro piacimento) durante il gioco. La camera da dove si vedrà il tutto è quella del First Person Controller, quindi per non lasciarsi la torcia indietro al primo movimento ed averlo sempre nella stessa posizione rispetto a noi essa, trascinatela, nella finestra Hierarchy, sopra la main camera dell'FPS. In questo modo la torcia rimarrà sempre nella stessa posizione ovunque staremo guardando.
In seguito create una Spotlight e posizionatela in modo che sembri la luce proiettata dalla torcia stessa. Mettete la Spotlight dentro la torcia, nella Hierarchy,
Per rendere migliore graficamente il gioco, consiglio di cambiare la texture della luce proiettata dalla Spotlight con quella nell'immagine seguente:


Per cambiarla  basterà cercare "light" negli assets e trascinare la texture nel box "cookie", presente nell'Inspector di ogni Spotlight. Se volete avere un gioco ancora più realistico, impostate le ombre su "soft shadows",


Adesso passiamo allo script che ci permetterà di accendere/spegnere la torcia.

#pragma strict

var luce : GameObject;
var acceso : boolean;

function Start {
acceso = false;
}

function Update {
if(Input.GetKeyDown(KeyCode.F))
{
acceso = !acceso;
}
if(acceso)
{
luce.SetActive(true);
}
else 
{
luce.SetActive(false);
}
}

Con questo semplice script la luce si accenderà e si spegnerà alla pressione del tasto "F" (questo parametro è possibile cambiarlo cambiando la lettera dopo "KeyCode" nello script).
Assegnate lo script alla Main Camera dell' FPS e mettete la Spotlight in precendenza creata nella variabile "luce".
Non ci resta che far partire il gioco e valutare l'effetto della torcia.
NEL CASO VOGLIATE AVERE UNA TORCIA PIU' REALISTICA CHIEDETEMI DI FARE UN ALTRO TUTORIAL!

NON ESITATE A CHIEDERE IN CASO DI BISOGNO!

2 commenti:

  1. come faccio a far spegnere la luce in automatico dopo un pò di secondi?

    RispondiElimina
  2. Potresti mettere il codice in c#?

    RispondiElimina