美文网首页
mac平台下 编译Filament

mac平台下 编译Filament

作者: 撸吗撸码 | 来源:发表于2020-09-20 21:58 被阅读0次

事出有因

电脑系统环境为 macOS10.15.6
用了一年的sceneform 框架,各种花样那是耍得呼呼转,前几天去GitHub 上看看是否有新版本时,突然被淡黄的副标题震惊了


filament-1.png

Google sceneform 仓库 不维护了!
我心中凉了半截,这可咋办,OpenGL 那个操作可不是我辈信手拈来的。赶紧又去看了arcore-Android-SDK,还好,它还在更新。那没有了sceneform框架,总有其他框架推荐给我们吧,否则怎么能像Google呢?
果不其然,Google明确说推荐我们使用unity了。这个去Google的arcore-unity-sdk仓库看官方文档即可,我看了使用文档,一点不难。

SDK 地址 https://github.com/google-ar/arcore-unity-sdk

Filament 为啥扯到你?

我用scenform 的最新版本是1.16.0,就是使用sceneform源码参与项目开发,发现其他都挺好,也支持glb文件了。
原文如下,看图更直接

filament-2.png
这个意思就是说sfa,sfb不支持了。改成了gltf格式。mua,真香~~~~~
“gltf格式你知道吧?”
~“不知道”
不知道现在去看来得及,哥送你一程:
https://github.com/KhronosGroup/glTF/blob/master/README.md
但是我运行之前的项目加载视频模型的时候崩溃了,奔溃的日志如下
2020-09-18 17:36:34.033 15587-15587/com.whyhow.sucailib E/Filament: in static filament::MaterialParser

*filament::details::FMaterial::createParser(backend::Backend, const void *, size_t):493
于是我开启了filament旅程

论BUILDING.md的重要性

这个文件很重要,详细说明了编译filament流程和准备条件。
https://github.com/google/filament/blob/main/BUILDING.md
如果你英文很6,可以去读原文。
filament 也是Google的项目,地址请看
https://github.com/google/filament(当时的版本是1.9.0)
于是我像大部分程序员执行了一个熟悉的动作 点击 Download ZIP
下下来一看,很高兴地看到根目录里有android/sample/目录,咱们都知道套路,这个就是demo啊,直接跑呗,先看效果。结果悲剧了,报错了。
如果你仔细阅读了这个文件,然后都读懂了安装里面的说明,你会一步步的解决问题,最终成功运行demo。而如果你不想看那个晦涩难懂的build.md,请我看的文章吧^ I ^。

编译前的准备工作
安装如下软件
1 CMake 3.10 (or more recent)
2 clang 7.0 (or more recent) :推荐安装最新版的xcode,自带这个
3 ninja 1.8 (or more recent)

brew install cmake ninja dfu-util

4 Java1.8+或者openSDK+
如果不会单独安装,推荐使用homebrew,然后通过brew命令安装上面的工具。
现在可以编译了。进入到根目录:
step 1.首先执行根目录下的 build.sh文件,不是其他目录的。

$ ./build.sh release

step 2. 在根目录下执行如下命令

$ mkdir out/cmake-release
$ cd out/cmake-release
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../release/filament ../..
$ ninja

step 3. 最后一步

$ ./build.sh -p android release

大功告成,惊喜的看到效果图了

filament-3.jpeg

编译过程中遇到的错误

第一个错误

could not find cmake, exiting
Google了一下,是我没有安装CMake,请安装最新版本。

第二个错误

needed by '../../../../build/intermediates/cmake/debug/obj/xxxxxx(这里可能有不同的cpu型号)/libnative-lib.so', missing and no known rule to make it
请安装nijia。
安装完cmake之后把cmake设置到系统路径里。

第三个错误

Error: Permission denied @ apply2files xxxxxx
解决方法
执行如下命令
sudo chown -R "$(whoami)":admin /usr/local/lib

第四个错误

error: loading 'build.ninja': No such file or directory
执行如下命令:
rm -rf out ,然后再试一次

如果还没成功,请联系我试试。(QQ:76132921)

相关文章

网友评论

      本文标题:mac平台下 编译Filament

      本文链接:https://www.haomeiwen.com/subject/skypyktx.html