当前位置: 首页 > news >正文

【Blender Python】5.Blender场景中的集合

概述

这里的“集合”是指Blender场景中的集合。你可以在“大纲视图”面板中看到 图标的,就是集合,可以看做是文件夹,用于分类和整理场景中的对象。

获取场景的集合

>>> C.scene
bpy.data.scenes['Scene']
>>> C.scene.collection.name
'Scene Collection'

获取集合的对象

>>> list(C.scene.collection.objects)
[]

可以看到,“场景集合”下没有直接的子对象,所以返回一个空集。

>>> list(C.scene.collection.all_objects)
[bpy.data.objects['Cube'], bpy.data.objects['Light'], bpy.data.objects['Camera']]

all_objects会忽略层级关系,将所有层级中的对象全部列出。

使用具体名称获取集合下的对象

>>> D.collections["Collection"].objects
bpy.data.collections['Collection'].objects>>> list(D.collections["Collection"].objects)
[bpy.data.objects['Cube'], bpy.data.objects['Light'], bpy.data.objects['Camera']]

遍历输出集合下的对象名称

>>> objs = D.collections["Collection"].objects
>>> for obj in objs:
...     print(f"obj name is:{obj.name}" )
...     
obj name is:Cube
obj name is:Light
obj name is:Camera

这里,使用的Python的格式化字符串f-string形式。

创建和添加新的集合

>>> c = D.collections.new("c2")              # 创建一个新的集合,并命名为c2
>>> C.scene.collection.children.link(c)      # 添加到场景的大纲视图

总结

本节介绍Blender中的集合,以及在Blender Python中的获取以及创建。内容不详之处,后续改进。


http://www.mrgr.cn/news/44279.html

相关文章:

  • 【异常记录Vue_20241006】使用TagsView后控制台报错
  • JavaSE——面向对象10:抽象类、接口
  • leetcode58:最后一个单词的长度
  • Vivado - JTAG to AXI Master (GPIO、HLS_IP、UART、IIC)
  • Windows应急响应-QQ巨盗病毒
  • 基于pytorch的手写数字识别
  • VL53L4CD液位监测(2)----液位检测
  • 深入理解this指向【JavaScript】
  • 地理空间数据存储与处理:MySQL空间数据类型的优化与应用!
  • 第十一章 缓存之更新/穿透/雪崩/击穿
  • MVVM 架构模式:解耦、可测试与高效
  • Python(四)——元组
  • 计算机毕业设计 智慧物业服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • userdel命令:删除指定Linux用户
  • 通信工程学习:什么是ICP网络内容服务商
  • 中断系统的原理
  • C++笔试题合集-第一阶段
  • 免费音频剪辑软件大揭秘:让声音创作更轻松
  • 环形缓冲区(Ring Buffer)在STM32 HAL库中的应用:防止按键丢失
  • 【C#生态园】提升开发效率的利器:深入探究六款热门库和框架