gpt4 book ai didi

c++ - 项目符号 : Load/Save collisionshape

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:11 26 4
gpt4 key购买 nike

我试图防止循环所有三角形并将每个三角形添加到 btTriangleMesh。 (只有加载速度要快,保存速度可以忽略不计。)

那么从文件加载碰撞数据最快的方法是什么?这两个怎么样:

  1. 保存一个 Vertex(bt3Vector) & Index(DWORD) 数组并加载调整 btTriangleMesh 的大小并立即设置数据。

  2. 使用 serializeSingleShape() 进行保存和加载类似于 ReadBulletSample(或初始化一个新的 btDynamicsWorld,使用 BulletWorldImporter 读取文件,获取碰撞对象并清理 btDynamicsWorld var)

如果还有其他方法,请告诉我。模型几何有这两个缓冲区:

Vertex = vector<float[3]>
Index = vector<DWORD>

最佳答案

我使用了 bullet 中的序列化代码。我相信它已经过优化,看不出您应该重新发明它的理由。

bt_col - 是子弹碰撞对象

    int maxSerializeBufferSize = 1024*1024*5;
btDefaultSerializer* serializer = new btDefaultSerializer(maxSerializeBufferSize);

serializer->startSerialization();
bt_col->serializeSingleShape(serializer);
serializer->finishSerialization();

FILE* file = fopen(filename, "wb");
fwrite(serializer->getBufferPointer(),serializer->getCurrentBufferSize(),1, file);
fclose(file);

delete serializer;

关于c++ - 项目符号 : Load/Save collisionshape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227646/

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