第一篇 BlenderPrc2安装以及环境配置
文章目录
前言
该系列记录了如何用Blenderpro来构建自己的场景数据集,从环境搭建到后期构建数据集的整个流程
本文章是第一部分,BlenderPrc2的安装以及环境配置
部分参考https://blog.csdn.net/weixin_49521551/article/details/121573334
官方文档https://dlr-rm.github.io/BlenderProc/
一、Blenderpro是什么?
一个用于真实感渲染的程序性 Blender pipeline。
二、使用步骤
1.创建虚拟环境
为了方便日后的环境管理,我们在anaconda新建一个虚拟环境进行Blenderproc的安装,anaconda安装过程略,新环境命令如下:
conda create -n blender python=3.7 # blender处为你的虚拟环境名称
conda activate blender
2.安装Blenderproc(这一步直接按github官方教程走)
blenderproc的安装有两种方式,第一种是通过github安装,再这里我们使用更简便的方式,在虚拟环境下直接执行
代码如下:
pip install Blenderproc
安装结束后我们根据官方文档,先编写一个quickstart.py的python脚本,内容如下:
import blenderproc as bproc
import numpy as np
bproc.init()
# Create a simple object:
obj = bproc.object.create_primitive("MONKEY")
# Create a point light next to it
light = bproc.types.Light()
light.set_location([2, -2, 0])
light.set_energy(300)
# Set the camera to be in front of the object
cam_pose = bproc.math.build_transformation_mat([0, -5, 0], [np.pi / 2, 0, 0])
bproc.camera.add_camera_pose(cam_pose)
# Render the scene
data = bproc.renderer.render()
# Write the rendering into an hdf5 file
bproc.writer.write_hdf5("output/", data)
之后终端执行命令:
blenderproc run quickstart.py
第一次运行会安装blender和所需要的一些库,包括Imageio库(不用管),运行之后在目录下会有0.dhf5的文件生成,如图
此时终端运行:
blenderproc vis hdf5 output/0.hdf5
即可将结果进行可视化,结果如图:
到这一步,blenderproc的环境安装配置也就完成了,更多的基础示例可以下载github项目工程并参照示例进行。
注:
blenderproc的运行有两种模式
一种是通过设置python脚本运行(github项目工程主目录下运行)
blenderproc run examples/basics/basic/main.py examples/resources/camera_positions examples/resources/scene.obj examples/basics/basic/output
另一种则是通过配置yaml文件进行运行
blenderproc run examples/basics/basic/config.yaml examples/resources/camera_positions examples/resources/scene.obj examples/basics/basic/output
两种方法大同小异,不过官方建议使用第一种方法,并且通过配置yaml文件运行的方法会在之后被移除。
另外,Blender 还有自己的debug UI, 如图所示
只需运行如下代码:
blenderproc debug quickstart.py
现在打开 Blender UI,选择脚本选项卡并加载正确的脚本。要启动 BlenderProc pipeline,现在只需按 RunBlenderProc 。
与正常模式一样,print 语句仍然打印到终端。
pipeline可以运行多次,因为在每次运行的开始,场景都会被清除。
3.IDE 中的断点调试
由于 blenderproc 运行在独立的 python 环境中,因此调试 blenderproc 脚本的方法不能与调试其他 python 脚本的方法相同。
因此,远程调试是必要的,这里以pycharm pro 为例:
首先点击 Edit Configurations
然后点击左上角的加号,新建一个Python Debug Server,如下图所示
然后在服务器的虚拟环境中运行如下代码:
(需根据窗口中显示的选择符合自己配置的版本号,我这里是213.7172.26)
pip install pydevd-pycharm~=213.7172.26
然后,将以下代码添加到要调试的 blenderproc 脚本的顶部(在import之后)。
import pydevd_pycharm
pydevd_pycharm.settrace('localhost', port=$SERVER_PORT, stdoutToServer=True, stderrToServer=True)
然后,首先在 PyCharm 中运行 Python Debug Server 配置,然后像往常一样通过 CLI 运行 blenderproc 脚本。
PyCharm 就可以进入调试模式,停止下一行代码。现在就可以添加断点并逐步执行。
总结
以上就是第一部分,主要是BlenderProc2的安装以及环境配置。