在Blender中使用python脚本

news2024/11/28 17:53:17

目录

使用:

快速创建10个圆球:

python代码:

形态键快速创建和重命名:

可能存在的问题

python代码:


 Blender 强大的特点是其对 Python 脚本的完美支持。

这意味着可以编写 Python 脚本来自动化各种任务和操作,从而节省时间和减少重复性工作:

使用:

如何使用blender的脚本功能:

第一步,我们打开blender,然后打开脚本:

打开脚本后,在脚本区域,也就是右侧点击一下新建:

在这里,我们就可以写python代码,来进行运行了,在写代码之前记得写上import bpy。 

快速创建10个圆球:

如图所示,我们在场景中创建了一个球,在左下角会出现一行代码,这个代码就是球的创建代码。

我们只需要将其复制粘贴即可。

然后这里笔者做一个循环:

可以看到代码里面有创建球的位置和大小标量,这里我们只需要将i进行设置一下即可:

运行的位置就在新建右侧的三角形

这里笔者将i*20在z轴,可以看到每一个球都是在i*20的位置生成。

python代码:

import bpy

for i in range(1,10):
    bpy.ops.mesh.primitive_uv_sphere_add(enter_editmode=False, align='WORLD', location=(0, 0, i*20), scale=(1, 1, 1))

形态键快速创建和重命名:

在使用了以上功能后,我们可以发现,很多事情都已经开始简单起来了。

比如我们创建形态键后,还需要一个个进行改名,使用这种方法,就可以直接创建一大堆:

一样的流程【如果有需要,甚至可以在创建更改名字后进入编辑模式再返回物品模式】:

可能存在的问题

在这里可能会出现一个问题,在重命名的时候:

错误代码是:

key_name="Key"+str(i) #这里是为了将名字转为字符串

bpy.data.shape_keys["Key"].key_blocks[key_name].name = key_name 

这样之所以是错误的是因为我们在重命名之后可以看见:

【】内的字符串是999,赋值的也是字符串999,所以一般会下意识的写上去。

但实际上这里需要的是一个引用:

所以这里改为:

bpy.data.shape_keys["Key"].key_blocks[i].name = key_name

python代码:

import bpy

for i in range(0,10):
        bpy.ops.object.shape_key_add(from_mix=False)
        if i ==0:
            bpy.data.shape_keys["Key"].key_blocks[i].name = "base"
        else:
            key_name = "Key" + str(i)
            bpy.context.object.active_shape_key_index = i
            # bpy.data.shape_keys["Key"].key_blocks[key_name].name = key_name
            bpy.data.shape_keys["Key"].key_blocks[i].name = key_name

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

密码学 - SHA-2

实验八 SHA-2 1.实验目的 熟悉SHA – 2算法的运行过程,能够使用C语言编写实现SHA-2算法程序,增加对摘要函数的理解。 2、实验任务 (1)理解SHA-2轮函数的定义和常量的定义。 (2)利用VC语言实现SHA-2算…

[ACTF2023]复现

MDH 源题: from hashlib import sha256 from secret import flagr 128 c 96 p 308955606868885551120230861462612873078105583047156930179459717798715109629 Fp GF(p)def gen():a1 random_matrix(Fp, r, c)a2 random_matrix(Fp, r, c)A a1 * a2.Treturn…

【湘粤鄂车牌】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

虹科示波器 | 汽车免拆检修 | 2013款大众途观车发动机加速无力

一、故障现象 一辆2013款大众途观车,搭载CGM发动机,累计行驶里程约为12.6万km。车主进厂反映,发动机加速无力。 二、故障诊断 接车后试车,发动机怠速运转正常;原地将加速踏板踩到底,发动机转速最高只能达到…

做Web自动化前,你必须掌握的几个技能!

学习web自动化的前提条件:手工测试(了解各种测试的知识)、学习编程语言、学习Web基础、学习自动化测试工具 、学习自动化测试框架 、需要掌握前端的一些知识,无论学习语言还是前端知识,都是为了接下来的脚本和框架做铺…

antd5上传图片显示405解决

antd5上传图片,默认使用上传方式会调用本地的接口。 405 Method Not Allowed 状态码 405 Method Not Allowed 表明服务器禁止了使用当前 HTTP 方法的请求。 Upload {...props}beforeUpload{(file) > {//自定义上传图片的逻辑//最后返回falsereturn false }} &…

Python JSON 使用指南:解析和转换数据

JSON 是一种用于存储和交换数据的语法。JSON 是文本,使用 JavaScript 对象表示法编写。 Python 中的 JSON Python 有一个内置的 json 包,可用于处理 JSON 数据。 示例:导入 json 模块: import json解析 JSON - 从 JSON 转换为…

【UE】从UI中拖拽生成物体

目录 效果 步骤 一、准备工作 二、创建UI 三、创建Actor 四、拖拽生成Actor的逻辑 效果 步骤 一、准备工作 1. 首先新建一个第三人称模板工程 2. 新建一个游戏模式基础,这里命名为“BP_UIGameMode” 在世界场景设置中设置游戏模式覆盖为“BP_UIGameMode”…

代码随想录算法训练营第6天|242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

JAVA代码编写 242. 有效的字母异位词 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意:**若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s "a…

pytorch复现4_Resnet

ResNet在《Deep Residual Learning for Image Recognition》论文中提出,是在CVPR 2016发表的一种影响深远的网络模型,由何凯明大神团队提出来,在ImageNet的分类比赛上将网络深度直接提高到了152层,前一年夺冠的VGG只有19层。Image…

为什么需要企业云性能监控?

云计算已经成为企业信息技术的核心组成部分,提供了灵活性、可扩展性和成本效益。然而,随着企业的应用程序和数据迁移到云中,监控和管理云性能变得至关重要。在这篇文章中,我们将探讨企业云性能监控的重要性是什么! 为什么需要企业…

瞄准一款好用到爆的在线数据库设计工具Itbuilder,被惊艳了!

在线数据库设计工具都不陌生,这与日常开发工作息息相关,每天都会用到。一款好用的在线数据库设计工具可以帮我们省去很多事情,Itbuilder在线数据库设计工具简单工作台,有利于新手操作,丰富的功能,可以满足开…

RHCSA -- VMware虚拟机配置及破解密码

一、配置虚拟机 1、开启VMware(自定义) 2、设置虚拟机硬件兼容性(默认) 3、稍后安装虚拟机操作系统 4、选择为Linux的虚拟机 5、虚拟机机名 6、设置虚拟机处理器 7、设置虚拟机所连接的网络类型 8、选择磁盘类型 9、设置所选磁…

【Liunx应用市场】yum

【Liunx应用市场】yum 1. Linux 软件包管理器 yum2. yum源3. yum的使用3.1 yum查找3.2 yum安装3.3 yum删除 所属专栏:Linux学习❤️ 🚀 >博主首页:初阳785❤️ 🚀 >代码托管:chuyang785❤️ 🚀 >感…

【Qt控件之QInputDialog】详解

Qt控件之QInputDialog 概述常用函数枚举成员方法信号 示例使用场景问题:使用QInputDialog是否可以使用正则表达式验证示例 概述 QInputDialog类提供了一个简单方便的对话框,用于从用户获取单个值。 输入值可以是字符串、数字或列表中的项。必须设置一个…

X64指令基本格式

X64指令基本格式 1 REX Prefix结构2 REX prefix扩展位2.1 第一种,无SIB字节的内存寻址(mod !11 )2.2 第二种,寄存器到寄存器的寻址(无内存操作数,mod11)2.3 第三种,带SIB字节的内存寻…

JVM虚拟机:JVM的垃圾回收清除算法(GC)有哪些

垃圾回收清除算法 引用计数法 标记清除 拷贝算法 标记压缩 引用计数法 有一个引用指向对象,那么引用计数就加1,少一个引用指向,那么引用计数就减1,这种方法了解一下就好,JVM机会不会使用这种方法,因为它在每次对象赋值的时候都要维护引用计数器,且计数器本身也有一定的…

智能座舱中的人工智能数据

智能汽车——推动变革与盈利的利刃 对于汽车公司而言,投资于人工智能解决方案从未显得如此关键。据 Tractica 预测,到 2025 年,汽车 AI 硬件、软件和服务的市场规模将从 2017 年的 12 亿美元上升至 265 亿美元。该行业具有巨大的变革潜力&am…

高等数学啃书汇总重难点(十一)曲线积分与曲面积分

依旧是公式极其复杂恶心的一章,建议是:掌握两种线面积分的计算套路即可,和第8章一样属于同济版教材中最不重要的章节,不会对底层理解做过多考察~ 1.弧长曲线积分的几何意义 2.弧长曲线积分的定义和性质 3.弧长曲线积分的计算方式 …

GitHub项目监控

目录 github开放平台接口限流 监控某个仓库的更新状态 对于常用Github的用户来说,经常有一些自动化的需求。比如监控某些项目的更新情况并实时拉取,比如监控github全网上传的代码是否携带了公司的APIKEY,SECRETKEY等… github开放平台 gith…