Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Unity] - Une "mesh" rebelle

Sujet résolu
    28 mars 2019 à 17:45:27

    Bonjour à tous,

    Je viens vous car j'ai un petit souci de rendu avec une mesh.

    Pour faire court, je suis en train de scripter un petit système de Light/Shadow 2D. Pour ça j'utilise le rayCasting, jusqu'ici pas de problème, les rayons sont bien "castés".

    Maintenant j'aimerai dessiner un polygon représentant la lumière diffuse, sauf que... je ne sais pour quelle raison cette maudite mesh à un comportement des plus étrange lorsque je bouge le point d'origine du cast, plus j'éloigne la source de son origine, plus le décalage est important.

    Pour illustrer ça donne ça (les 10 premières secondes sont sans mesh puis avec mesh) :

    https://www.youtube.com/watch?v=SuUd3jshgEQ

    Et au niveau du script, je n'ai qu'une seule fonction manipulant la mesh :

    private void UpdateMesh()
    {
        int totalVertices = m_hitRays.Count * 3;
        Vector3[] vertices = new Vector3[totalVertices];
    
        int[] triangles = new int[totalVertices];
        for(int i = 0; i < triangles.Length; ++i) {
            triangles[i] = i;
        }
    
        for(int i = 0; i < m_hitRays.Count; ++i) {
            vertices[i * 3] = m_castOrigin;
            vertices[(i * 3) + 1] = m_hitRays[i].point;
            int nextRay = i + 1;
            if(nextRay < m_hitRays.Count) {
                vertices[(i * 3) + 2] = m_hitRays[nextRay].point;
            }
            else {
                vertices[(i * 3) + 2] = m_hitRays[0].point;
            }
        }
    
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        mesh.Clear();
        mesh.vertices = vertices;
        mesh.triangles = triangles;
    }

    Si jamais quelqu'un a une idée, je suis preneur !

    Merci :)

    -
    Edité par Guit0Xx 28 mars 2019 à 17:54:22

    • Partager sur Facebook
    • Partager sur Twitter

    ...

      29 mars 2019 à 18:30:42

      Bon au cas où ça intéresserait quelqu'un, la réponse se trouve ici :D :

      https://forum.unity.com/threads/solved-issue-with-a-mesh.652387/

      • Partager sur Facebook
      • Partager sur Twitter

      ...

      [Unity] - Une "mesh" rebelle

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown