Archivi autore: WebInstall

Creazione di un template di base, per Unity 3D, per progetti di videogames 3D o di video.

In questo articolo, riporterò i vari passi da seguire per implementare un ambiente iniziale, ovvero un template di base per iniziare poi a lavorare sul proprio progetto 3D, che sia un videogame o un video.

Questo articolo si rivolge quindi alla creazione di un ambiente di base per il 3D.

Terrain

Un elemento che sicuramente non può mancare in qualsiasi progetto, è il terreno, quindi uno dei primi oggetti che vogliamo sicuramente aggiungere al nostro template è una superfice da utilizzare come terreno di base.

SkyBox

Se il nostro progetto prevede un ambiente esterno, sicuramente dobbiamo valutare il caricamento di una SkyBox, che altro non è che una bolla che avvolge tutto il nostro mondo 3D e che simula il cielo e tutto quello che si vede al di la del nostro mondo 3D.

Water

L’acqua è un elemento che non può mancare nella rappresentazione di un eventuale mondo 3D.

Oggetti 3D

RigidBody

Colliders

Luci

Camera

Animazioni

Suoni

Input Controller

Game Engines, cosa sono e quali sono i più famosi, ed un elenco di altri poco conosciuti

Un Game Engine è una piattaforma per lo sviluppo di videogames, che implementa una serie ti strumenti e classi pronte allo sviluppo rapido e semplificato di un videogame, che può essere di varia natura e di vario tipo.

I Game Engine, o Motori per Videogiochi, si occupano di semplificare l’implementazione di videogames a vari livelli, dall’astrazione del codice, adattamento multipiattaforma, con l’implementazione di classi e modelli già pronti per giochi 2D, 3D, VR, AR, motori di fisica, acquisizione degli input, animazioni e rendering degli ambienti.

Tra i più famosi e popolari motori per Videogames oggi conosciuti, ci sono certamente Unity 3D, Unreal Engine e Godot, naturalmente questi sono quelli di cui io ho scoperto l’esistenza e che elenco tra i più popolari e conosciuti perchè certamente dotati di specifiche caratteristiche che li fanno sembrare tali.

Sono generici ovvero supportano vari modelli di videogames, in rete ci sono numerosi riferimenti, con articoli, video su youtube, e ci sono numerosi libri tecnici che li trattano, sono multipiattaforma, hanno un tool visuale, chiamato editor che permette di gestire i progetti.

Oltre questi 3 che sono dei Game Engine generici e quindi veri e propri, ne esistono alcuni altrettanto popolari ma specializzati nella realizzazione di Videogames più specifici oppure indicati per “creatori meno professionali”, e tra questi meritano sicuramente di essere elencati, 001 Game Creator, RPG Maker MV e precedenti versioni, Visual Novel, Game Guru, AppGameKit

Infine ci sono tantissime Game Engine in sviluppo e poco conosciute, in continua evoluzione, con caratteristiche di nicchia.

Guida alla creazione di una applicazione base, per l’utilizzo del VR, con relativi Input, in Unity 3D, versioni 2019.3, 2019.4 e superiori

In questa guida, illustrerò tutti i passaggi per implementare un modello di applicazione per utilizzare il VR, e per abilitare l’utilizzo dei dispositivi di Input del Casco utilizzato.

In questa quida, farò riferimento ad Oculus Rift S, che è il dispositivo che ho utilizzato per testare quello che di cui parlerò. Inoltre utilizzerò una versione Unity 3D, 2019.3 o superiore. Come già sicuramente saprete, con Unity è possibile utilizzare le versioni che si preferiscono, e questo è utilissimo per evitare di ritrovarsi in aggiornamenti che possono fare saltare tutto il funzionamento del progetto.

Lo stesso supporto al VR, ha subito dei cambiamenti soprattuto nella gestione degli Input con le varie versioni di Unity 3D, e quindi il sistema che ho utilizzato è solo una delle possibilità per utilizzare gli Input e il VR, tuttavia è quello che finora mi ha dato maggiori soddisfazione, per la sua semplicità e logica.

La versione utilizzata e quindi testata in questo progetto è la 2019.4.14f1, le versioni 2019.3 dovrebbero essere compatibili con le classi, librerie, pacchetti che utilizzerò.

Per il supporto VR, utilizzeremo “UnityEngine.XR” e “Unity XR Input”, quindi il pacchetto “XR Interaction Toolkit“. In sostanza utilizzeremo il pacchetto Unity 3D, denominato Unity XR SDK

A questo indirizzo c’è la documentazione di Unity al riguardo:

https://docs.unity3d.com/Manual/xr_input.html

Come prima operazione, iniziamo con lanciare l’Unity 3D Hub, nel quale selezioniamo una versione di Unity 3D utile al nostro progetto, ovvero almeno una 2019.3, io consiglio però una 2019.4, dunque creiamo un nuovo progetto. Gli diamo un nome e selezioniamo Universal Render Pipeline come tipologia di progetto per usufruire della maggiore qualità grafica di questo tipo di progetti.

Quando Unity 3D avrà finito di caricare, ci presenterà il suo template standard per Universal Render Pipeline, e quindi andremo a creare una nuova scena e ad attivarla, siccome a noi serve una scena pulita.

Per creare una nuova scena, clicchiamo sulla finestra “Project” o “Progetto”, selezionamo la cartella “Scenes” e cliccando con il tasto destro del mouse a destra dove mostra tutte le scene nel progetto, creiamo una nuova scena.

Le diamo il nome che preferiamo, io l’ho chiamata: “Scena_Template_VR_Pulita“, quindi ci clicchiamo due volte sopra velocemente per selezionarla e a questo punto abbiamo la nostra scena pulita e pronta per il resto della preparazione.

Installazione Pacchetti Necessari al VR

Per utilizzare il VR e i dispositivi di controllo del VR, sarà necessario installare alcuni pacchetti. Per l’installazione dei pacchetti andiamo quindi in Gestione Pacchetti, oppure Package Manager, dalla finestra Window del menù principale.

Dobbiamo innanzitutto installare XR Interaction Toolkit, se non compare, selezionare anche la lista dei pacchetti vecchi o delle precedenti versioni di Unity.

A questo punto andiamo su Edit > Project Settings > XR Plugin Management per installarlo ed effettuare alcuni setup iniiziali. A questo punto vanno selezionati i dispositivi per i quali si vuole l’app funzionante, per esempio Oculus. Se il vostro dispositivo non è elencato, si può selezionare Open VR che dovrebbe supportare vari produttori.

Preparazione di base dell’ambiente di Gioco, o dell’Esperienza

A questo punto possiamo passare un attimo ad un setup preliminare dell’ambiente di gioco, ovvero della scena dove cominceremo a sviluppare la nostra esperienza VR. Gli elementi da caricare sono solitamente sempre gli stessi:

  • Ground
  • Skyline

Come terreno, ground, usiamo un oggetto “Plane“, che si può aggiungere cliccando sulla lista degli oggetti della scena, selezionando crea oggetto, plane. Poissiamo poi posizionarlo a nostro piacimento, o aggiungergli un materiale oppure ridimensionarlo.

Per assegnargli un materiale, possiamo crearne uno negli assets, e trascinarlo con il mouse sull’oggetto Plane.

Siccome per la VR, la Camera sarà la VR-Camera, possiamo eliminare quella di default del progetto, quindi la selezioniamo e la eliminiamo.

A questo punto creiamo un oggetto che avrà la Camera VR assegnata sopra e che praticamente corrisponderà al nostro personaggio, lo possiamo chiamare PgVR, possiamo creare un oggetto game, Game Object. A questo punto aggiungiamo un componente a questo oggetto che è il XRRig, cliccando su “Add Component”.

Aggiungiamo altro Game Object a PgVR e lo chiamiamo OffsetCamera, a quest’ultimo aggiungiamo ancora un altro Game Object che chiamiamo Camera VR

Aggiungiamo ad OffsetCamera altri due Game Object che possiamo chiamare ManoSinistra, ManoDestra, e gli assegnamo i rispettivi controller.

Per vedere effettivamente però degli oggetti muoversi, dobbiamo aggiungere degli oggetti 3D o 2D ai GameObject che abbiamo creato.