Il jumpscare è una delle componenti assolutamente più importanti, si potrebbe dire la più importante, di un gioco horror. Il jumpscare è il "salto della paura", ovvero uno spavento. Può essere l'apparizione di un'immagine, l'apparizione di qualche mostro...
Oggi impareremo come fare un jumpscare facendo apparire un'immagine e farla sparire dopo poco.
Inanzitutto importate un'immagine nella finestra Project. In seguito create una GUI Texture, che sarà l'immagine che apparirà nel gioco. Per fare ciò andate su:
GameObject>CreateOther>GUITexture.
Di default l'immagine rappresenterà il logo di Unity con la scritta "Unity" a fianco, per cambiarla basterà, nell'Inspector, inserire nel box "Texture" l'immagine precedentemente importata. Potrete spostarla nella scena tramite i parametri "position" nell'Inspector, ma attenzione! L'immagine sara visibile solamente nella finestra con l'anteprima di gioco.
L'immagine si attiverà all'entrata in un Trigger. Per crearlo:
GameObject>CreateEmpty.
Assegnate all'oggeto vuoto il BoxCollider tramite GetComponent, e spuntate la casella "IsTrigger".
Si passa ora allo script:
#pragma strict
var tex : GUITexture;
function Start {
tex.enabled = false;
}
function OnTriggerEnter () {
tex.enabled = true;
yield WaitForSeconds(2);
tex.enabled = false;
}
Assegnate questo script al Trigger. All'entrata da parte del First Person Controller nel Trigger si attiverà l'immagine, che all'inizio del gioco sarà disattivata, per poi scomparire in seguito a due secondi. Per cambiare questo parametro basterà modificare il numero all'interno delle parentesi che segue a WaitForSeconds. RICORDARSI che i numeri decimali vanno sempre messi con il punto, e mai con la virgola.
NON ESITATE A CHIEDERE IN CASO DI BISOGNO!
Lo script funziona, ma c'è un problema. Con il First Person ho provato tutti i tentativi e l'immagine non si vede e non si attiva. Provando con la Terza Persona l'immagine funziona e il jumpscare si attiva. Come mai succede questo? Dove devo assegnare il tutto per farlo funzionare? Grazie.
RispondiElimina