3

HeightfieldTerrainShape我正在努力从 JBullet 物理库中找出如何使用。如我所见,有 2 个构造函数可用:

public HeightfieldTerrainShape(int heightStickWidth, int heightStickLength, byte[] heightfieldData,
            float heightScale, float minHeight, float maxHeight, int upAxis, PHY_ScalarType heightDataType,
            boolean flipQuadEdges)

public HeightfieldTerrainShape(int heightStickWidth, int heightStickLength, byte[] heightfieldData,
        float maxHeight, int upAxis, boolean useFloatData, boolean flipQuadEdges)

heightScale, minHeight,maxHeight并且upAxis是自我解释的。但究竟什么是“heightStick”?我如何确定它的宽度和长度?heightfieldData 的预期格式是什么?我假设这只是浮点数的字节缓冲区?

4

1 回答 1

3

第一个功能

public HeightfieldTerrainShape(int heightStickWidth, int heightStickLength, byte[] heightfieldData, float heightScale, float minHeight, float maxHeight, int upAxis, PHY_ScalarType heightDataType, boolean flipQuadEdges)

根据文档https://pybullet.org/Bullet/BulletFull/classbtHeightfieldTerrainShape.html#a90d823ba5f44871a0bcfce0174177223是首选。

通过文档(和 cpp 代码),它似乎是代表您正在定义的表面(地形)的原子矩形表面的矩形大小。

例如,如果您的宽度和高度为 1,地形为 10 x 10(x 和 y),则将有 10 x 10 = 100 个表示您的地形的矩形。

于 2019-05-24T01:45:52.743 回答