作者nembence


《3D镜面迷宫》是一款基于三角形单元的3D迷宫,墙壁由镜面构成,带来独特的视觉体验。虽然没有目标或出口,这款作品旨在展示3D迷宫的渲染与生成算法,为玩家提供探索和实验的乐趣。

控制说明:

  • 移动:[WASD]或方向键
  • 显示地图:[M]
  • 生成新迷宫:[N]
  • 增强反射效果渲染:[空格](Turbo模式渲染速度更快)
  • 显示球体裁剪测试:[G]
  • 显示物体(钥匙)裁剪+镜面测试:[K](物体无法绕Y轴旋转)
  • 调整视角:长按并拖动鼠标左键

使用提示:

为了减少卡顿,建议在查看代码前暂停项目,并使用滚轮进行垂直滚动。水平滚动可按住Shift并滚动滚轮。舞台上提供了一些变量,可供玩家进行实验。

渲染原理:

迷宫由多个三角形单元组成,物体和墙壁会根据玩家视角进行裁剪渲染。渲染器从玩家所在单元开始,递归绘制相邻单元,并进行视野裁剪。

迷宫生成:

迷宫生成器首先将所有墙壁设为“实心”,并将每个单元设为“未完成”。随机选择一个单元设为“完成”,然后进行随机游走,标记经过的单元并设置经过的墙壁为“非实心”,直至所有单元完成。

项目灵感与致谢:

该项目的灵感来源于现实中的镜面迷宫。迷宫生成算法基于Wilson算法(来源:Wikipedia)。

预览

版权说明:资源均源于互联网收集整理,不保证资源的可用及完整性,仅供个人学习研究,请勿商用。喜欢记得支持正版,若侵犯第三方权益,请及时联系站长删除!