登陆注册
71628900000021

第21章 意犹未尽 Blender

上次示例使用了 Blender28 作为示范,那么作为使用 Python 语言时,到底是如何学会面向对象编程的呢?有的人问了我这个问题,那么这个过程是分为三步:

1.流程化编程,也就是把代码都写在一个模块里,按照从上到下,从左到右的一种程序阅读顺序来写作。

2.函数式编程,也就是开始使用函数来对代码进行重组,这是编程思维成长中的第二个阶段。

3.面向对象编程,或叫做结构化编程,也就是编程思维的终极阶段。

总体来说,这3个阶段既具有独立学习性,也具有相互合作性。不能用统一思想来看待这三个阶段,因为是灵活的,不是死板的。

那么用下列一段代码示例来体会一下成长三阶段:

#!/usr/bin/env python

“““书写Blender插件的工作流

1.写一个模块作为开始。

2.继续开发该模块。

3.把模块转换成一个插件。

“““

import bpy

from bpy import context

###流程介绍

##获得当前场景

#scene = context.scene

##获得3D光标的位置

#cursor = scene.cursor.location

##如果场景中有一个物体的话,获得当前选中的那个物体

#obj = context.active_object

##建立一个物体副本

#obj_new = obj.copy()

##新复制的物体要加入到场景中的收集对象里中

#scene.collection.objects.link(obj_new)

##然后才能摆放物体

#obj_new.location = cursor

##函数式编程

#接下来我们要用迭代来建立一组对象

#使用选中的物体和光标完成建立一串物体

def onebyone(total=10):

“““默认建立10个串联起来的物体组“““

scene = context.scene

cursor = scene.cursor.location

obj = context.active_object

for i in range(total):

obj_new = obj.copy()

scene.collection.objects.link(obj_new)

#把物体放在光标和选中的物体之间

#依据就是可迭代变量 i

#那么如果你的物体与光标重叠时就无法看到串联效果

#所以要让光标与物体存在一段距离

factor = i / total

obj_new.location =(obj.location * factor)+(cursor *(1.0 - factor))

##接下来我们会制作成 Blender28 的一个插件

bl_info ={

“name“:“Cursor Array“,

“blender“:(2,80,0),

“category“:“Object“,

}

class ObjectCursorArray(bpy.types.Operator):

“““物体光标阵列“““

bl_idname =“object.cursor_array“

bl_label =“One by One“

bl_options ={'REGISTER','UNDO'}

def __init__(self):

self.total = 10

def execute(self, context):

scene = context.scene

cursor = scene.cursor.location

obj = context.active_object

for i in range(self.total):

obj_new = obj.copy()

scene.collection.objects.link(obj_new)

factor = i / self.total

obj_new.location =(obj.location * factor)+(cursor *(1.0 - factor))

return {'FINISHED'}

def register():

bpy.utils.register_class(ObjectCursorArray)

def unregister():

bpy.utils.unregister_class(ObjectCursorArray)

if __name__==“__main__“:

register()

同类推荐
  • 快穿:征服情敌才是王道

    快穿:征服情敌才是王道

    【全文免费】【有生之年系列】那边的女配不要跑,那边的女主不要走!我很友好的!初次见面,观你们骨骼清奇,颜值满分,不如坐下来一块聊聊人生吧。给我三分钟一本正经胡说八道的机会,还你一个强势有力的基友团怎样?男配男主:QAQ女人好可怕,不按言情套路走。女配女主:我感受到了不用围绕男人转的快乐。牧亚摊手表示,情敌?不存在的!我们都是好朋友,女人何苦为难女人,天涯又何处无芳草~任由系统摆布,虐渣虐女主已经是过去式,反抗才是真理!毕竟大家好,才是真的好。
  • 快穿女配之大佬总在暗恋我

    快穿女配之大佬总在暗恋我

    作为复活她的代价,洛云裳被一个白团子坑去了三千小世界做任务。好吧。可是……怎么就莫名其妙被人,哦不,被主神缠上了?装傻皇子:是你先招惹我的,想离开?做梦!清冷校草:洛云裳,你今天要是敢跟我提分手,我就弄四你!教主大人:小丫头,救命之恩,自当以身相许呀,难道不对么?薄情太傅:裳裳,你说过不管我做错了什么,你永远都不会丢下我的啊……脑补影帝:鸯鸯,你不乖哦,怎么能和你姐姐换回来,偷偷跑了呢?清心寡欲的(假)圣僧:小鲤,你将我拉入这万丈红尘,又想全身而退?想得倒挺美。……洛云裳:“……”敲,她不是来谈恋爱的好嘛!!!(1v1男主为同一人)
  • 我给大佬们当靠山

    我给大佬们当靠山

    【快穿甜宠1v1】【女主强强强,男主美美美】末日,病弱残疾少年身无异能寸步难行,丧尸王南妩:“乖,没有丧尸敢咬你。” 古代,清俊隐忍暗卫被当作药费抵给她,小医仙南妩:“听话,以后我罩着你。”“你谁啊?”“我是他靠山。”“不……”少年从阴影处走出来,眼底深处是刻入骨髓的执念与爱:“你是我的命。”
  • 快穿宿主有点甜

    快穿宿主有点甜

    「1v1,甜系宠文,位面。」原本灰暗的反派大人都被阡秋甜化了,那就一直甜下去吧!“阡秋,好好当你的豪门太太。”“阡秋,我...我喜欢你。”“阡秋,未来只你一人。”“阡秋,你是我的。”「俺是一个新手,不喜欢别喷我谢谢你们!」
  • 快穿女神帅炸天

    快穿女神帅炸天

    在总裁文里,女配要和女主抢男人,在女强文里,女配要和女主抢男人,在修仙文里,女配还是要和女主抢男人。女配纯情也好,美艳也好,温婉也好,但内里都是个妖艳贱货,而白酒总是会成为这个“妖艳贱货”。白酒穿进去后,世界的画风是这样的……女一号:“小姐姐,求抱大腿!” 女二号:“小姐姐,求抱大腿!” …… 女N号:“小姐姐,求抱大腿!”男主抓狂,“说好的女主和女配要为我疯,为我狂呢!?”呵呵。白酒给了男主一个王之蔑视,转眼就被一双如野兽性危险的视线给盯住了。男(已崩坏)配:“你是爱我,还是他们?”白酒看了眼他手里拿着的锁链,微笑:“亲爱的,当然是爱你。”(女主苏苏苏!)
热门推荐
  • 新属性时代

    新属性时代

    宇宙一次次进化,不断发展,诞生了一个新属性与一个系统。在某星球上的“难产”少年竟“创造”新物种,而新属性的诞生又将会让宇宙有何变化呢。
  • 学生语言文字写作学习手册—教你学作文描写(上)

    学生语言文字写作学习手册—教你学作文描写(上)

    语言文字的简称就是语文。语文是人文社会科学的一门重要学科,是人们相互交流思想的工具。它既是语言文字规范的实用工具,又是文化艺术,同时也是用来积累和开拓精神财富的一门学问。
  • 我或将成就不朽

    我或将成就不朽

    我是一名普通的快递员,直到我死之前一直都是。……我现在的脑子有些乱,等我先把这条断掉的手臂接回去再和你们说。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 群雄并起之塔罗牌

    群雄并起之塔罗牌

    一群特种兵穿越到了圣龙大陆,但他们不是主角。主角是他们的后人,而圣龙大陆也迎来了天才最多的时代。作者励志做一个反套路流(群雄并起,诸邪退散。)的作品欢迎各位读者老爷来捧场
  • 听话的系统

    听话的系统

    有听话的系统可以做什么,为所欲为吗?那是当然不可能的了,这个系统只是茄可以让我当个悠闲的点钱的人。
  • 玄武穹苍

    玄武穹苍

    地球的普通大学生萧云因一场意外穿越到玄武大陆,阴差阳错转世到古风镇萧家的废材少主身上。加上偶得上古玉佩,得玉佩之灵的指导,再加上自己在地球上的知识开始了一场与众不同的修炼之旅。看曾经的废物如何成为耀眼的天才。
  • 玛法烹饪记

    玛法烹饪记

    在黑暗即将笼罩玛法大陆时,一个只是想安逸的做厨师的人,却无奈卷入各种事件当中。“打打杀杀的,太血腥了。不过若是有什么食材,记得帮我留着。”靠着各种“裙带关系”,收集珍惜食材,烹饪珍馐美味,他离人生目标又近了一步。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!