for 循环中的 objects.location 请求不会更新

Posted

技术标签:

【中文标题】for 循环中的 objects.location 请求不会更新【英文标题】:objects.location request in a for loop won't update 【发布时间】: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 没有 【参考方案1】:

解决了!

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

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

【讨论】:

以上是关于for 循环中的 objects.location 请求不会更新的主要内容,如果未能解决你的问题,请参考以下文章

Java中的增强for循环怎么用?for()中的参数是啥意思

python 双层for循环,在第二层的for循环中的else中的continue,会退出到第一层for循环继续执行

python中的for循环相当于scratch中的啥循环?

JS中如何解决for循环中的延迟执行问题

C语言中的for循环

for循环求和中的for循环正在覆盖数据值python