Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Unite Europe 2016 - La puissance des modèles procéduraux

Une conférence de Alexander Birke

Le 2016-07-26 22:09:27, par LittleWhite, Responsable 2D/3D/Jeux
Bonjour à tous,

Alexander Birke montre la puissance de la génération procédurale de modèle 3D. En effet, son jeu (premier jeu du studio Out Of Bounds Games) utilise grandement cette technique.

Bonne vidéo
Unite Europe 2016 - Génération procédurale de contenu
Voir d'autres vidéos
  Discussion forum
5 commentaires
  • pitchu
    Membre actif
    Bonjour,

    J'ai voulu faire l’exemple du triangle multicolore mais le triangle reste toujours rouge.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
        [SerializeField] float speed = 90f;
    
    	// Use this for initialization
    	void Start ()
        {
            Mesh mesh = new Mesh();
    
            // assigner les sommets
            Vector3[] vertices = new Vector3[3];
            vertices[0] = new Vector3(-1, -1, 0);
            vertices[1] = new Vector3(0, 0.8f, 0);
            vertices[2] = new Vector3(1, -1, 0);
            mesh.vertices = vertices;
    
            // assigner les triangles
            int[] triangles = new int[3] { 0, 1, 2 };
            mesh.triangles = triangles;
    
            GetComponent<MeshFilter>().mesh = mesh;
    
            Vector3[] normals = new Vector3[3];
            normals[0] = Vector3.back; normals[1] = Vector3.back; normals[2] = Vector3.back;
            mesh.normals = normals;
    
            Color[] colors = new Color[3];
    
            float offset = Time.deltaTime * speed;
    
            colors[0] = ColorFromHue(0 + offset);
            colors[1] = ColorFromHue(120 + offset);
            colors[2] = ColorFromHue(240 + offset);
    
            mesh.colors = colors;
    
            Vector2[] uvs = new Vector2[4];
            uvs[0] = new Vector2(0, 0);
            uvs[1] = new Vector2(0, 1);
            uvs[2] = new Vector2(1, 1);
            uvs[3] = new Vector2(1, 0);
            mesh.uv = uvs;
    
        }
    
        private Color ColorFromHue(float v)
        {
            throw new NotImplementedException();
        }
  • LittleWhite
    Responsable 2D/3D/Jeux
    Il n'y a pas de code pour la fonction :
    Code :
    1
    2
    3
    4
    private Color ColorFromHue(float v)
        {
            throw new NotImplementedException();
        }
    Donc, ne retourne pas de valeur, donc, pas de couleur pour votre modèle.
  • pitchu
    Membre actif
    Comment j'utilise ColorFromHue ? , c'est microsoft visual studio qui m'a cette méthode mais je ne l'a trouve pas dans la doc d'unity
  • LittleWhite
    Responsable 2D/3D/Jeux
    C'est à vous de la coder. Même si c'est votre EDI trop intelligent qui a rajouté la méthode (car elle manquait) c'est à vous de l'implémenter. C'est plutôt simple, il suffit de se renseigner sur le format colorimétrique HSV (Hue, Saturation, Value).
  • pitchu
    Membre actif
    Bonjour,
    ok merci de votre aide