Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

CSGMesh3D

Hérite de : CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Une forme de maillage CSG qui utilise une ressource de maillage.

Description

Ce nœud CSG vous permet d'utiliser toute ressource de maillage comme forme CSG, à condition qu'il soit manifold. Une forme manifold est fermée, ne s'auto-intersecte pas, ne contient pas de faces internes et n'a aucune arête qui se connecte à plus de deux faces. Voir aussi CSGPolygon3D pour dessiner des polygones extrudés 2D pour être utilisés comme nœuds CSG.

**Note : ** Les nœuds CSG sont destinés à être utilisés pour le prototypage de niveau. Créer des nœuds CSG a un coût CPU important comparé à la création d'un MeshInstance3D avec un PrimitiveMesh. Déplacer un nœud CSG dans un autre nœud CSG a également un coût CPU important, ceci devrait donc être évité pendant le gameplay.

Tutoriels

Propriétés

Material

material

Mesh

mesh


Descriptions des propriétés

Material material 🔗

Le Material utilisé pour dessiner la forme de la CSG.


Mesh mesh 🔗

  • void set_mesh(value: Mesh)

  • Mesh get_mesh()

La ressource Mesh à utiliser comme forme CSG.

Note : Certains types de Mesh tels que PlaneMesh, PointMesh, QuadMesh, et RibbonTrailMesh sont exclus de l'indice de type pour cette propriété, car ces primitives sont non manifold et donc non compatibles avec l'algorithme CSG.

Note : Lors de l'utilisation d'un ArrayMesh, tous les attributs de sommet sauf Mesh.ARRAY_VERTEX, Mesh.ARRAY_NORMAL et Mesh.ARRAY_TEX_UV sont laissés inutilisés. Seuls Mesh.ARRAY_VERTEX et Mesh.ARRAY_TEX_UV seront transmis au GPU.

Mesh.ARRAY_NORMAL n'est utilisé que pour déterminer quelles faces nécessitent l'utilisation d'un ombrage plat. Par défaut, CSGMesh ignorera les normales des sommets du maillage, les recalculera pour chaque sommet et utilisera un shader lisse. Si un shader plat est nécessaire pour une face, assurez-vous que toutes les normales de la face sont approximativement égales.