IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Blender编程指南 -> 正文阅读

[游戏开发]Blender编程指南

Blender编程指南

什么是Blender

blender是一个轻量级的三维建模软件,可以通过steam下载。随着Blender官方的不断更新,其功能不断完善,blender已经受到越来越多人欢迎。

屏幕截图-2022-01-03-023105

前置知识

  • Blender图形化操作

  • Python基础语法

本教程需要你掌握了Blender的大致操作和python的基础语法。然后看了这个教程能够大概将两项结合在一起。

Blender编程

Blender作为一款三维建模软件,所使用的人大多数是学艺术的,但像我这种程序员,使用软件的第一想法就是是否能编程。Blender非常人性化的支持python编程功能,并且很多Blender第三方插件也是基于Blender编程模块所开发的。

所谓Blender的编程,事实上就是编写一个自动化脚本,来将我们几乎所有能够图形化的操作变成编程语言。这虽然听起来会很麻烦,但对于一些重复性的工作比如随机生成楼房草地等非常有帮助。

编程前的环境设置

Blender的编程模块就内嵌在软件当中,当然你也可以使用Vscode进行编程。不过这里使用Blender内置的文本编辑器。在编程开始之前,首先要确保开启Python工具提示。

1

开启后,当你吧鼠标悬停到任意一个按钮上时,就会出现相应的变量。

2

界面介绍

首先在上面窗口栏的最右边你能够找到Scripting脚本窗口,点击进入脚本编写界面.

3

除了你平时见到的窗口,还额外多出三个窗口分别是:

  • 文本编辑器:位于最中央。是你编写脚本的地方
  • Python控制台:位于左中。一个可以交互式编写python脚本的终端。熟悉python的应该都知道,通过这个控制台可以很方便的学习脚本编写。同时这个控制台有按TAB键自动补全的功能。
  • 信息:位于左下。每当你在图形化界面中做出一步操作时,相应的函数调用就会出现在这里。你可以这个信息为依据编写脚本,但是这里的信息很多时候都只是单独的一步操作,在编写脚本时不一定要按这个来。

4

编程过程

假设你会使用Blender和Python,你想要知道的就是Blender中的每一种操作在blender中是如何对应的,你有3种方法:

1.首先图形化界面做一步,然后在信息里查看调用了哪个函数。但这样做的坏处就是很多时候我们写脚本的内容和信息里所查看到的习惯是不一样。以下面创建一个立方体并旋转x轴旋转30度为例。

这是是以脚本的样子写出来。

import bpy 		#导入blender的必备库
bpy.ops.mesh.primitive_cube_add()		#创建立方体	
so = bpy.context.active_object			#将立方体对象赋予so
so.rotation_euler[0] += 30 * 3.1415 / 180		#欧拉角旋转30度

但是在图形化界面中里面,旋转一个立方体有两种方法:

  • 直接更改其旋转角度

  • r手动拖动旋转

    以下为图形化操作在信息界面显示

        #创建立方体
    	bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), rotation=(0, 0, 0), scale=(1, 1, 1))
    	#直接更改其旋转角度
        bpy.context.object.rotation_euler[0] = 0.523599 
        #按`r`手动拖动旋转
        bpy.ops.transform.rotate(value=-0.523838, orient_axis='Z', orient_type='VIEW', orient_matrix=((4.93038e-32, 1, 2.22045e-16), (2.22045e-16, 4.93038e-32, 1), (1, 2.22045e-16, 4.93038e-32)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

? 从这里我们可以看出,同一个步骤有很多不同的方法,在编写脚本时我们尽量少用ops中的函数,推荐直接更改其属性。同时信息界面所得每个函数都包含很多默认的形参,在脚本编写时可以暂时不需要。

2.在控制台终端不断自动补全进行尝试。这也是一种较为有效的方法。鉴于编辑器没有自动补全功能。在控制台不断的自动补全并交互式的实验是非常有效。

3.之前说的python工具提示已经显示除了每个变量的名称,你可以以此作为对照修改值。

平时python用的大多数语法都是能用的,这就是一个加了个第三方库的python,正常使用就好。

后续

你已经学会了1+1=2了,现在是时候开始解微积分了。

了解怎么将图形化界面对应到python,接下来就是发挥你的智慧,大胆的进行尝试了。只要你足够了解python和blender,这些都不是难事。如果你是一个纯艺术生,建议不一定需要学习写脚本,或者就先学一下python吧。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:45:22  更:2022-01-04 13:45:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 18:24:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码