blender 集成了 python 运行环境, 可以通过编写脚本, 来实现一些小工具, 方便进行一些操作.
本文就来编写一个简单的 blender python 扩展, 能够持续旋转被选中的物体.
使用的 blender 版本: 4.3.0 (测试版)
这里是 穷人小水滴, 专注于 穷人友好型 低成本技术. (本文为 64 号作品. )
相关文章:
《修复 blender 中文输入 BUG (linux/wayland/GNOME/ibus)》
《(科幻) 人形物体的 3D 建模》
参考资料:
https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html
https://docs.blender.org/api/current/bpy.types.Operator.html#modal-operator
https://docs.blender.org/api/current/bpy.types.WindowManager.html
1 安装扩展及效果演示
1.1 python 源代码
1.2 安装扩展
1.3 操作及效果
2 扩展的 python 代码解释
3 总结与展望
首先, 将下列代码保存为 test_a.py 文件:
文件名任意, 此处只是举栗.
(1) 打开 blender, 点击菜单 编辑 (Edit) -> 选项 (Preferences):
(2) 点击左侧 扩展 (Add-ons) -> 右侧 从本地安装 (Install from Disk):
(3) 选择之前保存的 test_a.py 文件:
(4) 然后就会安装好扩展:
如果在终端运行 blender, 还会在终端看到输出:
(1) 选中要操作的物体:
(2) 按 F3 键打开搜索框:
(3) 点击执行命令:
完结撒花 ~
对了, 别忘了按 Esc 键停止操作.
本文的主要目的是介绍 blender python 扩展如何编写, 上面实现的具体功能不是重点.
定义扩展的名称, 需要的最低 blender 版本号等, 方便 blender 识别.
定义一个操作 (类), 继承 bpy.types.Operator. 此处定义类的唯一 ID, 显示标签名称等.
操作可以分为一次性操作 (很快结束), 和持续操作 (持续一段时间). modal 是用于持续操作的.在这里处理回调事件, 对于定时器事件, 计算并修改物体的旋转角度.
这个函数在执行这个操作时, 会调用. 在这里创建一个定时器, 并持续运行.
最后是初始化注册代码, 注册之后就可以在 blender 里使用了.
代码很简单吧, 喵 ?
本文编写了一个简单的 blender python 扩展, 实现了持续旋转物体的功能.
blender python 扩展的编写简单方便, 可以用于制作小工具, 提高效率.也能用于结合别的软件系统, 总之, 发挥和想像的空间很大 !
本文使用 CC-BY-SA 4.0 许可发布.
本文使用 Bilibili-Markdown 工具进行格式化排版:https://www.bilibili.com/read/cv18986956/
艺苗翻译组 2024-02-19
仿真资料吧 2023-05-08