Pikuma – 射线投射引擎编程
本课程将教你从零开始创建一个完整的射线投射引擎。我们将使用类似于《德军总部3D》中使用的算法。最终项目将使用JavaScript和C语言编写。它将实现玩家移动、2D地图视图、3D墙壁投影、纹理墙壁、精灵以及其他优化技术。
本课程分为两个重要部分:
-
课程的第一部分使用JavaScript介绍射线投射算法的理论和数学原理。JavaScript是一种简单的高级脚本语言,有助于我们不过度关注实现细节。
-
课程的第二部分使用C语言实现我们射线投射器的编译版本,包括纹理墙壁和精灵。我们还将使用C语言讨论代码的重要优化和性能方面。
你需要使用的工具:
你需要一个可以运行JavaScript的网页浏览器和一个小的C编译器。所有这些工具都是跨平台的,因此你可以在Windows、macOS或Linux上跟随学习!
我们将学习的《德军总部3D》射线投射算法主要基于三角函数,因此请确保你准备好纸和笔用于讲座。我会确保我们理解沿途遇到的每一个公式! 游戏数学
这门课程适合你吗?
本课程没有先决条件。我们将逐步介绍所有数学和代码,因此即使是没有经验的初学者也欢迎加入! 存在更快的射线投射算法,但我们将尽量忠实于《德军总部3D》的技术。
这门课程有何不同?
其他射线投射教程要么太长,要么过于复杂。本课程力求尽可能对初学者友好。
我们从不跳过任何数学或任何其他实现细节。一切都从零开始教授,你可以亲眼看到代码一行一行地演变!


