尝试在Unity 3D中创建我的世界/乐高世界风景(通过立方体程序生成的体素风景),我发现为这些风景创建的网格占用了大量内存。网格当前仅由多维数据集可见侧的顶点组成。复杂地形的内存使用可能需要6或700兆。
这些网格可以优化,但是我正在努力寻找一个合适的算法来做到这一点。
该算法必须考虑到您不希望“合并”具有不同地形类型的块。我想一个真正简单的开始可能是只处理一个轴上的所有块,并对其他两个轴进行额外的扫描。
我需要保持网格形状,即不要将顶点合并到更改空白或实体空间的位置。原因是,可能仍需要在网格周围导航的生物/等。因此,我不能只创建一个非常低的细节,扭曲的网格。
有任何想法/建议/提示吗?
2
为什么要为已知大小的多维数据集存储顶点?用算法去做;或使用共享的顶点缓冲区。
—
deceleratedcaviar
为什么选择多边形网格?体素可以像它们一样高效地渲染。对于一个体素立方体,您需要3个浮点数(x,y,z),对于1个框,您需要大约8 * 3个浮点数(8个顶点),并且如果您有隐式的边和多边形。也许Unity不是解决此体素问题的工具。
—
user712092 2011年