简介
最近找到了一个 demo,其中使用的物理引擎是 Bullet。不过,碰撞效果出现了一些 bug。这个 demo 的源码是通过 jar 包引入的,结果在 Maven 上找不到相关库,因此只能推测这是个个人封装的项目。
为了寻找更适合的解决方案,我在网上搜索了一些知名的物理引擎,最终选择了 LibGDX。之所以选择它,是因为其他引擎无法满足我的需求,而 LibGDX 提供了比较全面的功能。不过在使用 gdx-bullet 时,我也遭遇了不少坑。为了帮助其他可能面临类似问题的人,我决定将我的经验记录下来与大家分享。
Android 引入
- 引入so库
- gdx-bullet-platform so库(版本需要和jar包一致)
- libgdx.so库 (可选:如果需要gdx提供的渲染控件)
注:在Maven 中搜索 gdx-bullet-platform ,根据你的架构下载相应的 JAR 包,并解压以获取对应的 SO 库
- 引入JAR
//这里是gradle引入 你也可以下载jar引入
implementation 'com.badlogicgames.gdx:gdx-bullet:1.12.1'
implementation "com.badlogicgames.gdx:gdx-backend-android:1.12.1" //可选 如果使用gdx的渲染而不用直接使用OpenEs
最后
官方推荐的配置方法是使用 Gradle 来管理 SO 库。在执行相关任务时,可以将 JAR 包中的 SO 库解压到指定目录。如果你对源码感兴趣,可以前往 GitHub 下载。