物理引擎是怎么写的?到底怎么工作
计算机诞生的最初目的之一是计算火炮的弹道,实际上是物理发动机的最初演示。从游戏诞生开始,物理引擎就作为游戏最基本的元素之一出现。
最简单的物理引擎表现在游戏中无处不在的碰撞检测。简单来说,物理引擎最基本的性能就是游戏中的角色可以在有限的空间内活动。当然也包括重力、碰撞、刚性、柔性、液体、变形等等。物理引擎的最终目的是仿真。
具体怎么做,就是基于牛顿力学还原游戏中真实的物理世界。
以Unity3D引擎为例。当你添加一个刚性立方体,绑定Unity3D engine提供的刚体时,绑定的刚体具有物理属性。当它产生运动时,物理引擎一直在计算刚体的运动模式,比如它受到的重力,碰撞后的轨迹。基本上接近真实世界。
至于怎么写~
我再研究一下,国内对物理发动机的研究起步较晚,人少资料少。有兴趣可以去度娘那里学习一些开源的物理引擎。我看过一点Box2D代码,好像是C写的,所以估计比较简单。如果你想学习3D,有很多开源,但是你需要很深的编程基础才能理解。
希望对你有帮助。