我正在努力从JBullet物理库中查找如何使用HeightfieldTerrainShape
。如我所见,有两种可用的构造函数:
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应该采用什么格式?我假设这只是浮点数的字节缓冲区?
答案 0 :(得分:2)
第一个功能
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这样的矩形代表您的地形。