在安卓里用c++显示骨骼动画

该文详细介绍了如何从下载Assimp库5.0.0版本开始,通过创建安卓编译链、配置环境变量和使用CMake来编译库,最终生成libassimp.so。接着,文章说明了如何在AndroidStudio中将工程打包成APK并安装到模拟器上运行。此外,还提到了模型和shader资源的存放路径。
摘要由CSDN通过智能技术生成

1. 程序模块图

在这里插入图片描述
在这里插入图片描述

2. 编译第三方库Assimp

2.1 下载

官网下载5.0.0版本,https://codeload.github.com/assimp/assimp/zip/refs/tags/v5.0.0

2.2 生成安卓编译链

解压后在assimp-5.0.0下建文件夹BuildAssimp
放两个脚本make_standalone_toolchain.bat

python D:/Android/Sdk/ndk/23.1.7779620/build/tools/make_standalone_toolchain.py --arch=arm --stl=libc++ --api=16 --install-dir=android-toolchain-16-llvm-arm

make_standalone_toolchain.py 路径需要改成自己本地的
运行make_standalone_toolchain.bat后会在BuildAssimp下生成android-toolchain-16-llvm-arm,这就是安卓编译链

2.3 编译

,build_assimp.bat

@REM @echo off  
cls  
  
REM *NOTE* Change these based on   
SET ASSIMP_DIR=assimp-5.0.0
SET OUTPUT_DIR=assimp-build-arm 
SET ANDROID_PATH=D:\Android\Sdk
SET NDK_PATH=D:\Android\Sdk\ndk\23.1.7779620
SET NDK_TOOLCHAIN=%~dp0android-toolchain-16-llvm-arm
SET CMAKE_TOOLCHAIN=%NDK_PATH%\build\cmake\android.toolchain.cmake  
SET CMAKE_PATH=%ANDROID_PATH%\cmake\3.22.1
  
REM *NOTE* Careful if you don't want rm -rf, I use it for testing purposes.  
del \F \S \Q %OUTPUT_DIR%
mkdir %OUTPUT_DIR%  
  
REM pushd doesn't seem to work ):<  
cd %OUTPUT_DIR%  
  
if not defined ORIGPATH set ORIGPATH=%PATH%  
SET PATH=%CMAKE_PATH%\bin;%ANDROID_PATH%\tools;%ANDROID_PATH%\platform-tools;%ORIGPATH%;%NDK_TOOLCHAIN%\bin;
  
%CMAKE_PATH%\bin\cmake.exe -GNinja -DCMAKE_TOOLCHAIN_FILE=%CMAKE_TOOLCHAIN%  -DANDROID_ABI="armeabi-v7a" -DASSIMP_ANDROID_JNIIOSYSTEM=ON -DANDROID_NDK=%NDK_PATH% -DCMAKE_MAKE_PROGRAM=%CMAKE_PATH%\bin\ninja.exe -DCMAKE_BUILD_TYPE=Release  -DANDROID_NATIVE_API_LEVEL=24 -DANDROID_FORCE_ARM_BUILD=TRUE -DCMAKE_INSTALL_PREFIX=install -DANDROID_STL=c++_static -DCMAKE_CXX_FLAGS=-Wno-c++11-narrowing -DANDROID_TOOLCHAIN=clang -DASSIMP_BUILD_TESTS=OFF   -DASSIMP_NO_EXPORT=TRUE -DASSIMP_BUILD_ASSIMP_TOOLS=FALSE -DASSIMP_BUILD_SAMPLES=FALSE -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=TRUE ..\..\..\%ASSIMP_DIR%
  
%CMAKE_PATH%\bin\cmake.exe --build .
  
REM D:\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe

cd ..

需要把ANDROID_PATH,NDK_PATH路径需要改成自己本地的
运行build_assimp.bat后在assimp-build-arm/code/得到libassimp.so

3. 生成apk

Android Studio把工程编译成apk,安装到模拟器后,可以运行

4. 模型与shader资源

资源需要放在安卓本地路径,两个路径任选

  • /storage/emulated/0/Download
  • /storage/emulated/0/Android/data/com.example.opengles/files
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值