blender是一个轻量级的三维建模软件,可以通过steam下载。随着Blender官方的不断更新,其功能不断完善,blender已经受到越来越多人欢迎。
Blender图形化操作
Python基础语法
本教程需要你掌握了Blender的大致操作和python的基础语法。然后看了这个教程能够大概将两项结合在一起。
Blender作为一款三维建模软件,所使用的人大多数是学艺术的,但像我这种程序员,使用软件的第一想法就是是否能编程。Blender非常人性化的支持python编程功能,并且很多Blender第三方插件也是基于Blender编程模块所开发的。
所谓Blender的编程,事实上就是编写一个自动化脚本,来将我们几乎所有能够图形化的操作变成编程语言。这虽然听起来会很麻烦,但对于一些重复性的工作比如随机生成楼房草地等非常有帮助。
Blender的编程模块就内嵌在软件当中,当然你也可以使用Vscode进行编程。不过这里使用Blender内置的文本编辑器。在编程开始之前,首先要确保开启Python工具提示。
开启后,当你吧鼠标悬停到任意一个按钮上时,就会出现相应的变量。
首先在上面窗口栏的最右边你能够找到Scripting脚本窗口,点击进入脚本编写界面.
除了你平时见到的窗口,还额外多出三个窗口分别是:
TAB
键自动补全的功能。假设你会使用Blender和Python,你想要知道的就是Blender中的每一种操作在blender中是如何对应的,你有3种方法:
1.首先图形化界面做一步,然后在信息里查看调用了哪个函数。但这样做的坏处就是很多时候我们写脚本的内容和信息里所查看到的习惯是不一样。以下面创建一个立方体并旋转x轴旋转30度为例。
这是是以脚本的样子写出来。
import bpy #导入blender的必备库 bpy.ops.mesh.primitive_cube_add() #创建立方体 so = bpy.context.active_object #将立方体对象赋予so so.rotation_euler[0] += 30 * 3.1415 / 180 #欧拉角旋转30度
但是在图形化界面中里面,旋转一个立方体有两种方法:
直接更改其旋转角度
按r
手动拖动旋转
以下为图形化操作在信息界面显示
#创建立方体 bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), rotation=(0, 0, 0), scale=(1, 1, 1)) #直接更改其旋转角度 bpy.context.object.rotation_euler[0] = 0.523599 #按`r`手动拖动旋转 bpy.ops.transform.rotate(value=-0.523838, orient_axis='Z', orient_type='VIEW', orient_matrix=((4.93038e-32, 1, 2.22045e-16), (2.22045e-16, 4.93038e-32, 1), (1, 2.22045e-16, 4.93038e-32)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
从这里我们可以看出,同一个步骤有很多不同的方法,在编写脚本时我们尽量少用ops中的函数,推荐直接更改其属性。同时信息界面所得每个函数都包含很多默认的形参,在脚本编写时可以暂时不需要。
2.在控制台终端不断自动补全进行尝试。这也是一种较为有效的方法。鉴于编辑器没有自动补全功能。在控制台不断的自动补全并交互式的实验是非常有效。
3.之前说的python工具提示已经显示除了每个变量的名称,你可以以此作为对照修改值。
平时python用的大多数语法都是能用的,这就是一个加了个第三方库的python,正常使用就好。
你已经学会了1+1=2了,现在是时候开始解微积分了。
了解怎么将图形化界面对应到python,接下来就是发挥你的智慧,大胆的进行尝试了。只要你足够了解python和blender,这些都不是难事。如果你是一个纯艺术生,建议不一定需要学习写脚本,或者就先学一下python吧。