Interazioni

Applicazioni digitali per l'arte

Prof. Riccardo Gagliarducci

Shihang Yi

Dengyuan Ma

Frida Hassemer

Vincentiu Gabriel Copoeru

PROGRAMMI 

ARMORY 3D

Un potente, gratuito e open-source motore di gioco multipiattaforma.

UPBGE

Crea un videogioco interamente dentro Blender.

A-FRAME

Piattaforma online, da usare in modo facile, come scrivere una pagina web localmente o online

VVVV

è un dispositivo multimediale che ne crea di nuovi in tempo reale.

P

B

G

E

UPBGE è un motore di gioco 3D open source derivato dal vecchio Blender Game Engine (prima seguito dalla stessa Blender Foundation).

È un motore di gioco costruito su Blender 3D, è integrato interamente in modo tale che ciò che vedi nel viewport di Blender (EEVEE) è ciò che vedrai nel gioco.

  • Un flusso di lavoro unificato e questo è il suo punto di forza principale, puoi realizzare il tuo gioco dall'inizio alla fine senza uscire da Blender perché infatti le aree di lavoro, gli editor, i pannelli e i nodi specifici del motore di gioco seguono le stesse convenzioni e standard di Blender stesso.

  • Non è necessaria una pipeline di import-export. Poiché Blender supporta la modellazione 3D, la scultura e la mappatura UV, tutto ciò che è stato realizzato nell'UPBGE può essere utilizzato "così com'è".

  • Iterazione rapida: premendo il tasto "P" il gioco inizierà nella vista attiva, permettendoti di ottenere un feedback immediato  visivo ed anche in termini di gameplay e logica.

  • Aggiornamenti impliciti: tutte le nuove funzionalità di Blender sono automaticamente incluse in ogni versione UPBGE.

PRO

Licenza

CONTRO

  • Limitazioni nel click and drop
  • Interfaccia strana da gestire se non si è ordinati di sé

Blender e UPBGE/BGE sono concessi in licenza come GNU GPL, il che significa che anche i tuoi giochi (se includono il software Blender) devono essere conformi a tale licenza.

Note d’installazione

UPBGE +0.3 è compatibile per le ultime versioni di Blender; se si ha una versione precedente alla 2.79.2 di Blender allora è consigliato installare UPBGE +0.2.

Scaricare il programma ed estrarre il file zip nella cartella nella cartella della versione più recente presente nel proprio computer.

Esempio:

C:\Program Files\Blender Foundation\Blender 4.0

Comandi e shortcuts

Quando esce la schermata file già esistenti, sovrascrivere e sostituire.

Appena finito il processo, aprire il programma

Interfaccia

L’interfaccia di Blender è divisa in aree di lavoro con diverse funzionalità e modalità; inoltre sono presenti numerosi strumenti.

Si presenta così:

Interfaccia

Nella parte inferiore possiamo creare un'area in cui utilizziamo in particolare il Logic Bricks Editor che utiliziamo per diverse funzioni:

creare comandi di movimento, materiali, reazioni fisiche, luci.

Motore di render

In Blender esistono vari tipi di motori di render, i più conosciuti sono EEVEE e Cycles.

UPBGE utilizza EEVEE, un motore viewport real time di render, cioè in tempo reale ed è un motore di render basato fisicamente che utilizza un sistema di base a nodi.

Sistema di animazione

Il sistema di animazione UPBGE è lo stesso di Blender, per questo motivo, UPBGE dispone di uno dei sistemi di animazione più potenti in circolazione.
Quasi tutte le proprietà di UPBGE possono essere animate.

Per realizzare animazioni, lo sviluppatore può utilizzare uno dei seguenti sistemi supportati dal motore di gioco: Keyframes, Armatures, Shape keys, Drivers, Actions, Geometry nodes.

Script e codici

 Esistono 3 metodi che lo sviluppatore del gioco può utilizzare:

  • Il sistema Logic Bricks: questo sistema è un sistema ben testato (circa 20 anni) ed i suoi principali vantaggi sono la velocità e la facilità d'uso. Per utilizzarli non è richiesta alcuna conoscenza di programmazione.
  • Il sistema dei nodi logici: questo sistema è un sistema di scripting visivo sviluppato sull'interfaccia del nodo UPBGE per creare elementi di gioco all'interno dell'editor UPBGE. I suoi principali vantaggi sono la versatilità e la facilità d'uso. Per utilizzarli non è richiesta alcuna conoscenza di programmazione.
  • Il sistema dei componenti Python: fondamentalmente sono moduli che possono essere collegati agli oggetti del gioco. Ognuno ha uno scopo specifico. Per utilizzarli è richiesta una piccola conoscenza di programmazione, ma una conoscenza più approfondita è necessaria per lo sviluppo di componenti nuovi o personalizzati.

Caso studio

Caricare modello 3D già realizzato e creiamo i Logic Bricks.

R

M

O

R

Y

3

D

3

D

Armory 3D è un motore di gioco open-source integrato, sotto forma di add-on, all’interno del software 3D Blender.

È opera di una singola persona, che ha tentato di riempire il vuoto lasciato dall’abbandono da parte dei developer di Blender del motore di gioco integrato nel software stesso.

  • Gratuito.
  • Annesso a Blender, dunque dotato di un reparto 3D molto conosciuto.
  •  Adozione del sistema di gestione e generazione di texture e materiali di Blender.
  • Possibilità di utilizzare un sistema di nodi chiamato Logic Nodes, alternativa al codice Haxe su cui si basa il programma.
  • Possibilità, grazie all’affidamento al framework multimediale Kha, di esportare per smartphone, oltre che per computer, browser e console.
  • Design che permette di utilizzare qualsiasi motore fisico. Di default, il programma ha installato al suo interno un sistema dedicato per i proiettili e l’Oimo physics.

PRO

  • Gratuito.
  •  

Licenza

CONTRO

  • Un po' confusionario per utenti inesperti di software open-source, dove non è chiaro cosa è già integrato nel sistema e cosa vada aggiunto in seguito all’installazione.
  • Gestito da una sola persona, anche se con l’aiuto di una community. Lente implementazioni degli aggiornamenti e risoluzione dei bug.
  • Poco utilizzato nell’ambiente rispetto a Godot, Unreal Engine e Unity.
  • Ogni tanto crasha.

zlib/libpng License - Libero utilizzo commerciale e di distribuzione. Non è consentita la dichiarazione di paternità del software utilizzato. Dichiarare il software utilizzato è apprezzato anche se non obbligatorio. Se il software è stato modificato è necessario renderlo noto, così da non rappresentare in maniera equivoca il software originale.

Note d’installazione

È consigliato utilizzare una versione di Blender che sia LTS, ovvero Long Term Support; in questo caso Blender 3.6 LTS.

Scaricare il programma ed estrarre il file zip. Successivamente aprire Blender 3.6 LTS, cliccare la voce “modifica” in alto a sinistra, selezionare “preferenze”, aprire la categoria “add-ons”, cliccare “installa”, trovare il file estratto e selezionare “armory.py”.

Per attivare l’add-on controllare, sempre nella sezione “add ons” che “Game Engine: Armory” sia selezionato. Se necessario utilizzare la funzione cerca sotto il pulsante “installa” per trovare l’add-on.

Comandi e shortcuts

Interfaccia

L’interfaccia è quella di Blender, se non per alcune funzioni nuove dentro al programma stesso. Ogni strumento nella selezione verticale ha al suo interno almeno una voce dedicata ad Armory 3D.

Interfaccia

Nell’immagine sottostante vediamo invece la sezione “Logic Node Editor”.

Motore di render

Armory 3D utilizza un motore di render proprio che assomiglia moltissimo nella resa grafica  EEVEE di Blender.

Script e codici

Come accennato prima, Armory 3D utilizza Haxe, un linguaggio open-source.
In alternativa è possibile utilizzare i Logic Nodes, molto più adatti a chi non è abituato a programmare in codice.

Caso studio

Tutorial dell’ideazione di un gioco molto semplice da fare in classe.

A-Frame è un framework di realtà virtuale di sviluppo web facile da usare per creare applicazioni di realtà virtuale (VR).

 È molto più di un semplice motore di rendering di scene 3D o un linguaggio di markup.

A

-

R

F

A

M

E

L'idea centrale è fornire una struttura di programmazione dichiarativa, estensibile e componita basata su Three.js.

  • Produzione VR semplificata, HTML dichiarativo, VR multipiattaforma, architettura entità-componente, prestazioni elevate, strumenti di ispezione visiva e produzione VR semplificata.
  • Utilizzare HTML e un semplice linguaggio di markup per creare scene 3D, riducendo la curva di apprendimento.
  • Supporta l'esecuzione su diversi dispositivi e browser, inclusi dispositivi desktop e mobili.
  • Dispone di un enorme supporto da parte della community e di una ricca libreria di risorse che include
    componenti, modelli e strumenti.
  • Puoi creare rapidamente prototipi e sviluppare applicazioni web 3D, migliorando l'efficienza dello sviluppo. Basato su tecnologieweb come HTML, CSS e JavaScript, si integra perfettamente con le tecnologie di sviluppo web esistenti.

PRO

  • Per i principianti, l'apprendimento di A-Frame può richiedere del tempo, soprattutto se sei nuovo alla programmazione.
  • Sebbene A-Frame tenti di fornire supporto multipiattaforma, potrebbero esserci ancora alcuni problemi di compatibilità, soprattutto tra browser e dispositivi diversi.
  • Sebbene A-Frame offra molte funzioni, la sua funzionalità può essere relativamente limitata rispetto ad altri motori 3D più specializzati.
  • La comunità A-Frame sia ampia, ma il suo ecosistema è relativamente piccolo rispetto ad altri popolari progetti open source, il che potrebbe limitare la disponibilità di alcune funzionalità e risorse.
  • Per scene e animazioni complesse, le prestazioni potrebbero risentirne, soprattutto sui dispositivi mobili.

CONTRO

Licenza

A-Frame utilizza la licenza MIT, il che significa che è open source e può essere utilizzato gratuitamente in progetti commerciali e non commerciali,
purché si rispettino i termini della licenza.

Note d’installazione

A-FRAME non necessita di nessun tipo di download, basta accedere alla pagina.

Quando si apre il sito, bisogna fare attenzione a questo fattore:

assicurati di scegliere una versione di A-Frame compatibile con le esigenze del progetto e con il browser (qualsiasi versione corrente principale è accettabile).

È tuttavia possibile utilizzarlo in locale o su un qualsiasi web server. Su Windows in locale è possibile, ad esempio, utilizzare A-Frame con Xampp.

Interfaccia, comandi e shortcuts

Per quanto riguarda l'interfaccia, i comandi e i tasti di scelta rapida, A-Frame fornisce alcuni concetti e funzioni fondamentali:

Crea scene e interazioni 3D scrivendo markup e script, principalmente basati su HTML e JavaScript. 

Ad esempio, usa i tasti WASD per controllare il movimento
della telecamera, usa il mouse per trascinare per cambiare la prospettiva, ecc.

Motore di render

A-Frame utilizza il motore di rendering WebVR. WebVR è una tecnologia per creare esperienze di realtà virtuale (VR) e realtà aumentata (AR) in un browser
Web, consentendo agli sviluppatori di creare scene di realtà virtuale interattive utilizzando JavaScript e HTML

Script e codici

Gli script e i codici utilizzati da A-Frame si basano principalmente su JavaScript e HTML. Gli sviluppatori possono scrivere script utilizzando JavaScript per aggiungere interattività, animazione e logica alle scene A-Frame. Inoltre, utilizza il linguaggio di markup HTML per creare e organizzare entità, scene e componenti 3D. Questi script e codici possono essere utilizzati per creare ricche esperienze di realtà virtuale (VR) e realtà aumentata (AR).

Caso studio

Cerchiamo di capire insieme come funziona e giochiamo con le immagini.

360° IMAGI

Scansiona il codice QR per utilizzare il giroscopio sul tuo smartphone

V

VVVV è uno strumento interattivo sviluppato dall'azienda tedesca MESO per la creazione in tempo reale di nuove installazioni multimediali, con particolare attenzione alla sintesi video in tempo reale e presenta interfacce fisiche, grafica in movimento in tempo reale, audio e video. 

Questo programma utilizza metodi di flusso di dati e interfacce di programmazione visiva per la prototipazione e lo sviluppo rapidi.

V

V

V

•  VVVV può gestire facilmente un gran numero di oggetti, siano essi grafici o dati, e gli utenti possono completarlo facilmente senza troppi sforzi.
•  Nella programmazione visiva VVV utilizza la programmazione visiva, consentendo agli utenti di creare progetti interattivi complessi senza dover approfondire i linguaggi di programmazione.
•  VVVV fornisce una ricca libreria di nodi che supporta l'elaborazione e la generazione di grafica, video, audio e altri media.
•  A livello di supporto comunitario possiamo dire che esiste una comunità di utenti attiva che fornisce un gran numero di tutorial, esempi e plug-in per facilitare agli utenti l'apprendimento e l'espansione delle funzioni.

PRO

•  VVVV può essere utilizzato solo su piattaforma Windows perché utilizza DirectX in Windows e il Mac deve installare il sistema Windows prima di poter essere utilizzato.
•  Dopo che VVVV ha completato il progetto, può fornire solo i file sorgente ad altri. Tutti i programmi eseguiti da VVVV devono essere installati ed eseguiti con la patch originale.
•  Anche se la programmazione visiva abbassa la soglia di programmazione, per i principianti richiede comunque una certa curva di apprendimento per padroneggiare il funzionamento del software e le funzioni dei nodi. Quindi non è semplice.

CONTRO

Licenza

VVVV è gratuito senza alcuna restrizione per uso commerciale.

L'uso per fini commerciali richiede una licenza

Note d’installazione

Prestare attenzione ai requisiti di sistema e ai requisiti minimi della versione di vvvv.

È necessario scaricare il pacchetto plug-in per un utilizzo collaborativo.

Scaricare il programma ed estrarre il file zip.

Comandi e shortcuts

1.Ctrl+p Nuovo commando

2. Fare doppio clic con il pulsante sinistro del mouse: viene visualizzata la finestra di comando 3. Rotella del mouse autonoma:barra delle applicazioni

4. Clic singolo e doppio con il tasto destro: casella del valore

5. Ctrl + S viene utilizzato per salvare il progetto,

6.F5 viene utilizzatoper eseguire il programma

Interfaccia, comandi e shortcuts

Motore di render

Il motore di rendering utilizzato da VVVV è DirectX. VVVV è un ambiente di programmazione visiva per la generazione e l'elaborazione in tempo reale di immagini, animazioni e dati. Si basa principalmente sul motore di rendering DirectX per ottenere rendering e interazione grafica in tempo reale.

Script e codici

I principali script e codici utilizzati da VVVV sono basati sul Visual Programming Language (VPL), un linguaggio di programmazione grafica. In VVVV gli utenti creano programmi e contenuti interattivi collegando vari nodi (Node) senza scrivere il tradizionale codice testuale. Questi nodi rappresentano diverse funzioni e operazioni, come il rendering grafico, l'elaborazione dei dati, l'input e l'output, ecc. VVVV supporta anche i nodi definiti dall'utente, consentendo agli utenti di estenderne le funzionalità.

Caso studio

Prova  di sistema di particelle.

Manuali e documenti

ARMORY 3D

UPBGE

A-FRAME

VVVV

The END

Grazie mille della vostra attenzione.

Made with Slides.com