【Blender】使用 Microsoft Visual Studio Code 作为外部 IDE 来编写 Blender 脚本/附加组件

【Blender】使用 Microsoft Visual Studio Code 作为外部 IDE 来编写 Blender 脚本/附加组件

Blender 有自己的内置文本编辑器,用于编写脚本和附加组件,但在外部 IDE 中开发它们非常方便,为用户提供更多功能,例如自动完成、语法高亮、与版本控制系统和其他工具的集成使开发更快更容易。

这些 IDE 之一是 Microsoft 的 Visual Studio Code。这是一个免费的通用环境
,支持使用各种编程语言进行开发,包括 Blender API 语言 - Python。
在这里插入图片描述
要开始使用 Visual Studio Code 进行开发,您需要:

安装 Visual Studio Code IDE 本身

从官方网站,您可以下载适用于 Windows 或 Linux 操作系统的发行版:https://code.visualstudio.com/Download

下载后,需要安装IDE。

要使用外部 IDE,您需要安装单独的 Python 解释器

从官网下载 Python 解释器发行版:https://www.python.org/downloads/

下载与 Blender 中使用的版本相同的 Python 解释器版本。对于 Blender 2.79b,这是 Python 版本 3.5.3。对于 Blender 2.80 – Python 3.7.0。

下载后,安装 Python 解释器。

安装 Visual Studio Code 扩展以使用 Python

运行 Visual Studio 代码。

打开扩展面板。在搜索字段中输入“python”。从扩展列表中选择“Python”扩展并单击“安装”进行安装。单击“重新加载”以启动扩展程序。

在这里插入图片描述

在 Visual Studio Code 中为 Blender 编写脚本

安装完所有必要的程序模块后,我们就可以编写代码了。

Visual Studio Code 使用目录中的项目。在 D:/ 硬盘驱动器上创建“bl_test”目录并在 Visual Studio Code 中打开它。这将是我们目前的项目。所有进一步的设置将仅应用于此项目。

在这里插入图片描述

将新的 bl_test.py 文件添加到您的项目中。我们将在这个文件中编写脚本代码。

配置 Visual Studio Code 项目以使用 Blender Python

按 F1(或 ctrl+shift+p)打开命令提示符。输入“python select interpreter”指定项目的Python解释器。

在这里插入图片描述

从下一个下拉列表中,选择已安装的 Python 解释器。

按 F1。键入“python select linter”以选择/安装 Python linter。Linter 用于动态检查代码,指示错误和拼写错误。此外,linter 检查代码以符合 PEP 规范。

从下拉列表中选择“Python:选择 Linter”。

在这里插入图片描述

然后选择“pep8”。这是当前的 Python 规范。

在这里插入图片描述

保存文件时,Linter 变为活动状态。要激活它,请保存当前文件。Visual Studio Code 可能会提示您安装选定的 linter。

在这里插入图片描述

通过单击“安装”来安装它。安装一次就需要了,下一个项目就不需要了。
在这里插入图片描述

您可以通过输入一些代码并保存它来检查 linter 工作。

在这里插入图片描述

如何在 Visual Studio Code 中启用 Blender API 的自动完成功能

当我们开始编码时,我们将看到自动完成功能仅适用于标准 Python 数据类型,不适用于 Blender API 数据类型。为了解决这个问题,我们需要下载带有 Blender 数据类型的库并将其连接到我们的项目。

您可以通过单击“克隆或下载”-“下载 ZIP”按钮从 GitHub 上的https://github.com/Korchy/blender_autocomplete下载此库。

我们需要的文件被放置在下载的存档中的子目录中,其名称与它们所针对的 Blender 版本相对应。如果我们正在使用 Blender 2.79b 的最新稳定版本,我们需要子目录:2.79。

这个自动完成库不仅对当前项目有用。将其复制到可访问的地方,从那里可以连接到任何项目。创建一个 D:/autocomplete/ 目录并将下载的存档中的整个 2.79 文件夹复制到其中。

现在将其连接到当前项目。为此,请打开 Visual Studio Code 项目设置:“文件 - 首选项 - 设置”并切换到“工作区设置”。
在这里插入图片描述

点击右上角的双大括号“{}”切换到文本(JSON)显示模式。

在这里插入图片描述

在“用户设置 - 工作区设置”窗口中添加一些带有路径的指令以启用 Blender API 自动完成功能。路径是带有自动完成库的 2.79 目录。

"python.autoComplete.extraPaths": [
    "d:/autocomplete/2.79"
],
"python.linting.pylintArgs": [
    "--init-hook",
    "import sys; sys.path.append('d:/autocomplete/2.79')"
],

在这里插入图片描述

保存设置并关闭设置选项卡。

现在,当我们输入代码时,Blender API 自动完成功能可以正常工作。

在这里插入图片描述

我们可以编写我们的代码。

在 Blender 中执行外部脚本(2.79 和 2.80)

脚本在 Visual Studio Code 中编写完成后,需要在 Blender 中执行。

启动 Blender,打开内置的文本编辑器并输入以下代码:

import bpy
import os
 
filename = os.path.join("_PATH_", "_FILE_NAME_.py")
exec(compile(open(filename).read(), filename, 'exec'))

其中 PATH 是我们项目所在目录的路径,FILE_NAME 是我们代码中脚本文件的名称。

在这里插入图片描述

这是在 Blender 中执行外部脚本的通用代码。将其保存为模板并用于在 Blender 中执行任何用外部 IDE 编写的脚本。对于更复杂的多文件项目和插件,您应该使用带有动态插件重新安装的代码。

从 Visual Studio Code 到 Blender 的动态代码执行桥(仅限 2.80)

您可以在 Visual Studio Code 中安装 Jacques Lucke 的“Blender Development”扩展,以直接从 IDE 动态执行脚本和附加组件。

在 Visual Studio Code 中打开扩展面板并在搜索字段中输入“blender development”。
在这里插入图片描述

安装扩展并单击“重新加载”以启动它。

按 F1 打开命令行并键入“blender start”。选择“搅拌机:开始”。

在这里插入图片描述

按“选择一个新的 Blender 可执行文件……”
在这里插入图片描述

并指定 blender.exe 文件的路径(您的 Blender 2.80 安装目录)。
在这里插入图片描述

通过网桥连接到 Visual Studio Code 的 Blender 启动。

在这里插入图片描述

要执行脚本,请按 F1 并在命令提示符中键入“blender run script”并选择“Blender: Run Script”

在这里插入图片描述

此扩展为 Blender 插件开发人员提供了许多方便的功能,但它也存在一些问题 - 它仅适用于 Blender 2.80 版,并且在执行脚本时有时无法在 Blender 中找到正确的窗口上下文定义。例如,下面的脚本不能通过这个扩展执行。

脚本示例

在 bl_test.py 文件中键入以下代码并运行外部脚本(使用 Blender 内置文本编辑器中的代码)。

import bpy
 
bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.transform.rotate(value=0.785398, axis=(0, 0, 1))
bpy.ops.object.mode_set(mode='OBJECT')
Obj = bpy.context.active_object
mod = Obj.modifiers.new("Bevel", 'BEVEL')
mod.segments = 3
bpy.ops.object.shade_smooth()
mod1 = Obj.modifiers.new("Array", 'ARRAY')
mod1.count = 10
mod2 = Obj.modifiers.new("Array", 'ARRAY')
mod2.relative_offset_displace[0] = 0.05
mod2.relative_offset_displace[1] = 0.5
mod2.relative_offset_displace[2] = 0.9
mod2.count = 10

此代码将立方体添加到场景中,将其旋转 45 度,为其添加倒角,并将其与 10×10 的数组相乘,并带有一些偏移。因此,您可以渲染时尚的抽象背景。

在这里插入图片描述

参考链接:
https://b3d.interplanety.org/en/using-microsoft-visual-studio-code-as-external-ide-for-writing-blender-scripts-add-ons/

参考视频:
https://www.bilibili.com/video/av502997714

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值