IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Unite Europe 2016 - La puissance des modèles procéduraux
Une conférence de Alexander Birke

Le , par LittleWhite

38PARTAGES

6  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de pitchu
Membre actif https://www.developpez.com
Le 22/12/2016 à 23:47
Bonjour,

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

Code : Sélectionner tout
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();
    }
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 22/12/2016 à 23:50
Il n'y a pas de code pour la fonction :
Code : Sélectionner tout
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.
0  0 
Avatar de pitchu
Membre actif https://www.developpez.com
Le 23/12/2016 à 0:47
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
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 23/12/2016 à 8:43
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).
0  0 
Avatar de pitchu
Membre actif https://www.developpez.com
Le 24/12/2016 à 0:42
Bonjour,
ok merci de votre aide
0  0