ubantu中对blenderproc的研究(一)

因为近期工作需要,对blenderproc进行学习。最一开始使用的是opengl,但是由于对c++语言的生疏导致了使用过程在事倍功半。鉴于网上关于blenderproc的资料太少,因此边学边写,希望和大家共同学习。

github源码:https://dlr-rm.github.io/BlenderProc
论文原文:https://arxiv.org/abs/1911.01911

  1. 环境配置

在python中可以先建立一个新的环境,然后根据config_for_pip_install.yaml文件,对新的环境进行配置。在Terminal中执行python run.py docs/config_for_pip_install.yaml。对blender以及一些必要的包进行安装,这个过程可能有些长,选择较好的网络进行。

另外还要注意blender安装的地址 /home_local/blender怎么让线少一点 blender增加线_python{USER}下,如过不是可以通过修改Makefile进行修改。

blender怎么让线少一点 blender增加线_github_02

从主目录复制标记文件:

cd docs
python prepare_markdown.py

可以通过执行以下操作重新生成文档:

./generate.sh

主索引文件位于:BlenderProc/docs/build/html/索引.html

blender怎么让线少一点 blender增加线_python_03


到这里为止,我们的准备工作就结束了,下面让我们看看能不能跑起来这个程序。

  1. 首次尝试
    当我们配置完环境,我们看到了醒目的example文件夹。可以“大显身手”了,但是往往事情并没有那么顺利。按照readme运行了basic example,我们发现了有一个棘手的问题,运行到最后一步时,缺少了一个重要的文件,freeimage库。于是找到了下面这个博客


下载安装很简单,按照里边配置好,问题解决!成功跨过一个小坑坑。

接下来运行,发现还是不可以。报错如下:

blender怎么让线少一点 blender增加线_python_04

我们发现一个叫做warnings的变量没有被定义,进入Utility.py函数,发现git和bpy模块不存在。

(1) 首先解决git不存在的问题

在线pip install GitPython可以直接安装好。

(2) bpy不存在的问题

在博客搜了一下,bpy模块是Blender的内置部分,可让python脚本访问Blender中使用的数据和运算符.此模块可用于在Blender本身(包括python解释器)中运行的脚本.通常无法从普通的python命令导入bpy模块,但是编译混合器模块。后边会详细对这个模块进行解释。

此外我的代码中还出现了warnings没有定义的问题,直接import warning模块就可以解决。

下边看一下示例结果:

blender怎么让线少一点 blender增加线_github_05

3. 初见blenderproc

今天第一次研究blenderproc,总体感觉有一下几点。首先,相比于之前使用的opengl基于python,相比于C++更容易让我们这些编程水平不高的人所接受,在程序语言上的障碍要小的多。其次,相比opengl,在blenderproc中的参数分类都更加清晰,已经是一个很完善的体系,需要修改什么参数可以直接对其进行设置,而opengl从头到尾都需要自己亲力亲为(刚刚入门,并且只是想把其当作一个工具完成简单的任务,所以blenderproc性价比更高些),最后,因为这个是blender,没有不可能。