• Non ci sono risultati.

[GameDev] Tools Programming

N/A
N/A
Protected

Academic year: 2021

Condividi "[GameDev] Tools Programming"

Copied!
8
0
0

Testo completo

(1)

[GameDev]

Tools Programming

Marco Tarini

This Course

this course

(2)

game contents

Intro: Game Tools

game

game engine game

tools

digital artists

game contents

Intro: game contents!

(aka game assets)

 3D data

 models

 textures

 materials

 shaders

 animations

 collision objects

 etc

 audio

 music

 sound fxs

 ambient sounds

 voice overs

 etc

 video

 2D art

 screen splashes

 backgrounds

 GUI / HUD elements (e.g. buttons, bars),

 [ sprites & tile-sets ? ]

 etc

 text

 dialogues trees

 messages

 translations

 etc

 etc:

 scripts

 stats levels

(3)

game contents

Intro: Game Tools

game

game engine game

tools

digital artists

game contents

[MOD]

contents digression:

game [MOD] development

game

game engine (public)

game tools

game fans!

[MOD]

contents

(4)

(aka game assets)

 3D content

 models

 textures

 materials

 shaders

 animations

 collision objects

 etc



audio

 music

 sound fxs

 ambient sounds

 voice overs

 etc



video

 cut-scenes, intros

 etc



2D art

 screen splashes

 backgrounds

 GUI / HUD elements (e.g. buttons, bars),

 [ sprites & tile-sets ? ]

 etc



text

 dialogues trees

 messages

 translations

 etc



etc:

 scripts,

 stats,

 levels'

 3D Models i.e. tri-meshes with:

 per vertex attrib

 normals, color, AO,

 LODs

 “uv-mapping”

 keyframes

 cyclic animations

 face-morphs,

 “rigging”

 Materials

 lighting model stats / flags

 textures

 RGB maps

 normal maps

 alpha maps

 shaders

vertex, fragments,

Intro:

3D game contents

 Animations

 vertex animations

 skeletal animations

 Skeletons

 Collision objects

 hit-boxes

 bounding objects

 Particle systems

 Environments

 skydomes

 env. maps

 scene props

(5)

bounding volumes



Tipi di bounding volumes:



Axis Aligned Bounding Box (A.A.B.B.)



(generic) Bounding Box



Discrete Oriented Polytope (D.O.P.)



Bounding sphere



Bounding ellipsoids (axis aligned or not)



Bounding cylinders







Difetti e pregi



quanto sono onerosi da pre-computare?



quanto sono aderenti ?



sono robusti a rotazioni ?



quanto sono onerose le query (es.: di intersezione)?

Rendering di scene composite

spazio mondo (globale) spazio oggetto ruota 1 spazio oggetto automobile

(6)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

V

M

0

M

1

M

2

M

3

M

4

M

5

M

6

posizonamento della automobile

(rispetto al mondo)

posiz. della ruota (rispetto

all’

automobile)

Scene graph

V

M

0

M

1

M

2

M

3

M

4

M

5

M

6

posizonamento della automobile

(rispetto al mondo)

posiz. della ruota (rispetto

all’

automobile)

(7)

Un robot animato…

M

M

0

M

1

M

2

M

4

M

6

Robot (bacino) spazio mondo

busto1

gamba Sx

gamba Dx

spalla Dx

spalla Sx

polpaccio Dx busto2

M

3

M

7

piede Dx

M

8

M

5

collo

Algoritmo 1

mult_matrix( M );

draw( bacino );

push();

mult_matrix( M0 );

draw( busto1 );

mult_matrix( M1 );

draw( busto2 );

push( );

multMatrix( M3 );

draw( spallaDx );

… /* resto del braccio dx */

pop();

push( );

multMatrix( M3 );

draw( spallaSx );

… /* resto del braccio sx */

pop();

pop();

push();

mult_matrix( M2 );

draw( gambaDx );

pop();

(8)

poses(for a skeleton) poses(for a skeleton)

skins(rigged meshes) skins(rigged meshes) skeletons

skeletons

oggetti

Skel Human

rest pose

(or: bind pose)

pose 0 pose 0 pose 0 pose t20

Skin 1 Skin 2

pose 0 pose 0 pose t18

Skel Horse

animation 1 animation 2

“rigging”

skins(rigged meshes) skins(rigged meshes)

(Linear blend) Skinning:

Skel Human

pose 0 pose 0 pose t20

Skin 1 Skin 2

pose 0 pose 0 pose t18

animation 1 animation 2

Vincoli

 +

rag

dolling

Riferimenti

Documenti correlati

Guida alla scelta del rilevatore di perdite  QUAL È IL RILEVATORE DI PERDITE PERFETTO PER VOI..

ables as control signals and the signals for measuring the system performance; (2) de- riving inference rules: (3) designing fuzzy membership functions for each variable;

– like vectors lists hashes

The draft Personal and Family Code abolishes the rule of double birth on the territory and provides for the acquisition of Cameroonian nationality by declaration only

• OmegaT può tradurre contemporaneamente più file, anche di formati differenti, e consultare diverse memorie di traduzione, glossari e dizionari..

Our choice in this special issue is to start out from corporate governance and have a broader perspective on how knowledge is either deliberately designed in or unexpectedly impacts

At 6 months, the results favored a low-carbohydrate diet with a mean weight loss of 5.1 kg compared to a mean loss of 1.9 kg for the reduced calorie, low-fat group.. Triglyceride

The patient’s symptoms may include weakness, fatigue, muscle cramps, atrophy, and abnormal muscle movements like fasciculations or myo- kymia.. Weakness often results in