首先,确认你的网格已经与骨架绑定或父子关联,并且所选的动作已经被应用于骨架。
然后,确保你的网格的顶点组(vertex groups)的名称与骨架骨骼的名称一致。这将确保网格顶点受到正确的骨骼的影响。
然后,打开“权重绘制”模式,并手动检查每个顶点的权重是否正确分配给了正确的骨骼。移动骨骼时,你应该看到网格随之移动。
如果问题仍然存在,你可以尝试在骨架中添加一个“Armature modifier”修饰符,并将网格作为修饰符的目标。在“Object Data Properties”面板中选择骨架,并将“Object”选项设置为骨架对象的名称。
最后,如果所有上述步骤都未能解决问题,请确保你的网格没有被动画化。在“Object Data Properties”面板中查看基础顶点组是否已经取消。如果被选中,则网格无法随骨架移动。
示例代码: 以下是一个简单的动画,其中一个人物(armature)移动,但是它的子网格(mesh)没有随之移动。
import bpy
# 切换到场景中的armature和mesh
bpy.ops.object.mode_set(mode='OBJECT')
armature = bpy.data.objects["Armature"]
bpy.context.view_layer.objects.active = armature
mesh = bpy.data.objects["Mesh"]
bpy.context.view_layer.objects.active = mesh
# 检查是否有足