项目工具函数
创建 functions.gd 文件
创建 res://scripts/functions.gd 脚本
完善脚本文件
把 根据任意多边形底面和高度创建棱柱体 移动到此文件中,把方法改为 static,后续一些公共逻辑我们都放在这个文件中。
extends Node
# 根据任意多边形底面和高度创建棱柱体
static func create_prism_from_base_and_height(base_points: Array, height: float, color: Color) -> MeshInstance3D:
# 验证输入
if base_points.size() < 3:
print("错误:至少需要3个点来构成多边形")
return
var point_count = base_points.size()
# 计算棱柱体的所有顶点
var prism_points = []
# 底部点(底面多边形)
for i in range(point_count):
prism_points.append(base_points[i])
# 顶部点(底面多边形加上高度)
for i in range(point_count):
var top_point = base_points[i] + Vector3(0, height, 0)
prism_points.append(top_point)
# 使用SurfaceTool创建棱柱体
var surface_tool = SurfaceTool.new()
surface_tool.begin(Mesh.PRIMITIVE_TRIANGLES)
# 创建底面(多边形三角剖分 - 使用扇形三角剖分)
var bottom_center = Vector3.ZERO
for point in bas

最低0.47元/天 解锁文章
9112

被折叠的 条评论
为什么被折叠?



