Blender删除Action关键帧后Pose Library姿势失效及二者关系问询
Blender Action与Pose Library关联逻辑说明
Blender 2.8及以上版本的*Pose Library(姿势库)*底层直接绑定存储在指定Action中,每一个预设姿势对应Action内特定帧上的骨骼变换关键帧集合,具体逻辑对应你的问题如下:
- 你初始状态下没有手动打关键帧时姿势可用:创建姿势库时Blender会自动生成关联的
Face.Mouth.Talk.001Action,所有你预设的口型姿势都会被写入这个Action的非公开隐藏帧中,这些帧默认不在时间轴上展示,你未修改该Action时所有姿势数据完整,所以可以正常调用。 - 删除Action关键帧后姿势丢失:你手动删除
Face.Mouth.Talk.001Action内的关键帧时,会同步删除姿势库存在该Action隐藏帧里的底层数据,自然就会出现姿势丢失无法调用的问题。 - Pose确实默认存储在绑定Action的隐藏帧上:姿势库的每一个姿势对应绑定Action的一个固定帧号,和你手动添加的业务关键帧共享同一个Action的存储空间,修改该Action的任何关键帧数据都会直接影响姿势库的可用性。
避坑方案
你可以把对口型生成的关键帧存储到独立的复制Action中,避免修改姿势库的原始绑定Action,对应修改代码第一行即可:
# 复制姿势库原始Action生成新的对口型输出Action lip_sync_action = bpy.data.actions['Face.Mouth.Talk.001'].copy() lip_sync_action.name = "LipSync_Result" bpy.context.object.animation_data.action = lip_sync_action
后续你对这个新Action做任何关键帧增删操作,都不会影响原有姿势库的数据。
内容的提问来源于stack exchange,提问作者Ligne Atlas
相关产品推荐
相关产品推荐

