虽然我没有找到更受欢迎的简单按钮或 gui 解决方案,但事实证明,在 Blender 中破解您自己的 Python 代码比人们想象的要容易。
我正在使用的立方体更像是多米诺骨牌。随后,所有看起来像多米诺骨牌的对象都有一个以“Domino”开头的名称。根据名称更改场景中的所有对象非常容易:
for o in bpy.data.objects:
if not "Domino" in o.name:
continue
o.rigid_body.mass = 500
o.rigid_body.friction = 0.4
o.rigid_body.restitution = 0.95
o.rigid_body.angular_damping = 0.2
o.rigid_body.linear_damping = 0.05
要使用此代码,我只需打开一个新窗口(在任何现有 Blender 窗口上拖动右上角的小三角形图标),将窗口类型更改为“Python Console”(左下窗口类型选择图标),然后将上面的代码粘贴到它。
可以在外部文本编辑器中编辑代码。或者,也可以在 Blender 中打开一个文本编辑器窗口。保存场景后,Python 控制台和内部文本编辑器都沿 3D 模型存储,这使得工作流程非常好。
找到正确的对象名称 - 例如bpy.data.objects["Domino.033"].rigid_body.mass
非常容易,因为当用鼠标指针悬停在任何表单输入字段上时,Blender 确实会显示这些名称。如果已经识别了一个对象,使用 Python 的dir()
函数来获取一个对象的所有已知方法和属性的列表。可能有超过 gui 允许修改或使用的内容。
这比我想象的要容易得多。它可能解释了为什么人们可以想到一些没有 gui 元素的复杂操作——它在代码中更容易处理。我可能会使用它来沿线、圆、螺旋线复制和定位对象,而不是使用 Blender 自己的数组属性。这将使以后的位置调整更容易。