level 7
caonan2000bd
楼主
发现Maya的MEL非常方便,每个步骤都有对应的MEL语言代码展示, 甚至可生成MEL语言型文件,非常有利于回溯修改程序开发方式, 而且代码还很简洁,这个可能是Maya通用性好的一个原因. 而Blender虽然有bpy, 在Script模式下,也是有展示代码步骤, 也可以有功能钮bpy代码提示, 但它展示的代码太乱太复杂, 很多是不能直接使用的, 需要根据线索研究找到其他相关代码才能使用,(不过也是很方便了), 但觉得还是不够方便的. 所以, 本人决心基于bpy与吧里的高手(当然还有任何感兴趣用bpy代码创作的任何小白), 一起创建属于咱们自己方便定义的Blender二次开发语言mybpy. 还请大家多多参与. (到时欢迎展示自己的mybpy及基于自己的mybpy 创作的作品)
mybpy开发的宗旨和思路 (请参与者尽可能遵循此宗旨和思路)
(1) 文件要尽可能简洁, 能一个py文件就一个py文件, 可以方便放在任何的地方(比如默认是D盘根目录) ,引用时用sys.path.append命令加载
(2) 不写成class格式, 要方便大家(特别是程序小白)自定义
(3) 方便一个命令多重的自定义, 尽量有与快捷键一致的自定义,非常非常简洁的自定义, 甚至可以自己定义中文命令
(4) 可支持创作时,单行写多个代码(用分号分割即可), 这样创作的代码作品可以简洁清晰.( 特别是If 语句可支持一行写, 支持exec()写一行文本多代码方式.
(5) 支持Blender多版本, 基础的命令要从2.79版支持到 3.0 (以及以后任何版本) ,Blender特殊版本新加命令,要在代码里有提示支持多少之后的Blender版本
(6) 发现Blender 线 和 面 的 Index编号有不稳定性 (就是每次运行时Index不同), 尽量做代码处理(比如重新按位置Index等), 使Index保持稳定(不仅是一个版本内的稳定, 尽可能是跨版本的稳定). 也就是代码尽可能可在多版本运行出一样的效果.
(7) 可随时自己方便定义和修改mybpy.py文件,然后直接生效, 而不需要再重新启动Blender
(8) 可方便从bpy工作台输命令, 提取当前手工编辑作品点线面 index号位置等信息, 方便写在代码里, 供将来用代码还原自己的作品, 并可用调整代码里参数的方法, 修改作品.
(9) 创作时, 在Blender直接调到script 界面 , 文本里先粘上一段前置代码 (此段代码也可以写成一个文本模板文件打开),比如, 一行这样的代码:
sys.path.append('d:\mybpy.py');from mybpy import *;
就完成了mybpy加载, 然后接下来可以写这样的代码:
cube();s(2);gx(1.5);ry(90); # 创一个cube; s命令扩大2倍, gx命令,x方向移动1.5;ry命令延y轴旋转90度.
一行的命令也一起, 用分号分割, 然后在后面注上这个命令是做模型的什么部位之类的. 也就是完全 的将在Blender 的命令自己记录下来, 然后可以方便微调.
如果小白也可以写成中文的, 比如:
方块();缩放(2);移x(1.5);旋y(90);
一起都是可以自己定义. 自己的Script文档,可以当自己创作和学习的记录, 还方便修改参数.
先把这些想法抛出来, 算是抛砖引玉吧, 如果有感兴趣的, 志同道合的, 也欢迎提出你的想法. 我们共同交流和研发.
2021年06月07日 02点06分
1
mybpy开发的宗旨和思路 (请参与者尽可能遵循此宗旨和思路)
(1) 文件要尽可能简洁, 能一个py文件就一个py文件, 可以方便放在任何的地方(比如默认是D盘根目录) ,引用时用sys.path.append命令加载
(2) 不写成class格式, 要方便大家(特别是程序小白)自定义
(3) 方便一个命令多重的自定义, 尽量有与快捷键一致的自定义,非常非常简洁的自定义, 甚至可以自己定义中文命令
(4) 可支持创作时,单行写多个代码(用分号分割即可), 这样创作的代码作品可以简洁清晰.( 特别是If 语句可支持一行写, 支持exec()写一行文本多代码方式.
(5) 支持Blender多版本, 基础的命令要从2.79版支持到 3.0 (以及以后任何版本) ,Blender特殊版本新加命令,要在代码里有提示支持多少之后的Blender版本
(6) 发现Blender 线 和 面 的 Index编号有不稳定性 (就是每次运行时Index不同), 尽量做代码处理(比如重新按位置Index等), 使Index保持稳定(不仅是一个版本内的稳定, 尽可能是跨版本的稳定). 也就是代码尽可能可在多版本运行出一样的效果.
(7) 可随时自己方便定义和修改mybpy.py文件,然后直接生效, 而不需要再重新启动Blender
(8) 可方便从bpy工作台输命令, 提取当前手工编辑作品点线面 index号位置等信息, 方便写在代码里, 供将来用代码还原自己的作品, 并可用调整代码里参数的方法, 修改作品.
(9) 创作时, 在Blender直接调到script 界面 , 文本里先粘上一段前置代码 (此段代码也可以写成一个文本模板文件打开),比如, 一行这样的代码:
sys.path.append('d:\mybpy.py');from mybpy import *;
就完成了mybpy加载, 然后接下来可以写这样的代码:
cube();s(2);gx(1.5);ry(90); # 创一个cube; s命令扩大2倍, gx命令,x方向移动1.5;ry命令延y轴旋转90度.
一行的命令也一起, 用分号分割, 然后在后面注上这个命令是做模型的什么部位之类的. 也就是完全 的将在Blender 的命令自己记录下来, 然后可以方便微调.
如果小白也可以写成中文的, 比如:
方块();缩放(2);移x(1.5);旋y(90);
一起都是可以自己定义. 自己的Script文档,可以当自己创作和学习的记录, 还方便修改参数.
先把这些想法抛出来, 算是抛砖引玉吧, 如果有感兴趣的, 志同道合的, 也欢迎提出你的想法. 我们共同交流和研发.

