Skip to content

Latest commit

 

History

History
260 lines (177 loc) · 4.97 KB

File metadata and controls

260 lines (177 loc) · 4.97 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 4 column 1
---
show: step
version: 1.0 
enable_checker: true
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

  • oeasy Python 0679
  • 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。

在脚本工作区读写py文件保存为py文件

开始

  • 配套视频
  • 上次 用代码
    • 调用 一些函数 完成了
    • 新建物体
    • 设置物体位置、旋转、缩放

图片描述

  • 可以用纯代码
    • 新建Mesh对象阵列
    • 并且排队布阵吗?🤔

准备环境

  • 从终端启动blender
blender
  • 先把工作区切换为
    • 脚本工作区
    • Script

图片描述

尝试运行

  • 将语句粘贴到python面板
bpy.ops.object.select_all(action="SELECT") 
bpy.ops.object.delete() 
bpy.ops.mesh.primitive_monkey_add()
  • 回车运行
    1. 清空场景
    2. 添加猴子
  • 可以把程序写到一个文件里面吗?

新建Text文本

  • 点击新建(New)按钮
    • 新建一个文本

图片描述

  • 在下面的文本区域输入
print("hello blender")
  • 输入完成后
    • 点击run script

图片描述

运行结果

  • 运行后
    • 在信息调板中
      • 看到信息
    • bpy.ops.text.run_script()
    • 但没有输出hello

图片描述

  • 但是输出到哪儿了呢?

寻找输出

  • 选中终端后
    • 发现 输出位置
    • 终端窗口!!!

图片描述

  • 所以
    • 必须从终端 启动blender
    • 否则 无法 看到输出
  • 可以把程序保存起来吗?

保存程序

  • 在文本调板 点击
    • Text - Save As
    • 文本 - 另存为

图片描述

  • 存成 t.py
    • 在Code文件夹中

图片描述

  • 这样也方便下载

图片描述

  • 想做个复杂点的py

编辑py文件

  • 复制代码
bpy.ops.object.select_all(action="SELECT") 
bpy.ops.object.delete() 
bpy.ops.mesh.primitive_monkey_add()
bpy.data.objects["Suzanne"].location = (1, 2, 3)
bpy.data.objects["Suzanne"].rotation_euler = (0.2, 0.4, 0.6)
bpy.data.objects["Suzanne"].scale = (1, 1, 1.5)
  • 粘贴代码
    • 点击Run Script 运行
    • 快捷键alt+p

图片描述

  • 报错了
  • 找不到bpy

导入模块

import bpy
  • 成功生成猴

图片描述

图片描述

  • 属性符合设置

图片描述

设置location

  • 将下面代码复制进入vim编辑器
    • 保存成 Code/b2.py
import bpy
bpy.ops.object.select_all(action="SELECT") 
bpy.ops.object.delete() 
bpy.ops.mesh.primitive_cube_add(location=(0,0,0))
bpy.ops.mesh.primitive_cube_add(location=(0,0,3))
bpy.ops.mesh.primitive_cube_add(location=(0,0,6))
  • 代码作用

    1. 清空场景
    2. 新建 三个立方体
  • 在blender的文本 窗口 中

    • 重新加载
    • 然后执行
    • run script

图片描述

  • 可以让他们排成一排吗?

相切

import bpy
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()
for num in range(13):
    bpy.ops.mesh.primitive_cube_add(size = 1)
    bpy.context.object.location = (0,num,0)
  • 13张麻将牌
    • 码上了

图片描述

观察

  • 点中第n个立方体
    • y值为n

图片描述

  • 体型不像麻将牌

体型

图片描述

  • 缩放比例大致是
    • 1:2:4

图片描述

麻将牌

import bpy
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()
for num in range(13):
    bpy.ops.mesh.primitive_cube_add(size = 1)
    bpy.context.object.location = (0,num,0)
    bpy.context.object.scale = (0.5,1,2)
  • 这样就更像了

图片描述

  • 可以做成楼梯吗?

总结

  • 这次使用脚本工作区中的文本面板
    • 这面板可以编写python程序
    • 还可以保存、导出
    • 这样就可以将程序保留下来了

图片描述

  • 可以制作阶梯吗?🤔
  • 我们下次再说!👋
  • 配套视频

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。