作者nembence
《3D镜面迷宫》是一款基于三角形单元的3D迷宫,墙壁由镜面构成,带来独特的视觉体验。虽然没有目标或出口,这款作品旨在展示3D迷宫的渲染与生成算法,为玩家提供探索和实验的乐趣。
控制说明:
- 移动:[WASD]或方向键
- 显示地图:[M]
- 生成新迷宫:[N]
- 增强反射效果渲染:[空格](Turbo模式渲染速度更快)
- 显示球体裁剪测试:[G]
- 显示物体(钥匙)裁剪+镜面测试:[K](物体无法绕Y轴旋转)
- 调整视角:长按并拖动鼠标左键
使用提示:
为了减少卡顿,建议在查看代码前暂停项目,并使用滚轮进行垂直滚动。水平滚动可按住Shift并滚动滚轮。舞台上提供了一些变量,可供玩家进行实验。
渲染原理:
迷宫由多个三角形单元组成,物体和墙壁会根据玩家视角进行裁剪渲染。渲染器从玩家所在单元开始,递归绘制相邻单元,并进行视野裁剪。
迷宫生成:
迷宫生成器首先将所有墙壁设为“实心”,并将每个单元设为“未完成”。随机选择一个单元设为“完成”,然后进行随机游走,标记经过的单元并设置经过的墙壁为“非实心”,直至所有单元完成。
项目灵感与致谢:
该项目的灵感来源于现实中的镜面迷宫。迷宫生成算法基于Wilson算法(来源:Wikipedia)。
预览
版权说明:资源均源于互联网收集整理,不保证资源的可用及完整性,仅供个人学习研究,请勿商用。喜欢记得支持正版,若侵犯第三方权益,请及时联系站长删除!