【Blender Scripts】Blender中用pycharm调试脚本
blender2.8中用pycharm调试脚本
最近在学习用Blender2.8制作脚本,一方面学3D,一方面也在学习python,但是blender内置的编辑器实在是太不好用了,作为软硬件追求者,就是想把自己的娱乐环境搭配的很舒服才行。终于查阅大量的google和自己摸索后,找到了在pycharm中自动补全代码并debug脚本代码的方法。
远程调试原理,文章借鉴在此
-
远程调试的功能在
Eclipse
、IntelliJ IDEA
等大型IDE中均有支持,实现原理都基本相同,这里采用PyCharm进行说明。 -
在远程调试的模式下,
PyCharm(IDE)
扮演服务端(Server)的角色,而运行在远程计算机上的应用程序扮演客户端(Client)的角色。正因如此,进行远程调试时,需要先在本地开发环境中设定端口并启动IDE,IDE会对设定的端口开始监听,等待客户端的连接请求;那远程计算机中的应用程序又是怎样与IDE建立通讯连接的呢? -
针对远程调试功能,PyCharm提供了
pydevd模块
,该模块以pycharm-debug.egg
的形式存在于PyCharm的安装路径中。远程计算机安装该库文件后,然后就可以调用pydevd.settrace
方法,该方法会指定IDE所在机器的IP地址和监听的端口号,用于与IDE建立连接;建立连接后,便可在IDE中对远程在远程计算机中的程序进行单步调试
利用脚本将blender与pycharm连接起来
-
安装并设置插件remote_debugger.py
记事本打开上面的py文件,把bl_info里的版本号改为(2,80,0)(相应的就行)。在Blender中安装此插件,然后设置Pycharm egg file
,这个文件可以在Pycharm安装目录
下找到。 -
在Pycharm中设置
debug server
。
Run → Edit Configurations… → + → Python Remote Debug.
设置Local Host Name
为“localhost”
,Port
为“1090
”. 或者自己编辑remote_debugger.py
进行自定义。
注意设置path mapping路径,local是你的脚本所在项目文件夹,remote是blender\2.8\scripts\addons 路径设置问题参考
OK了
-
重新运行
blender
,在搜索栏中搜pycharm
,可以找到Connecting the Pycharm debugger
。运行。然后blender卡了,这是正常。 -
在自己的脚本项目文件下,打开需要调试的脚本。选择debug server,点击小虫子进行server连接。
-
提示连接成功。在blender中运行脚本,blender就会卡住,这是返回数据到pycharm中了,可在pycharm中查看debug信息。
在pycharm中完成代码自动补全
网友开发了Blender的第三方包,名为# fake-bpy-module,下载此包,可以实现代码补全,然后在blender脚本编辑器里实施更新脚本信息,也是一个好方法。