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

概述

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

获取场景的集合

python 复制代码
>>> C.scene
bpy.data.scenes['Scene']
python 复制代码
>>> C.scene.collection.name
'Scene Collection'

获取集合的对象

python 复制代码
>>> list(C.scene.collection.objects)
[]

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

python 复制代码
>>> list(C.scene.collection.all_objects)
[bpy.data.objects['Cube'], bpy.data.objects['Light'], bpy.data.objects['Camera']]

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

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

python 复制代码
>>> 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']]

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

python 复制代码
>>> 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形式。

创建和添加新的集合

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

总结

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

相关推荐
CTA量化套保5 小时前
近期零基础量化学习:先分阶段,再用 AI 检查缺口
人工智能·python
清水白石0086 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
Elias不吃糖6 小时前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
TechWayfarer7 小时前
批量查IP归属地,在线API、脚本、离线库怎么选?三种方案实测对比
网络·python·网络协议·tcp/ip
七牛开发者8 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
河南凹凸环境艺术设计8 小时前
性价比高的民宿酒店设计企业
大数据·人工智能·python
wuyk55511 小时前
Python 第三章:列表 List
服务器·开发语言·python
笨鸟先飞,勤能补拙11 小时前
从预测到决策:人工智能与机器学习的系统方法、工程闭环与现实边界
大数据·人工智能·windows·python·机器学习·密码学
MgArcher11 小时前
抖音a_bogus参数逆向实战:JSVMP环境模拟与Hook技术(2025最新)
javascript·爬虫·python
circuitsosk12 小时前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain