Godot 城市模拟 – 006 添加工具函数和项目配置

项目工具函数

创建 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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小武的开发空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值