EloiStree / HelloUnityKeywordForJunior

List of word nice to learn for Unity3D
0 stars 0 forks source link

Keyword: Triangle #147

Open EloiStree opened 2 months ago

EloiStree commented 2 months ago

Computerphile

image Voir #67 pour comprendre les triangles, qui n'est rien d'autres qu'un représentation de trois points dans un order donné.

Blender

Bien que Blender et d'autres logiciels 3D affichent des faces, il est important de comprendre qu'en réalité, tout est composé de triangles lorsqu'il s'agit des calculs effectués par la carte graphique. C'est pourquoi les optimisations de performance exigent de limiter le nombre de triangles.

image image image

Unity3D

Pour un MeshFilter dans Unity3D, un triangle est simplement défini par trois points. Son orientation dépend de l'ordre dans lequel ces points sont spécifiés.

image

using UnityEngine;

[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
public class CreateTriangle : MonoBehaviour
{
    void Start()
    {
        // Créer un nouveau mesh
        Mesh mesh = new Mesh();

        // Définir les trois sommets du triangle
        Vector3[] vertices = new Vector3[]
        {
            new Vector3(0, 0, 0), // Point A
            new Vector3(1, 0, 0), // Point B
            new Vector3(0, 1, 0)  // Point C
        };

        // Définir les index des triangles
        // L'ordre des sommets est important pour l'orientation
        // ABC définit une orientation, ACB en définit une autre
        int[] triangles = new int[]
        {
            0, 1, 2 // Triangle avec les sommets A, B, C (ordre horaire)
        };

        // Appliquer les sommets et triangles au mesh
        mesh.vertices = vertices;
        mesh.triangles = triangles;

        // Recalculer les normales pour l'éclairage
        mesh.RecalculateNormals();

        // Appliquer le mesh à l'objet
        GetComponent<MeshFilter>().mesh = mesh;
    }
}

Voir #wiref

EloiStree commented 2 months ago

d

EloiStree commented 2 months ago

d