Imparare da zero il codice non è un’impresa semplice, ed è il motivo per cui Unreal Engine introduce un sistema di scripting visivo, ossia un’interfaccia che ci consente di programmare dei comportamenti senza agire direttamente sul codice, ma impiegando esclusivamente un sistema di nodi. Tali nodi si presentano come dei pannelli di diverso colore, che potremo connettere tra di loro tramite delle frecce, che ci permetteranno di stabilire dei comportamenti per il nostro gioco. Questo ci consentirà di costruire funzionalità anche molto avanzate senza scrivere neanche una riga di codice.
Come accedere al menu Blueprints
Per accedere al menu della programmazione visiva è sufficiente cliccare su Blueprints, in alto rispetto alla scena principale. A questo punto si aprirà un sottomenu, dove bisogna scegliere New Empty Blueprint Class. Si aprirà dunque un'altra finestra di selezione, dove selezionare la categoria della Blueprint, che determinerà il campo di azione. Per esempio, una classe Actor è legata a un oggetto presente nel mondo di gioco; una classe Game Mode Base, invece, terrà d'occhio se il gioco sta girando, il punteggio, le regole, etc.
Come creare i nodi Blueprint
Un nodo è rappresentato graficamente con una tabella quadrata con gli angoli arrotondati, di diverso colore. Perché un nodo cominci a funzionare, bisogna cliccare la freccia bianca come nell'immagine e trascinare con il mouse, generando quindi una freccia; la freccia può essere usata per creare nuovi nodi (apparirà un menu apposito) o, al contrario, si potrà collegare ad altri nodi preesistenti, trascinando la freccia su uno degli appositi cerchi, come da immagine.
Gli eventi Blueprint
Un evento è un'entità che permette alle Blueprint di eseguire una serie di azioni, in risposta a determinate situazioni che si verificano nel gioco, come l'inizio e il reset del livello. Le azioni consentono di aggiungere nuove funzionalità o potenziare quelle preesistenti. Sono contenute all'interno di una grande struttura chiamata Event Graph, cuore dell'interattività; in italiano, un Event Graph può essere riassunto per sommi capi con queste parole: “quando succede qualcosa, allora fai succedere questo”.
Ordine di lettura delle Blueprint
Le Blueprint hanno un preciso ordine di lettura; innanzitutto, il primo nodo che viene eseguito è un evento, e il flusso viene definito tramite il filo bianco, da sinistra verso destra. Un'altra importante caratteristica è il colore dei fili, che consente di capire i collegamenti tra le variabili,ossia le entità che contengono le informazioni (per es.: “vero o falso”) trasmesse al programma. I fili dei dati vanno invece letti da destra a sinistra, finché il risultato finale viene calcolato e fornito al codice.
Come creare una pedana rimbalzante tramite Blueprint
Per capire come funzionano le Blueprint, vediamo quindi il loro funzionamento all'interno della scena. Useremo come esempio una pedana che fa rimbalzare il giocatore verso l'alto. Il comportamento può essere integrato nel vostro sparatutto: potete, per esempio, creare dei trampolini che lanciano il giocatore verso l'alto, permettendogli di sparare da una posizione privilegiata.
Apriamo il menu delle Blueprint selezionando Actor; nel menu che si apre selezioniamo Add Component, che ci permetterà di creare la pedana. Cercate nel menu digitando Cylinder, clicchiamo con il sinistro e apparirà un cilindro. Usando il gizmo o il menu Trasform diminuiamo l'altezza, finché il risultato non ci soddisfa. Dirigiamoci nel menu di destra alla finestra Collision, dove alla voce Collision Presets bisogna scegliere dal menu a tendina OverlapAllDynamic; Generate Overlap Events dev'essere spuntato. Compiliamo e salviamo.
Impostare il comportamento della pedana
Dal Content Browser prendiamo la pedana che abbiamo appena creato e piazzatela nella scena. Se ci passiamo sopra ora, non succederà niente. Cliccate sul tasto Blueprints e cliccate su Open Blueprints Class, che ci darà l'accesso alle Blueprint presenti nel livello; scegliete la pedana. Apriamo la tab Event Graph e clicchiamo col tasto destro in uno spazio vuoto; nel menu di ricerca digitiamo Event ActorBeginOverlap. Per assegnare il nodo a un attore, clicchiamo su Other Actor e ricerchiamo l'evento Cast to FirstPersonCharacter, che si riferisce appunto al nostro protagonista, che abbiamo creato nella prima lezione.
Ci si rende conto ben presto della potenza delle Blueprint, osservando la miriade di comportamenti che è possibile impostare, molti dei quali già presenti in Unreal Engine; anche quando non troviamo il preciso comportamento che vi serve, ne esistono così tanti che customizzandoli a piacimento riusciremo a piegarli alle nostro esigenze. Esiste quindi anche un comportamento per lanciare in aria il personaggio, chiamato appunto Launch Character. Impostiamo la velocità del lancio a 1000 sull'asse Z. Poi, cliccate su Play, e provate il vostro prototipo. Ora, passando sulla pedana, il nostro personaggio volerà in aria, oltrepassando così il muro.