Generation Procedural Voxel avec Perlin Noise
kakesinfo
Messages postés
36
Statut
Membre
-
kakesinfo Messages postés 36 Statut Membre -
kakesinfo Messages postés 36 Statut Membre -
Bonjour,
Après avoir fais un algorithme perlin noise (voir ci-dessous) à partir de cette vidéo: https://www.youtube.com/watch?v=NAvKS6uNmAs
J'aimerai réaliser le rendu final de la vidéo (le terrain) mais je ne c pas comment faire car je suis débutant et faute de documentation sur le web je ne trouva aucune réponse. Et les seul doc sont en c ou autres language: https://sites.google.com/site/letsmakeavoxelengine/
Voici la structure de mon projet:
GameMain (le fichier principal):
La classe terrain:
La classe Perlin (trop longue mais bien ^^):
https://paste.ubuntu.com/10774562/
La classe chunk:
Et la class Block:
Merci de votre aide :)
Après avoir fais un algorithme perlin noise (voir ci-dessous) à partir de cette vidéo: https://www.youtube.com/watch?v=NAvKS6uNmAs
J'aimerai réaliser le rendu final de la vidéo (le terrain) mais je ne c pas comment faire car je suis débutant et faute de documentation sur le web je ne trouva aucune réponse. Et les seul doc sont en c ou autres language: https://sites.google.com/site/letsmakeavoxelengine/
Voici la structure de mon projet:
GameMain (le fichier principal):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;
namespace RealPrimal
{
class GameMain
{
public GameMain()
{
}
public void Update(MouseState mouse, KeyboardState keyboard)
{
}
public void Draw(SpriteBatch spriteBatch, GameTime gameTime)
{
Terrain terrain = new Terrain();
}
}
}
La classe terrain:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
namespace RealPrimal
{
class Terrain
{
public static int NUM_CHUNKS = 16;
public Terrain()
{
Perlin perlin = new Perlin(1990, 1000, 1000);
for (int x = 0; x < NUM_CHUNKS; x++)
{
for (int y = 0; y < NUM_CHUNKS; y++)
{
for (int z = 0; z < NUM_CHUNKS; z++)
{
double div = 64.0;
double val = (perlin.getPerlinNoise((float)(x / div), (float)(y / div))) * 128.0;
}
}
}
}
}
}
La classe Perlin (trop longue mais bien ^^):
https://paste.ubuntu.com/10774562/
La classe chunk:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RealPrimal
{
class Chunk
{
public static int CHUNK_SIZE = 16;
public Chunk()
{
}
}
}
Et la class Block:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;
namespace RealPrimal
{
class Block
{
public bool isActive;
VertexPositionColor[] vertices;
BasicEffect effect;
int[] indices;
enum BlockType
{
Default = 0,
Grass,
Stone,
Snow,
NumTypes
}
public Block()
{
}
void setActive(bool active)
{
this.isActive = active;
}
}
}
Merci de votre aide :)
A voir également:
- Generation Procedural Voxel avec Perlin Noise
- Generation ryzen - Guide
- Réinitialiser chromecast 1ere génération - Guide
- Airpods 3eme generation - Guide
- Generation mot de passe - Télécharger - Sécurité
- Kindle 11eme generation - Accueil - Guide tablettes