blender serpens3 个人总结

前言

比较适合快速了解入门blender插件开发,但插件具有很多局限性,以及开发环境不稳定,一个回撤,直接闪退。
用于入门,实际项目,建议原生python开发,遇到原生卡壳的,可以试试serpens能不能实现,然后导出插件看看代码咋写的,当然,最直接的就是上 Chat GPT ,不过很多冷门的操作也问不出来,有时候都不知道该怎么问,还是得各种方式尝试

Serpens 快捷键

快捷键 :shift + v:
切断:ctrl +右键
快速移除节点: alt+左键移动
从复制版 添加执行操作(blender任何执行动作按钮,右键可以获取操作命令)

Serpens 节点输出输入

节点颜色:
蓝色 string
紫色 vector
浅粉色 boolen
黄色 color
深绿色 int
灰色 float
绿蓝色 object
橙色 image
粉紫色 list

圆圈:单个 , 方块:数组 , 棱形:执行

基础概念(个人理解)

属性(Properties):用于定义持久性数据,可在用户界面中显示和修改,具有明确的数据类型和约束条件。
变量(Variables):用于存储和传递临时数据,生命周期仅在节点执行过程中,不会被保存到文件中。

集合(Collection): 用于管理一组对象或数据,集合节点允许你批量处理多个数据项,通常用于需要对一组数据进行迭代操作的场景。
数据(Data):用于访问和操作 Blender 数据库中的数据。它可以用于获取和修改场景中的各种数据,如对象、网格、材质等。

Serpens 节点(右键添加 或 F3搜索)

Debug 测试

Print 打印数据,可以在这个节点直接看到打印数据的结果
Sleep 延迟执行
Trigger 触发器,就是点一下,可以在可视化面板里”执行“,方便测试

Event 事件

On Blender Close 当关闭时
On Depsgraph Update 图表更像时特别是涉及到实时更新或动画计算时非常有用。
On Frame Change 当帧变化时
On KeyPress 当按键按下,可自定义设置按键
On Load 当加载时
On Redo 当执行重做时
On Render Finish 当渲染结束时
On Render Start 当渲染开始时
On Save 当保存时
On Undo 当回撤时

Input 输入

手动修改 或 添加blender已存在的数据

Ares 显示区域 类似ViewPort
BlendData blender数据类型 比如动画,模型,材质,灯光,笔刷,贴图,场景等…
BlendData/Objects 可获得当前选择&激活的对象
Data 手动添加输入数据类型 int string foat color vector list…
AddonInfo serpens属性,插件数据
Asset serpens属性,资产数据
GetEditSelect 当前编辑模式选择物体的状态 返回boolen
icon 获得图标
InMode 编辑状态的boolen
IsObjectType 判断物体类型
NameIcon 获得icon的路径
Node Idname 节点id
Node is idname 判断对象是否为某个节点类型
RandomColor 随机颜色
RandomNumber 随机小数
SceneContext 当前场景数据:例如激活的区域,场景大小,渲染模式,激活的 相机等
Time and Date 获得当前时间

Interface 界面

Layouts/Add To Meau 布局/添加按钮,比如在工具栏/顶栏 插入一个按钮 (Prepend /Append 前面/后面添加)
Layouts/Add To Panel 添加到面板上(属性面板上)
Layouts/Function & Function Run 界面函数,可将界面合并到一个函数里,并传递参数
Layouts/Menu 按钮,结合open menu ,可以实现,点击按钮后,再弹出浮动窗口二级页面
Layouts/Panel 面板,默认再3DView 的右侧栏目,也是插件用的最多的位置
Layouts/PieMenu 环形面板,和Menu差不多,也要配合 Open PieMenu 节点,再加个按键输入就形成闭环了
Layouts/Preferences 可在Serpens的插件管理页,添加按钮,可为该插件扩展一些快捷按钮

Sublayouts/Box 矩形,类似div
Sublayous/Columm 竖向布局
Sublayous/Copy Menu 可引用已存在的blender Menu
Sublayous/Copy Panel 可引用已存在的面板
Sublayous/Grid 网格布局,适合大多数 内容资产浏览的布局方式
Sublayous/If/Else(Interface) 与或非
Sublayous/LoopFor(Interface) 可根据输入数据,进行For循环
Sublayous/LoopRepear(Interface) 简单重复,可Number调整,主要用于测试
Sublayous/Popover 鼠标移动后,弹出面板,比如联机选择器 一级二级三级目录选择,选择树等
Sublayous/Row 横向布局
Sublayous/Split 分割,默认左右50%分割
Sublayous/Submenu 下拉按钮

Button 按钮,一般配合 operation 操作
DisplayCollectionList [待理解] 应该是用于集合数据切换显示UI的,并且多了一个过滤功能
DisplayEnumItem [待理解] 好像只是展示属性名
DisplayIcon 图标
DisplayPreview 展示材质,贴图,灯光,世界环境 ,【未解决如何主动去刷新】
DisplayProerty 属性展示,可用于制作文字/数字等输入框
DisplaySearch 可对Colletion集合数据进行搜索
DisplaySerpensShotcut [待理解]
EnumMap(Interface) 逻辑节点,就是根据string的switch
Icon Gallery [待理解]
Label 横栏标题
Separator 分离填充,相当于padding

Program 程序

Drawing [待理解]绘制图形
Files 文件相关的处理节点,获取目录文件,获取绝对路径等
Modal 模态操作是一种扩展的操作模式。在模态操作期间,脚本可以保持对用户输入的响应,并根据输入实时更新 Blender 的状态。这种操作方式特别适合需要持续用户交互的功能,如拖动、绘制、调整参数等。
Operations 操作 ,断开,循环,Switch,Find等
Operations/EnuMap 相当于Swtich
Timer 时序器相关的共功能,例如每隔一秒执行一个事件
Function 三个节点构成,函数输入,函数输出,函数调用
Operator 操作调用,操作执行,往往和button配合

Properties 属性

Collections 用于管理一组对象或数据。集合节点允许你批量处理多个数据项,通常用于需要对一组数据进行迭代操作的场景
CustomProperties 给Object添加自定义属性,类似于Tag功能
Enum 枚举,可给动态Enum添加item
BlenderProperty Blender自身的属性,也是右键去blender面板中获取
OnPropertyUpdate 当属性更新时的事件,监听类型
PropertyExists 属性是否存在
RunPropertyFunction 运行属性函数,一般是右键特定属性获取,然后黏贴进去
SerpensProerty Serpens插件的属性
SetProperty 设置属性

Python 用于执行python或者用py语句代替节点获取属性或Data等
Variables 用于执行时的临时变量 ,若需要储存于blend应该用Property属性
Layout 用于插件的节点布局
Presets 预设
Snippet 不知道干吗用的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值