这是我的游戏 10亿像素。这是一个“Breakout增量”游戏。有成千上万的刚体在碰撞,数百万个可破坏的砖块,它仍然在编辑器中运行在100+fps。 我即将泄露如何做到这一点。 这是如何做到的: 1. 分块。任何具有大世界的砖块游戏的最明显的技术。 你需要把你的砖块分成块。 在这个游戏中,只有物理(箱形碰撞体)被分块。 2. 将物理与视觉分开。 这一项并不是那么明显,但它是 最重要 的优化技术。 这个技术实际上允许你在数百帧每秒的速度下显示一个100万+砖块的世界。 你玩过4K纹理的游戏吗?可能是。 一个4K纹理超过16百万像素。即使是最便宜的PC也能显示一个(仅仅一个)4K纹理。 这个游戏的世界像素就是一个纹理,其中每个像素都是一个砖块。 纹理在球击中砖块时就会更新。 显示一个4K纹理,其中每个像素的颜色都在改变,这对于CPU和GPU来说真的很便宜。 Tldr;物理被分块,视觉是纹理上的像素。 3. 池化。 这是这个游戏中最不重要的优化技术。 但是,当你有1000个闪电球,击中数千块砖块时,它变得至关重要。 如果你要重复地创建成千上万的游戏对象,就把它们放到一个池中吧? 我在做这个游戏的过程中对电脑的力量和速度感到惊讶。 我每次需要添加一大块代码时都会感到害怕,但是它就会正常工作。 CPU可以处理它。 CPU可以处理成千上万条代码。 每一帧。 我在做这个游戏的过程中意识到,我对那些小的硅晶线根本不了解。 我一直低估我的PC,但它却在回答我“没问题,我处理它”。 Steam链接:https://store.steampowered.com/app/4738100/10_Million_Pixels/