Télécharger la présentation
1
Présentation du projet NanoVoxel
Pierre Planeau Anatole Duprat
2
Sommaire I. Introduction II. Démonstration III. Comment ?
Le projet Pourquoi ? II. Démonstration III. Comment ? Les Voxels Spécifications Algorithmes La lumière Le ciel L’eau IV. NanoVoxel Début Actuellement Prochainement V. Questions
3
I. Introduction Le projet Pourquoi ?
4
Le projet Jeu 3D basé sur les voxels
5
Le projet Inspiré par Minecraft et Cube World Minecraft Cube World
6
Pourquoi ? Entrainement et plaisir personnel
Créer une alternative à Minecraft Dépasser Minecraft et Cube World
7
II. Démonstration
8
III. Comment ? Les Voxels Spécifications Algorithmes La lumière
Le ciel L’eau
9
Les Voxels Un voxel est un pixel dans l’espace
Les voxels sont simples à manipuler et contiennent de l’information utile en une simple valeur Un voxel Plusieurs voxels
10
Structure Un Chunk contient des Voxels. Une Map contient des Chunks.
11
Spécifications Le C++ pour sa rapidité, sa portabilité, sa stabilité et sa large communauté Le contexte SFML pour sa simplicité et sa compatibilité native avec l’OpenGL L’OpenGL pour sa portabilité et sa simplicité
12
Algorithmes Bruit de Perlin Terrain Affichage des faces
Ambient Occlusion Premier « vrai » rendu
13
Algorithmes Le bruit de Perlin
14
Algorithmes Le bruit de Perlin
15
Algorithmes Le bruit de Perlin
16
Algorithmes Terrain D = y
17
Algorithmes Terrain D = y + cos(x)
18
D = y + cos( longueur( x, y, z ) )
Algorithmes Terrain D = y + cos( longueur( x, y, z ) )
19
Algorithmes Terrain D = bruitPerlin(x, y, z)
20
D = y + bruitPerlin(x, y, z)
Algorithmes Terrain D = y + bruitPerlin(x, y, z)
21
Algorithmes Affichage des faces
Répéter pour tous les voxels Si ( voxel actuel = non vide ) alors Si ( voxel suivant = vide ) alors Il faut afficher une face Sinon Pas de face à afficher Fin Si Fin Répéter pour Sens de parcours Affiche
22
Algorithmes Ambient Occlusion
23
Algorithmes Ambient Occlusion
24
Algorithmes Ambient Occlusion
25
Algorithmes Ambient Occlusion
× =
26
La lumière Produit scalaire -1 1 0.5
27
La lumière × = ×
28
Le ciel Ciel = couleur( 0.5, 0.7, 1.0 )
29
Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0 ), y²)
Le ciel Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0 ), y²)
30
Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0 ), y²)
Le ciel Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0 ), y²) Soleil = couleur( 1.0, 0.5, 0.1 ) / ( distance( point actuel, position soleil ) )10 Soleil + Ciel y x
31
L’eau
32
L’eau
33
L’eau
34
IV. NanoVoxel Début Actuellement Prochainement
35
Début Tout à commencé avec un voxel
36
Des bugs… épileptiques !
37
Actuellement Le jeu charge 1 404 928 voxels et est très fluide
Le projet tient sur 6010 lignes de code Cela représente environ 3 mois de travail
38
Prochainement Restructuration du code Physique Génération de villes
Différents types de paysages Un univers (monstres, PNJ, quêtes, etc.) Ombres dynamiques Un mode multi-joueurs etc
39
V. Questions
40
Merci de votre attention !
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.