python - Blender,将对象拆分为图层
问题描述
我有一个对象,我使用搅拌机“像素化”(高级)对象函数,这创建了看起来像单个立方体的一堆(1000 个)重复项。
导出然后重新导入后,生成了一个由大约 18,000 个立方体组成的单个对象。
这在许多立方体中添加了不同的材料。
目的是将对象拆分为所有处于相同高度的立方体的“层”,同时保留它们的材料
我已经尝试了很多东西,比如布尔运算,但这太慢了,而且并不总是保留材料
此外还有大约 70 多个图层,因此手动创建图层可能有些繁琐......
理想情况下,我想编写某种脚本,一次过滤掉每一层并导出它们(使用材料),以便它们可以呈现为 2d 图像......
blender 的 python 文档最初似乎有点不透明,可能是由于 API 的大小非常大(你从哪里开始!)
任何人都可以帮助我完成编写此脚本可能需要的至少一些步骤,因为我在获得任何类型的牵引力时遇到问题。
解决方案
最后,由于@keltar,我使用了一种部分自动化和部分手动的方法来做我想做的事情,我找到了信息窗口和我需要从菜单弹出窗口中的 python 命令中选择的命令
>>> def dolayer(name):
... bpy.ops.mesh.select_linked(delimit={'SEAM'})
... bpy.ops.mesh.separate(type='SELECTED')
... bpy.data.objects[name].hide = True
...
>>> dolayer('Cube.018')
>>> dolayer('Cube.019')
我用框选择选择了下一层,确保关闭限制选择可见!然后我简单地为dolayer函数提供分割对象的新名称(这可以让你隐藏它)向上光标键是你的朋友!
最少量的自动化使得将 72 层分离为单独的对象变得切实可行,这使我可以隐藏不同的层并仅显示构建的每个步骤所需的层....
我完全错过了信息窗口,它应该使脚本更容易访问!
推荐阅读
- python - 如何在 TensorFlow 2.0 中组合两个渐变磁带
- javascript - 如何使用“未知原因”调试 websocket 连接错误
- wordpress-rest-api - 通过 Wordpress API 发送 HTTP 请求
- javascript - 如何创建使用 Javascript 数组填充 HTML 表的循环
- javascript - 图案背景颜色 amCharts
- c# - 线程仅在 FileSystemWatcher 中运行一次已更改
- java - JBehave junit测试输出分组
- html - 在 Apple 设备/Safari 上的边框上生成线性渐变
- html - 哪一个更好
- android - How to display authentication error for in-display Bio-metric Prompt fingerprint. #Android