gpt4 book ai didi

algorithm - 屏幕上的 3d 实体阵列绘图

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:34:45 24 4
gpt4 key购买 nike

我正在制作 3D 游戏。在游戏中,我有一个在空间中有位置的实体列表。

仅绘制屏幕上或相机半径内的实体的最佳方法是什么?

例如,如果我有 100,000 个实体,可能其中 10 个将在给定时间显示在屏幕上。遍历整个数组并有一个:

if(entity.position.x > (camera.x-radius) || entity.position.x < (camera.x+radius)|| ..y..z)
draw(); // or update

最佳答案

也许你应该用八叉树来划分你的空间。您必须分配/维护八叉树单元格中的对象。使用这种结构,您可以快速找到必须渲染哪些八叉树单元格,然后渲染这些单元格中的实体。

这可能不太容易实现,但您可能会获得更好的性能!如果对象可能会移动,这就更难了:您必须使八叉树保持最新状态,而不是遍历所有实体。

关于algorithm - 屏幕上的 3d 实体阵列绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com