如何使用子弹HeightfieldTerrainShape

问题描述 投票:0回答:2

我正在努力找出如何使用 JBullet 物理库中的

HeightfieldTerrainShape
。正如我所看到的,有 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 需要什么格式?我假设这只是浮点数的字节缓冲区?

java bulletphysics jbullet
2个回答
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 个这样的矩形代表您的地形。


0
投票

如何将其应用于球体(地圈或常规)?

© www.soinside.com 2019 - 2024. All rights reserved.