Che materia stai cercando?

Tesina (Descrizione Elaborato)

Appunti di Sistemi multimediale su un elaborato basati su appunti personali del publisher presi alle lezioni del prof. Moscato dell’università degli Studi di Napoli Federico II - Unina, facoltà di Ingegneria, Corso di laurea in ingegneria aerospaziale. Scarica il file in formato PDF!

Esame di Sistemi multimediali docente Prof. V. Moscato

Anteprima

ESTRATTO DOCUMENTO

Indice

“THE GAME”.......................................................................................................................................... 3

Component Diagram............................................................................................................................... 4

Unity...................................................................................................................................................... 5

Scene ................................................................................................................................................. 5

 Play Game ............................................................................................................................... 7

 Tourist Guide ..........................................................................................................................12

 Setting Image .........................................................................................................................17

OpenCV ................................................................................................................................................18

Increase Brightness ............................................................................................................................18

Increase Contrast ...............................................................................................................................20

Image Processing ...............................................................................................................................22

Use Case ...............................................................................................................................................28

2

Tempio Di Serapide

“THE GAME”

The Project concerns our land's cultural heritage, in fact it consists of a game that has set in the

“Tempio di Serapide” which is located in Pozzuoli.

When the game starts, you can make different things:

 You can play a game, whose aim is to collect the highest number of coins.

 You can read and listen some information about “Tempio di Serapide” like a real touristic

guide.

 You can modify an image of “Tempio di Serapide” using some techniques of the Image

Processing.

THE GAME

This is a third-person game where the character is a human. The player has an energy life that is

represented by a toolbar energy, that decreases when the time flows. Starting the game, the

player has three lives; when the toolbar energy goes to zero the player loses a life. Once lives over,

the game ends.

The player runs through the remains of “Tempio di Serapide” and he collects the coins that are

spread in; every time that the player takes four coins he earns a life.

Gamer wins if he collects ten coins.

TOURIST GUIDE

This game provides the possibility to choose among three languages for the tourist guide which

are Italian, English and French.

Tourist guide is composed by an information text, a picture and a audio-voice guide.

In this section you have also the possibility to walk in the temple for visit it!

Finally there is a link to setting image section too.

SETTING IMAGE

For a complete project production, Creators decided to allow players to approach to Image

Processing techniques, in particular those are Image Enhancement techniques.

In fact in this section you can choose between two operation that are:

 Increasing contrast

 Increasing brightness

The First operation, starting from a RGB image, transforms it into a B/W image and then increases

contrast.

The second operation, starting from a RGB image, increases brightness. 3

Component Diagram

L’architettura dei componenti è sintetizzata nello schema seguente:

Application Layer

Game Engine Layer (Unity)

Database Image Processing

Per quanto concerne la progettazione grafica è stato adoperato l’ambiente di sviluppo Google

SketchUp, che è un'applicazione utilizzata per la modellazione 3D orientata alla progettazione

architettonica, all'urbanistica, all'ingegneria civile, allo sviluppo di videogiochi e alle professioni

correlate. 4

Unity

Unity è un software multipiattaforma utilizzato per la realizzazione di una comunicazione

multimediale e per la creazione di videogiochi 3D o altri contenuti interattivi, quali

visualizzazioni architettoniche o animazioni 3D in tempo reale.

L'ambiente di sviluppo Unity gira sia su Microsoft Windows sia su MacOS, e i giochi che vengono

prodotti possono essere eseguiti su Windows, Mac, Linux, Xbox, Playstation etc.. .

Unity consente di utilizzare sia un editor per lo sviluppo/progettazione di contenuti, sia un motore

di gioco per l'esecuzione del prodotto finale.

La versione di Unity utilizzata per lo sviluppo del progetto è la versione 5.3.4f.

Scene

L’applicazione progettata prevede un insieme di scene correlate tra loro.

La scena principale è il Main Menu:

I componenti di tale scena sono i seguenti: 5

All’ oggetto _Main è associato lo script Mainbuttons.js:

#pragma strict

import UnityEngine.UI;

function StartGame () {

Application.LoadLevel("Scena_2");

}

function ExitGame () {

Application.Quit();

}

function BackMenu() {

Application.LoadLevel("Menu");

}

function TouristGuide(){

Application.LoadLevel("Menu_lingua");

}

function Guida_italiano(){

Application.LoadLevel("Guida_italiano");

}

function Guida_francese(){

Application.LoadLevel("Guida_francese");

}

function Guida_inglese(){

Application.LoadLevel("Guida_inglese");

}

function Immagine(){

Application.LoadLevel("contrasto");

}

function Brightness(){

Application.LoadLevel("Brightness");

}

function Set_image(){

Application.LoadLevel("Menu_image");

}

function Riconoscimenti(){ 6

Application.LoadLevel("About_us");

}

function Visita(){

Application.LoadLevel("Visita");

}

Applicato all’interno della funzione On Click() di ogni button, tale script, è stato utilizzato per

passare da una scena all’altra.

In questo modo l’utente potrà cliccare sui vari button e scegliere quale scena caricare.

Oltre alla scena del Main Menu, le scene previste sono le seguenti:

 Play Game

L’obiettivo del gioco è quello di raccogliere il maggior numero di monete che sono sparse

all’interno del tempio. Al giocatore è associata una barra di energia, mostrata mediante una

toolbar Energy, che decresce con lo scorrere del tempo. Quando inizia il gioco il giocatore possiede

3 vite; se l’energia termina il giocatore perde una vita. Il contatore delle vite viene aggiornato

automaticamente ed è mostrato a video, attraverso l’icona Life, in basso a destra.

Ogni qual volta che il giocatore raccoglie una monetina, il contatore Coins, mostrato con un’icona

in alto a destra, viene incrementato.

Ogni quattro monete il giocatore guadagnerà una vita. Nel caso in cui il giocatore, con le vite a

disposizione, riesca a raccoglie 10 monetine, vince la partita, altrimenti terminerà le vite e

perderà.

Gli script che permettono di eseguire le operazioni descritte a run-time sono i seguenti: 7

PrendiOggetti.cs

using UnityEngine;

using System.Collections;

using System;

public class PrendiOggetti : MonoBehaviour

{ public int Monete = 0;

public int vitedisponibili = 3;

public int energia = 30;

string senergia= "";

bool finish = false;

bool win = false;

bool vita1 = false;

bool vita2 = false;

GUIStyle style = new GUIStyle();

public GUIStyle iconamonete;

public GUIStyle iconavite;

public GUIStyle iconaenergia;

void Start()

{ Monete = 0;

vitedisponibili = 3;

InvokeRepeating("decreaseEnergy", 1, 1);

InvokeRepeating("IncreaseCoins", 1, 1);

senergia = "||||||||||||||||||||||||||||||";

style.alignment = TextAnchor.MiddleLeft;

}

void Update()

{ if(Monete >= 10)

{ win = true;

}

}

void OnGUI()

{ if (energia > 0 && vitedisponibili > 0 && !win)

{ if (GUI.Button(new Rect(1210, 650, 130, 30), "Back To Menu"))

{ Application.LoadLevel("Menu");

}

GUI.Label(new Rect(10, 10, 80, 80), "Coins " + Monete, iconamonete);

GUI.Label(new Rect(10, 620, 80, 80), "Life " + vitedisponibili, iconavite);

GUI.color = Color.yellow;

GUI.Label(new Rect(1100, 10, 80, 80), "Energy " , iconaenergia);

GUI.Box(new Rect(1200, 22, 130, 20), senergia);

}

if (finish)

Application.LoadLevel ("Game_over");

if (win)

Application.LoadLevel ("Win");

} 8

void decreaseEnergy()

{ energia--;

if(energia >= 0)

senergia = senergia.Substring(0, senergia.Length - 1);

if (energia == 0 && vitedisponibili>0)

{ vitedisponibili -= 1;

energia = 30;

senergia = "||||||||||||||||||||||||||||||";

} if (vitedisponibili == 0)

finish = true;

}

void IncreaseCoins()

{ if ((Monete == 4) && vita1 == false)

{ vita1 = true;

vitedisponibili += 1;

}

if ((Monete == 8) && vita2 == false)

{ vita2 = true;

vitedisponibili += 1;

}

}

private int strlen(string senergia)

{ throw new NotImplementedException();

}

public void PrendiMonetina(int mon)

{ Monete += mon;

}

}

Tale script è associato ad Ethan, personaggio animato incluso negli standard Assets di Unity 5.

Ad Ethan sono associati anche altri script che permettono l’animazione e il movimento, il quale

avviene attraverso l’utilizzo dei tasti di direzione. 9

Su Ethan è posizionata una camera che permette la visione del gioco in terza persona. 10

L’oggetto Monetina è stato scaricato dall’Asset Store

Ad esso sono associati:

 Lo script che permette l’animazione e quindi la rotazione delle monetine:

RotazioneOggetto.cs

using UnityEngine;

using System.Collections;

public class Rotazioneoggetto : MonoBehaviour {

public float Rotazione = 50.0f;

void Update ()

{ transform.Rotate(Vector3.up * Rotazione * Time.deltaTime);

}

}  Lo script che permette al personaggio di raccogliere l’oggetto:

Monetina.cs

using UnityEngine;

using System.Collections;

public class Monetina : MonoBehaviour 11

{ public int aggiungimonetina = 1;

public PrendiOggetti prendioggetti;

void OnTriggerEnter(Collider other)

{

if (other.GetComponent<Collider>().tag == "Player")

{ other.GetComponent<Collider>().gameObject.SendMessage("PrendiMonetina",

aggiungimonetina, SendMessageOptions.DontRequireReceiver);

Destroy(gameObject);

}

}

}  Tourist Guide

Il gioco prevede anche una guida turistica con la possibilità di scegliere tra tre lingue: Italiano,

Inglese e Francese. 12

Una volta scelta la lingua, il giocatore potrà ascoltare la voce guida e allo stesso tempo scorrere il

testo informativo ed osservare l’immagine del tempio.

I componenti della scena sono:

Nella sezione Tourist Guide è possibile anche:

1) Effettuare una passeggiata virtuale all’interno del Tempio (nella realtà questo non è

possibile), con la possibilità di recepire altre informazioni.

Ad esempio, come mostrato in figura, se il personaggio si avvicinerà al cartello, esso

sarà illuminato e saranno mostrate delle immagini riguardanti il bene culturale flegreo;

tale operazioni vengono effettuate mediante l’ausilio di Intelligenza Artificiale. 13


PAGINE

28

PESO

3.29 MB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria aerospaziale
SSD:
A.A.: 2017-2018

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cikenthebest di informazioni apprese con la frequenza delle lezioni di Sistemi multimediali e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Moscato Vincenzo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Corso di laurea in ingegneria aerospaziale

Fisica matematica - prof. M. Gentile -Appunti
Appunto
Appunti Teorici di Algebra e Geometria 9 CFU
Appunto
Esercitazioni di informatica in linguaggio C.
Esercitazione
Appunti esame analisi matematica uno, prof. Piscitelli, libro consigliato Analisi matematica uno Marcellini Sbordone,correlati di esempio prova d'esame e tabelle utili
Appunto