【Blender Python】1.概述和基础使用

server/2024/10/7 18:41:16/

概述

众所周知,Blender是一款开源免费的3D建模软件(当然不限于3D建模)。在Blender中,可以使用其内置的Python解释器执行Python代码,用于程序化的生成网格以及其他内容。你可以基于此创建Blender插件。

这个系列就是快速入门Blender中的Python使用和插件开发。

当然我自己也是从别人处学习总结,然后归纳整理而来,对于Blender使用,以及Python脚本的语法我也只知道一些皮毛,有些内容可能会有错漏,或者略显幼稚。但希望对你使用Blender进行程序化生成和开发Blender插件有所帮助。大家一起共同进步。

注意:正式写这篇文章时,笔者使用的Blender为4.2.2 LTS。所有截图均以此版本为主。

开启脚本模式

点击顶部的“脚本”选项卡,开启脚本界面。

切换到脚本模式

内置Python控制台

在脚本模式界面中,可以看到一个控制台,这是Blender内置的一个Python控制台,可以直接执行Python代码。

内置Python控制台

操作技巧:

  • Tab键自动补全
  • 上下键切换之前输入的命令
  • 回车执行

获取三维视窗操作的代码

在三维视窗中正常操作,会在底部信息窗口展现相应的代码。通过Ctrl+C复制这些代码,你可以直接在Python控制台运行。比如我们删除场景中原本的立方体,然后重新添加一个。


Ctrl+C复制添加立方体的代码,Ctrl+V粘贴到控制台,会自动执行,并返回{'FINISHED'}。此时场景中已经添加了一个新的立方体,不过与原来的立方体完全重合。

在控制台,我们使用↑方向键,调出之前使用的命令,然后修改一下位置参数。

回车后就可以看到在指定位置新添加了一个立方体。

使用文本窗口

在文本窗口点击“新建”,可以创建一个新的文本。

可以将命令粘贴到文本文件中。

我们观察一下这个脚本:

import bpybpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(0, 5, 0), scale=(1, 1, 1))

第一行用import关键字引入了bpy这个模块,这是在Blender中正常执行Python脚本必须引入的。

按顶部的运行按钮,就可以运行代码,点击一次运行一次。

至此基础的使用已经介绍完了。

参考

  • Blender Python小白向入门_哔哩哔哩_bilibili
  • 【中英双字】Blender_Python 编程教程
  • 官方文档:Blender Python API

http://www.ppmy.cn/server/128393.html

相关文章

从0学习React(3)

在第一篇文章中,我们对index.tsx文件的每一行代码都做了简单的分析。通过第一篇文章的总结,我也大致知道了index.tsx里的很多语法。而第二篇文章,我对index.tsx文件的框架做了一个大致的分析,通过第二篇文章,我对index…

在Git中操作失误,如何撤回

在 Git 中,撤回操作可以通过多种方式实现,具体取决于你想要撤回的操作类型(如提交、暂存、修改等)。以下是几种常见场景及其相应的撤回方法: 1. 撤回未暂存的修改 如果你在工作区中进行了更改,但还没有将…

Java中的Lock、synchronize、CAS关系及其应用场景

目录 第一章 Java中的并发编程基础 1.1 并发编程的基本概念 1.2 线程与进程的关系 1.3 并发编程的挑战与问题 1.3.1 线程安全问题 1.3.2 死锁 1.3.3 竞态条件 第二章 Java中的Lock、synchronize、CAS概述 2.1 Lock的基本概念与分类 2.1.1 Lock接口 2.1.2 Lock的类型…

CompletionFormer 点云补全 学习笔记

目录 依赖项 数据集 KITTI DC NYUv2 提供深度图 模型 依赖项 conda create -n completionformer python3.8 conda activate completionformer # For CUDA Version 11.3 pip install torch1.10.1cu113 torchvision0.11.2cu113 torchaudio0.10.1cu113 pip install mmcv-fu…

学习使用Cube软件

一、点亮LED灯 1、新建项目 File → New → STM32 Project搜索芯片信号项目名称 弹窗点击Yes 2、点亮LED 配置GPIO为输出模式 细化配置 保存(ctrl S)自动生成代码 手动生成代码 选择跳转到代码页面 编译代码 下载代码 设置为自动下载

pytorch之自动求导

在 PyTorch 的 autograd 功能中,主要有几个核心概念和操作: 1. torch.Tensor 和 .requires_grad 属性 torch.Tensor: 这是 PyTorch 中的核心数据结构,类似于 NumPy 数组,但也可用于 GPU 加速计算。.requires_grad: 这是 Tensor …

系统架构设计师论文《论企业应用系统的分层架构风格》精选试读

论文真题 软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格,能够有效简化设计&…

rabbitmq----数据管理模块

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 交换机数据管理管理的字段持久化管理类内存管理类申明交换机删除交换机获取指定交换机 队列数据管理管理的字段持久化管理类内存管理类申明/删除/获取指定队列获取所…