Skip to content

Latest commit

 

History

History
322 lines (216 loc) · 6.04 KB

File metadata and controls

322 lines (216 loc) · 6.04 KB
Error in user YAML: (<unknown>): did not find expected key while parsing a block mapping at line 1 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 0677
  • 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。

脚本工作区_信息调板_选择对象_删除对象

开始

  • 配套视频
  • 上次 进入了 Script工作区
    • 观察 各个调板的作用
  • 在python游乐场中写脚本
    • 可以设置物体的
      • 位置 location
      • 旋转 rotation_euler
      • 缩放 scale
    • 设置了之后
    • 可以在 3d视图 和 属性面板中 观察到
  • 可以把场景清空吗??🤔

启动blender

blender
  • 在shell中启动blender

图片描述

选择工作区

  • 移动右侧提示区宽度
    • 选择Script工作区

图片描述

拖动对象

  • 拖动对象 到游乐场

图片描述

  • 这里面都有什么呢?

图片描述

bpy.data.objects
  • objects 里面有 3个对象
  • 哪3个呢?

首先观察

  • 在游乐场观察
    • 目前的物体
for obj in bpy.data.objects:
	print(obj)
  • 看看现在都有些什么对象

图片描述

场景和文件

  • 和场景中的对象对应

图片描述

  • 和当前文件中数据视图里面

    • objects对应
  • 想要删除立方体

删除立方体

  • 在3d视图中
    • 选中立方体
    • 立方体出现 橙色边缘
    • 右键 出现菜单
  • Delete删除
    • 对应的快捷键是x

图片描述

  • 按下x

删除结果

  • 3D视图主舞台上
    • Cube消失了

图片描述

  • 场景数据中
    • Cube消失了

图片描述

  • 当前文件数据中
    • Cube也消失了

图片描述

执行的代码

  • 刚才执行了
    • 删除Cube的操作

图片描述

  • 信息调版中出现
    • 两句提示
    • 这提示是什么意思?

从信息调板复制命令

  • 信息面板显示
    1. 删除操作所用的代码
    2. 提示删除的结果

图片描述

  • 选择第一句
    • 鼠标右键
    • 弹出菜单
      • 点击拷贝
      • 或者ctrl+c
      • 复制第一句命令
  • 想要再执行一次

到游乐场粘贴

  • 到游乐场
    1. 粘贴
    2. 执行

图片描述

  • 删除了0个对象
    • 因为选择了0个对象
  • 那我们就去选择
    • 摄影机 对象

选择并删除

  • 在场景调板
    • 选中 摄影机
  • 在 3d视图
    • 摄影机 出现橙色外轮廓
    • 摄影机对象 已经被选择了

图片描述

  • 在python调板中
    • 持续按⬆️
    • 找到之前的删除命令
    • 回车执行

图片描述

  • 这次
    • 由于已经选中了摄影机
    • 有了删除的对象
    • 于是成功删除了摄影机

结果

  • 3d视图、场景数据视图、当前文件数据视图
    • 都 找不到 摄影机 了

图片描述

  • 只有选择了对象之后
    • 才能 用代码删除对象
  • 还剩一个灯

  • 选中灯

图片描述

  • 按 方向键⬆️
    • 找到命令 再次执行
    • 场景彻底清空
  • 能用代码选中对象吗?

代码选择

  • 新建一个文件
    • 视图菜单中找到菜单

图片描述

  • 选择命令 也会 对应有 代码 吗?

观察信息跳板

图片描述

  • 最底下
    • 确实出现了一条新命令

图片描述

  • 信息调版中复制命令
    • 去游乐场
    • 试试命令是否好使

先取消选择

  • 找到3d视图菜单
    • 选择 select
    • 都不选 None

图片描述

  • 3d视图和场景视图中
    • Light对象 都取消高亮

图片描述

  • 准备再执行选择全部语句

游乐场

  • 在游乐场中
    • 粘贴代码
    • 回车执行
# 选择所有物体
bpy.ops.object.select_all(action="SELECT") 
  • 然后准备
    • 删除选中的对象

删除

  • 持续按⬆️
bpy.ops.object.delete() # 删除选定的物体
  • 执行之后

图片描述

  • 删除了 三个对象

图片描述

  • 再来一次

从头开始

  • 新建文件

图片描述

  • 对当前项目不保存
    • Don't save

图片描述

使用代码

bpy.ops.object.select_all(action="SELECT") # 选择所有物体
bpy.ops.object.delete() # 删除选定的物体
  • 粘贴代码 到 游乐场
    • 并执行

图片描述

  • 一次性删除3个物体
    • 清场成功

总结

  • 这次 了解了
    • blender背后的机制
    • 表面上
      • 添加对象、删除对象、修改对象
    • 本质上 都是在后面
      • 控制台 去执行python脚本 完成的
  • 可以直接
    • 使用代码
    • 完成功能
  • 我还是想要
    • 添加一个物体?🤔
    • 怎么添加呢?🤔
  • 我们下次再说!👋
  • 配套视频

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