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

1. 程序模块图

在安卓里用c++显示骨骼动画_第1张图片
在安卓里用c++显示骨骼动画_第2张图片

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

你可能感兴趣的:(C++,opengl,android,c++,开发语言)