这篇文章给大家分享的是有关中Blender的Python中基本API有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在blender的Python Console
窗口刚启动时,会提示python脚本使用相关的module,在下面的界面中也可以看出来,这些module都是使用python脚本操作blender比较常用的。
从中可以看出最基本的是blender内嵌的一些modules包括bpy
(以及下属的一些功能包)、bgl
和blf
以及mathutils
数学工具库。
在下面,只是对这些module进行一些简单的介绍,会在以后的使用过程中慢慢解释具体怎么使用。
api地址:http://www.blender.org/api/
在这里提供了各个版本的api访问入口,可以进入在线的api页面,进行搜索查看,当然可以把api文档下载下来离线查阅。
推荐大家有能力的话还是尽量看这个英文原版的文档,解释的还是比较详细准确的。
mathutils这个module是blender特有的一个module,官方介绍是“This module provides access to the math classes: Color, Euler, Matrix, Quaternion, Vector.”
mathutils提供了进行数学计算相关的5个类,在blender中数据结构一般都是以这五中类型存储的(例如所有物体的location
都是以Vector((0.0,0.2,0.3))
的形式存储的),每类都有其自己的属性和方法,使用也很简单,在官网的api提供对其提供了相当详细的解释以及examples。同时还提供了像geometry
、interpolate
、kdtree
和noise
工具模块。在console输入mathutils.
自动补全可以看到所有可以使用的子模块,如下图:
在使用时对class需要新建一个实例来使用,对工具方法直接传入参数调用即可。下面给出了使用的简单的例子,具体使用请查阅blender python的api(官方给了很详细的示例,这里就不讲了)。
import mathutils blue_color = mathutils.Color((0.0, 0.0, 1.0)) #新建一个颜色实例(蓝色)mathutils.geometry.box_fit_2d(points) #工具方法直接调用,求多个点的边界矩形框
blf官方介绍是“This module provides access to blenders text drawing functions.”。也就是blf这么module提供了在blender文本绘制的功能,这个可能有点抽象,具体主要是为模型或者动画添加文字,加载更换不同自动,文字位置角度设置,已经一些文字的动画等等。使用前也要import
,这里不做具体介绍了,后面我们会讲到怎么使用。
bgl官方介绍是“This module wraps OpenGL constants and functions, making them available from within Blender Python.”也就是bgl这个module提供了一个封装的接口,让blender python脚本可以使用opengl的常量和函数,这对熟悉opengl的小伙伴是个福音了,而且常量和函数名和opengl的都是一样的,所以可以像opengl一样使用(官网api中每个方法也都链接到opengl的docs上了)。
import之后就可以直接使用了,所有可以使用的常量和函数可以直接通过bgl.***
直接调用(在console输入bgl.
自动补全也会有提示)。下面给了两个调用常量和函数的例子,具体使用请查阅blender python的api文档或者opengl的文档(https://www.opengl.org/sdk/docs/)。
import bgl #需要手动importdir(bgl) #列出可以使用的常量(GL_开头)和函数(gl开头)bgl.GL_POINTS #bgl.constant_name 调用常量,GL_POINTS就是调用的常量名,其他常量一样bgl.glVertex2d(1,1) #bgl.function_name 调用函数,glVertex2d就是调用的函数名,其他函数一样
bpy应该是里面最重要的一个模块了,对blender的所以的界面操作都可以映射到bpy模块中的某个相关的函数来实现。包含了实现各个功能的子模块,数据模块、操作模块、内容模块、类型模块、场景模块等等,这些模块为实现blender python脚本强大的功能提供了遍历,在console下输入bpy.
自动补全可以查看所有的子模块,如下图。在下面一个模块,会详细讲述每个子模块的具体的功能以及相应的使用方法。
感谢各位的阅读!关于“中Blender的Python中基本API有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。