这个项目能做什么
## 概述
Godot Road Generator 是一款面向 Godot 游戏引擎的插件,让开发者能够直接在编辑器中创建灵活的 3D 公路、街道以及沿车道行驶的交通系统。它旨在解决常见的道路创建问题,例如网格缝隙、车道过渡、交叉口以及交通 AI 集成。
## 主要特性
- **基于横截面的几何结构**:RoadPoint 设置会在各点之间平滑插值,并提供车道控制小工具,可按点或按容器调整车道数量。
- **RoadContainer 组织方式**:将同级 RoadPoint 分组,并把多个容器吸附拼接在一起。可将容器保存为场景以便复用。
- **RoadPoint 检查器面板**:定义车道宽度、路肩及其他属性。按住 Shift 可将更改应用于容器中的所有点。
- **点击绘制与碰撞吸附**:在 3D 视口中点击即可绘制道路,并可吸附到几何结构。
- **程序化交叉口**:动态连接 RoadPoint 以创建交叉口,支持非平面布局。
- **预制交叉口容器**:内置四向、三向以及高速公路驶入/驶出匝道,可轻松吸附拼接。
- **Terrain3D 集成**:将地形压平以匹配道路高度,并支持可配置的边距和衰减。也可扩展以支持其他地形生成器。
- **多材质支持**:每个容器可分别设置表面材质和底面材质,并提供用于自定义材质的源 trim-sheet。
- **自动生成 AI 路径**:启用自动 RoadLane 放置,或手动放置车道。使用 RoadLaneAgent 帮助代理沿道路行驶并处理路段过渡。
- **装饰边缘曲线**:添加 CSG 路径几何或自定义脚本,沿左、右和中心曲线实例化资产。
- **运行时程序化功能**:操作可作用于单个 RoadSegment 以提升性能,从而支持游戏内程序化生成。
- **导出为 gLTF/glb**:导出道路网络的各个部分,以便在 3D 软件中进一步编辑。
- **自定义网格支持**:关闭几何生成并放入自己的网格和碰撞体,同时保持 AI 路径连接。
- **仅使用 GDScript**:无需编译,也不需要外部依赖。
## 安装与使用
1. 从[发布页面](https://github.com/TheDuckCow/godot-road-generator/releases)下载最新版本,或从 [Godot 资产商店](https://store.godotengine.org/asset/theduckcow/road-generator/)获取。
2. 将 `addons/road-generator` 文件夹复制到项目中。也可以选择复制 `demo_roads` 文件夹以查看示例。
3. 跟随[入门教程](https://github.com/TheDuckCow/godot-road-generator/wiki/A-getting-started-tutorial)操作,或打开 `road_demos/demo_menu.tscn` 场景浏览演示。
4. 详细文档请参阅 [wiki](https://github.com/TheDuckCow/godot-road-generator/wiki)。
## 版本支持
| 分支 | 插件版本 | Godot 支持 |
| ------ | -------------- | ------------- |
| main | 0.9.1 | 4.4+ |
| dev | 下一个版本 | 4.4+ |
| godot4.3 | 0.9.0 | 4.3+ |
| godot3 | 0.6.0 | 3.5-3.6 |
## 致谢
由 Moo-Ack! Productions 作为“Wheel Steal”游戏项目的一部分开发。基于 MIT 许可证分发。欢迎社区贡献。
## 使用 Road Generator 制作的游戏
- Wheel Steal Game——程序化用例
- Wheelie Big and Small——程序化用例
- Makin'Paper / Racin'Paper——在编辑器中创建的赛道
## 未来计划
开发构想在 GitHub 上作为增强 issue 进行跟踪。优先处理的 issue 已纳入里程碑。
## 贡献
欢迎贡献。详情请参阅[贡献指南](https://github.com/TheDuckCow/godot-road-generator/blob/main/CONTRIBUTING.md)。在深入编写代码之前,请加入 Discord 或发起 issue 讨论。
评论
0 评分人数达到10人后显示
登录后参与讨论。