【问题标题】:objects.location request in a for loop won't updatefor 循环中的 objects.location 请求不会更新
【发布时间】:2021-04-12 17:01:13
【问题描述】:

我已经开始在搅拌机中使用 Python。 我正在尝试在单个对象上获取动画的骨架,并且正在尝试运行以下脚本:

for count in range(1, value, 1):
    bpy.context.view_layer.objects.active = bpy.data.objects[count]
    loc = bpy.data.objects[count].location
    bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(loc[0], loc[1], 0.1), scale=(1, 1, 1))

结果给出了第一个对象上的所有骨架。变量loc 似乎没有更新。

有人可以帮忙吗?

【问题讨论】:

  • 你试过print(loc)看看你在变量中得到了什么吗?您也可以使用print() 来检查其他变量。
  • 我做到了。看起来count 更新了,但是loc 没有

标签: python python-3.x for-loop blender bpy


【解决方案1】:

解决了!

我的旧脚本会将一个新对象“Armature.001”添加到 bpy.data.objects,它出现在对象列表中的“Cube.001”之前。

所以 forloop 会向前移动,但所有对象也会如此,因此没有效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    相关资源
    最近更新 更多