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.
Checking the stable version of the documentation...
CSGMesh3D
继承: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
使用网格资源的 CSG 网格形状。
描述
该 CSG 节点允许你将任何流形的网格资源用作 CSG 形状。流形的形状指的是闭合、不自相交、不包含内部面、没有连接到两个面以上的边。将绘制的 2D 多边形挤出用作 CSG 节点见 CSGPolygon3D。
注意:CSG 节点旨在用于关卡原型设计。与使用 PrimitiveMesh 创建 MeshInstance3D 相比,创建 CSG 节点具有显着的 CPU 成本。在另一个 CSG 节点中移动 CSG 节点也会大量消耗 CPU,因此在游戏过程中应该避免这种情况。
教程
属性
属性说明
用于绘制 CSG 形状的 Material。
用作 CSG 形状的 Mesh 资源。
注意:该属性的类型提示中排除了 PlaneMesh、PointMesh、QuadMesh、RibbonTrailMesh 等 Mesh 类型,因为这些图元非流形,与 CSG 算法不兼容。
注意:使用 ArrayMesh 时,除 Mesh.ARRAY_VERTEX、Mesh.ARRAY_NORMAL 和 Mesh.ARRAY_TEX_UV 之外的所有顶点属性均保持未被使用的状态。只有 Mesh.ARRAY_VERTEX 和 Mesh.ARRAY_TEX_UV 会被传递到 GPU。
Mesh.ARRAY_NORMAL 仅被用于确定哪些面需要使用平直着色。默认情况下,CSGMesh 将忽略该网格的顶点法线,为每个顶点重新计算它们并使用一个平滑着色器。如果面需要平直着色器,请确保面的所有顶点法线大致相等。