Blender3.2使用python脚本命令的三种方式, 以及源码示例

news2024/11/27 20:38:19

本文环境系统OS(Win10)

方式一,在Script(脚本)功能里面的Console(控制台输入python代码)。

如下图:

对应的三句代码是:

print("Hi, blender.")

import bpy

bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0,0, 0), scale=(1, 1, 1))

 按下回车键,代码立刻执行,如果有打印信息则直接显示在这个控制台(Console)中。

方式二,在Script(脚本)功能里面的代码文本写代码,然后执行。

        第一步, 打开代码执行的控制台窗口,方便查看代码执行过程中的输出信息:

         

注意,有时候由于debug或者出错导致脚本代码指定卡主,只需要在这个窗口执行Ctrl + C快捷键就能解决问题,以免整个Blender软件卡死。

 

第二步        

        第三步:

         第四步,写入代码:

对应的代码:

import bpy
import mathutils
# 创建一个cube
bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0,0, 0), scale=(1, 1, 1))
# 获取这个cube
cube = bpy.data.objects["Cube"]
print("a cube: ", cube)
v0 = mathutils.Vector((2.0, 0.0, 0.0))
# 设置这个cube的坐标(X轴坐标为2.0,Y轴和轴为0.0), 移动这个cube
cube.location = v0

        第五步,运行代码:

执行结束,可以看到创建了一个cube,并且移动了。

控制台中,也可以看到输出信息:

可以接着再用下面的这段代码让blender渲染出一张图(关于这个cube的),保存在指定路径下:

import bpy
renderer = bpy.context.scene.render
renderer.image_settings.file_format='JPEG'
renderer.filepath = "D:/dev/blender/renderingImg/cube.jpg"
renderer.resolution_x = 512 #perhaps set resolution in code
renderer.resolution_y = 512
bpy.ops.render.render(write_still=True)

加载一个obj格式的模型:

import bpy
obj_filePath = "D:/dev/blender/modules/box01.obj"
imported_object = bpy.ops.import_scene.obj(filepath=obj_filePath)
obj_object = bpy.context.selected_objects[0]
print('Imported obj name: ', obj_object.name)

开启Scripting脚本的即时运行(编辑后立刻自动运行)

方式三,直接在CMD或者其他程序中调用blender.exe,并将python脚本文件当做参数传入。

        1. 将上述python代码写到一个.py类型的文本文件里面,这里明明为createCube.py

        2. 打开 window cmd命令行控制台窗口

         3. 然后再window cmd命令行控制台窗口里面执行,如下图:

注意blender.exe的路径和createCube.py的路径要写成自己的。 

blender通过的python script示例源码:your path \blender\3.2\scripts\templates_py

Blender 执行程序的命令行参数:

        1. 可以通过 blender.exe -h获得详细信息

        2. 命令行参数文档: 命令行参数 — Blender Manual

关于blender的API:

        1. Quickstart — Blender Python API

        2. Blender 3.5 Python API Documentation — Blender Python API

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

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

相关文章

ModBus通信详解

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的…

python通过远程连接mysql数据库进行操作

文章目录 前言一、开启远程访问权限1、开启远程访问端口2、命令行登录mysql 二、Navicat 建库1、新建连接2、建库建表 三、python对数据库进行远程操作三、总结四、参考资料 前言 环境: 1、mysql 5.7 2、pycharm 22.3.1 Professional 3、navicat 一、开启远程访问权…

数字孪生与物流园区:优化布局规划的关键

随着全球贸易的增长和物流行业的发展,物流园区作为重要的物流枢纽和供应链管理中心,扮演着至关重要的角色。而数字孪生技术的出现为物流园区的运营和管理带来了革命性的变化。数字孪生技术是一种将实体物体与其数字化模型相结合的创新技术,通…

微信小程序| 基于ChatGPT+明基屏幕挂灯实现超智能家居物联网小程序

一、需求背景 在尝试了这么多次的ChatGPT在纯软方向的应用开发后,深感LLM(大语言模型)的能力之强大。俗话说得好:心有多大舞台就有多大!基于AI大模型,可以尝试的方面实在是数不胜数!轻轻松松就可以突破在移动互联网时…

1. Qt小游戏 --- 推箱子

1. 说明 这个小游戏主要使用Qt中的绘制事件函数**paintEvent()**在画布上面不停的绘制图形,并使用定时器做时间上的触发处理,这个小游戏只是做了简单的逻辑处理,具体复杂的功能读者可自行发挥,效果展示如下: Qt制作推箱子小游戏 2. 相关代码 《推箱子》小游戏项目文件中…

最新(photoshop AI)photoshop beta 安装成功过程

目录 安装过程说明如图 效果如图 第一步:手机浏览器 创建 微软邮箱 打开浏览器 注册时候,选择 MG,其他正常填写即可。 第二步:打开 官网,(创建账号)或者直接输入注册的账号直接登录 第三…

ArgoCD(四)--Application管理

1.3 Application管理 先导入一个测试的repo在本地gitlab(gitlab.icloud2native.com),方便测试。 1.3.1 创建application 通过argocd cli创建application 通过argocd 的命令行可以创建application argocd app create guestbook --repo http…

Spark大数据处理学习笔记1.2 Scala变量与数据类型

文章目录 一、变量声明(一)简单说明(二)利用val声明变量1、声明方式2、案例演示 (三)利用var声明变量1、声明方式2、案例演示 (四)同时声明多个变量 二、数据类型(一&…

企业课(理论)

数据链路层 IP地址:32bit 十进制、二进制表示 Mac地址:48bit 十六进制 (0-9,a-f) Mac地址: 单播Mac地址:一对一 48bit第八bit为0 组播Mac地址:一对多 48bit第八b…

iOS app上架截屏尺寸 5.5英寸:1242x2208 6.5英寸:1242x2688

5.5英寸和6.5英寸的iphone的截屏必须上传 5.5英寸:1242x2208 6.5英寸:1242x2688

张量分析入门笔记 (Tensor For Beginner)

前言 学习的时候感觉要学一下张量,在B站看了一个视频,记录一下,参考的是B站视频【机翻】张量分析入门 (Tensor For Beginner) 前言1. 张量的定义 Tenson Definition2. 张量的前向和后向的转换 Forward and Backward Transformation3. 向量 Ve…

Java网络开发(servlet思考)——什么时候用转发,什么时候用重定向 请求request,响应response

目录 引出转发和重定向1.请求转发---request2.响应重定向----response 转发?重定向?1.登陆后重定向2.登陆后转发3.总结 案例:图书信息管理系统1.用户相关操作---注册,登陆,修改密码 / 昵称,退出登陆2.图书相…

努力有没有用?

努力有没有用? 都说站在风口浪尖,猪都能飞起来。 但时代的红利也是给有准备的人才能抓住。凭什么人家努力了那么久,做了那么多准备,在无人问津的小黑屋熬那么久,终于出人头地后被说成是吃了时代的红利。 努力&#xf…

vue封装组件发布到npm,支持unplugin-vue-components按需引入

目的:vue封装组件发布到npm,支持unplugin-vue-components按需引入 vue组件 https://gitee.com/jiangzhuqingfeng/plugin-vue-componets.git工具类 https://gitee.com/jiangzhuqingfeng/plugin-validate.gittaro组件 https://gitee.com/jiangzhuqingfeng/plugin-tar…

4年测试经验面试要20K,简单问了一下,连基础都不会,我也是醉了····

现在招个合适的人可真难呀,不是这不会就是那不会,没有一个让我满意的 公司前段时间缺人,面试了不少的测试,结果居然没有一个符合要求的。一开始瞄准的就是中级测试工程师的水准,也没指望来技术大牛,提供的薪…

谷歌二次验证 Google Authenticator

后台登录要搞令牌,类似于steam令牌、企鹅令牌等等 开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。 实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责…

ChatGPT+Pandas 联手,打造智能数据分析助手PandasAI,数据分析师也要失业了?!

文章目录 前言一、ChatGPT的介绍二、Pandas的介绍三、使用Pandas处理文本数据四、使用ChatGPT生成文本总结 笔记、Python学习资料戳链接直达获取>> 前言 自然语言处理(NLP)是人工智能领域中的一个重要分支,它涉及到计算机对人类语言的…

Jedis使用教程详解

目录 一、前言二、基本使用三、Jedis连接池四、连接池参数五、哨兵模式六、集群模式七、Springboot当中使用Jedis八、Springboot源码分析 一、前言 Jedis是Redis的一款Java语言的开源客户端连接工具,什么是客户端?就是真正使用者,像我们安装…

【Web网站服务】Nginx优化

Nginx网页优化 一、配置Nginx网页缓存时间1.1设置方法 二、隐藏Nginx版本号2.1方法一:修改配置文件2.2方法二:修改源码文件,重新编译 三、修改用户与组四、日志切割五、连接超时六、更改进程数七、网页压缩八、配置防盗链九、Linux内核参数优…

音乐制作宿主软件有哪些,音乐制作宿主如何选择

音乐是我们抒发感情的一种方式,不同的音乐表达不同的情感。而正因为如此,很多人想创作表达自己情感的音乐。但创作音乐的难点在于普通人并不知道一些专业知识,也不知道专业的音乐编曲软件。那么今天我们就来说一说音乐制作宿主软件有哪些以及…