CSGMesh3D

继承: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

使用网格资源的 CSG 网格形状。

描述

此 CSG 节点允许你将任何网格资源用作 CSG 形状,前提是它是闭合的、不自相交、不包含内部面并且没有连接到两个面以上的边。 另请参阅 CSGPolygon3D,以绘制 2D 挤出多边形以用作 CSG 节点。

注意:CSG 节点旨在用于关卡原型设计。与使用 PrimitiveMesh 创建 MeshInstance3D 相比,创建 CSG 节点具有显着的 CPU 成本。在另一个 CSG 节点中,移动一个 CSG 节点,也会大量消耗 CPU,因此在游戏过程中,应该避免这种情况。

教程

属性

Material

material

Mesh

mesh


属性说明

Material material 🔗

用于绘制 CSG 形状的 Material


Mesh mesh 🔗

  • void set_mesh(value: Mesh)

  • Mesh get_mesh()

用作 CSG 形状的 Mesh 资源。

注意:使用 ArrayMesh 时,除 Mesh.ARRAY_VERTEXMesh.ARRAY_NORMALMesh.ARRAY_TEX_UV 之外的所有顶点属性均保持未被使用的状态。只有 Mesh.ARRAY_VERTEXMesh.ARRAY_TEX_UV 会被传递到 GPU。

Mesh.ARRAY_NORMAL 仅被用于确定哪些面需要使用平直着色。默认情况下,CSGMesh 将忽略该网格的顶点法线,为每个顶点重新计算它们并使用一个平滑着色器。如果面需要平直着色器,请确保面的所有顶点法线大致相等。