动作重定向并不是把一串关节坐标“贴”到另一个角色身上,而是把源动作的运动意图转换为目标骨架能够执行的关节旋转、位移与接触关系。舞者、真人视频或动作生成模型输出的骨骼,通常只是源骨架;虚拟角色则拥有不同的身高、骨段比例、关节层级和活动范围。两者之间必须先建立可解释的映射关系,角色才能既保持原动作的节奏,又避免肢体扭曲。
第一步是识别两套骨架中具有相同运动语义的部位,例如骨盆、脊柱、颈部、头部,以及左右肩、肘、腕、髋、膝、踝等关节。关键不在于两套骨架的关节数量完全一致,而在于层级关系和控制职责能够对应:源骨架的一段脊柱动作,可能需要分配给目标角色的多段脊柱;目标角色若缺少某个辅助关节,则应将该动作合理吸收到相邻关节中。
建立对应表后,系统还要比较初始姿态。若源动作以自然站立姿态记录,而目标角色以张臂或其他姿态绑定,直接复制旋转值会产生明显偏差。因此,重定向通常以各自的参考姿态为基准,计算源关节相对参考姿态的变化,再将这种变化转换到目标骨架的局部坐标系中。
骨段长度差异是动作失真的主要来源。高大的角色与比例夸张的卡通角色,即使完成相同的髋部旋转,脚步落点和手部轨迹也可能完全不同。较稳妥的做法是优先传递关节旋转和身体朝向,将末端位置作为约束目标,而不是机械复制每个关节的世界坐标。
以抬腿动作为例,源骨架中膝盖抬起的高度来自髋、膝、踝的协同旋转。映射到较短腿角色时,若只复制脚踝位置,膝盖可能反向折叠;若只复制旋转,脚又可能无法准确落地。此时需要通过正向运动学计算姿态,并借助逆向运动学调整末端链条,使脚部接近目标位置,同时保持关节弯曲方向合理。
角色根节点的移动也应单独处理。根节点决定整体位移、转向和重心,而局部关节决定肢体姿态。将两者混在一起,常会出现角色原地滑行、脚底穿透地面或转身漂移。对于舞蹈一类强调节奏与落点的动作,脚部接触阶段尤其需要固定或校正,使角色在支撑期保持稳定。
最终的质量判断不应只看“姿势像不像”。更重要的是动作是否保持节奏、重心是否可信、左右肢体是否对称、末端是否穿模,以及目标角色是否超出自身关节可动范围。好的重定向保留的是动作表达,而不是源骨架的每一个数值。
参与讨论
暂无评论,快来发表你的观点吧!