想象你正在观看一场提线木偶剧场的小型演出。旧时代的木偶师要拍出一段“木偶走上石阶”的镜头,得把木偶师的双手当作“关键帧工具”——先掰左腿、拍一帧,再掰右腿、拍一帧,遇到台阶高低不齐,就一帧一帧地调整,直到木偶的脚稳稳踩在每一级台阶上。这种手工逐帧操作方式,正是传统K帧动画的缩影:精确、可控,但极其耗时,而且舞台稍有变化就得重新摆弄。 现在,一位聪明的木偶师发明了“提线控制系统”:他不直接去掰木偶的腿,而是先给木偶搭建一套完整的线控网络——膝盖处装一个“自动弯曲器”,脚底装一个“地形成语器”,只要告诉他“目标是前方第三级台阶”,木偶的腿就会自动计算弯曲角度,稳稳落定。这套系统在虚幻引擎中,就叫 Control Rig(控制绑定)。它用节点图组织骨骼级逻辑,实时求解逆运动学(IK),让角色动画在运行中自动适应环境,而无需逐帧手工摆弄。

岗位关联

对AI从业者而言,理解Control Rig的节点式控制与IK解算,是开发智能角色动画系统、实现程序化动作反馈的关键技能,也是理解引擎侧实时算法应用的最佳切入点之一。

目录
  1. 可视化演示
  2. Control Rig基础
  3. 节点图编辑器
  4. IK解算器
  5. 骨骼绑定驱动
  6. 动画逻辑脚本
  7. 程序化应用
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示UE Control Rig的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

UE Control Rig:Cont Control Rig程序化动 Rig节点图与控制器层级构建 核心机制可视化 UE Control Rig整体架构与关键组件

Control Rig基础

回到提线木偶剧场。旧木偶师每拍一个镜头,都要用手把木偶摆成特定姿势,这就像动画师在时间轴上逐帧摆放骨骼位置——每一帧都是“关键帧”。这套方法的痛点在于:一旦舞台环境动态变化,木偶师就要反复重摆,劳动量巨大。

Control Rig的出现,相当于给木偶师提供了一套“可编程提线网”。它不再要求动画师逐帧指定每一根骨头的精确位置,而是把“控制哪些骨骼、如何根据目标调整姿态”的逻辑固化成一张节点图。动画师只需要定义起点、目标和约束,引擎便会实时计算骨骼姿态。

在实际项目中,Control Rig运行在虚幻引擎的动画蓝图底层,与骨骼网格体绑定。它常与动画序列混合使用——基础动作仍来自K帧或动捕,而Control Rig负责在基础动作之上叠加程序化调整。两者的关系就像一个乐团中,乐谱(K帧)定主旋律,而指挥(Control Rig)实时微调每个乐手的演奏细节。

这就像木偶师可以先按剧本摆好基础动作,再让线控系统根据舞台情况微调松紧,两股力量合在一起,木偶的表演既稳定又灵活。

P=(1−α)×P1+α×P2\displaystyle P = (1 - \alpha) \times P_1 + \alpha \times P_2
这个公式表示两个骨骼姿态的线性混合:当权重 α 从 0 变到 1,最终姿态 P 会从基础姿态 P₁ 平滑过渡到目标姿态 P₂。Control Rig中常用类似公式叠加程序化修正。
  1. P₁ 基础姿态通常是动作库中播放的K帧或动捕姿态,提供角色动作的主干。
    P1P_1
  2. P₂ 修正姿态由Control Rig生成的目标修正,如脚踩石阶时腿部调整后的新姿态。
    P2P_2
  3. α 混合权重取0到1之间的小数,控制P₂介入的程度,0为完全保留原姿态,1为完全采用修正姿态。
    α∈[0,1]\alpha \in [0,1]
  4. P 输出姿态加权求和后得到最终骨骼姿态,驱动角色网格变形。
    P=(1−α)P1+αP2P = (1-\alpha)P_1 + \alpha P_2

节点图编辑器

木偶师要搭建线控系统,首要工作是一张“布线图”:把哪根线接到哪个滑轮,哪个滑轮又连接到哪个关节。Control Rig的节点图编辑器就是这张布线图的可视化工具。它将连接关系从代码思维中解放出来,以拖拽连线的方式完成逻辑编排。

在节点图编辑器中,每类节点承担明确职责:输入节点提供骨骼、时间、曲线数据;控制节点提供外部参数入口;求解节点执行IK、FK等算法;输出节点将计算结果写回骨骼变换。节点之间的引脚连线则决定了数据流动方向,就像木偶线上传递张力的滑轮组。

当多个输入同时作用时,Control Rig需要对它们进行融合。比如手臂既要保持挥手动画,又要握持一个动态移动的物体,两路目标就会通过权重对输出值进行加权融合,最终得到一个匹配合成需求的结果。这一过程在节点图中被封装成可复用的子图,大大提升了动画制作效率。

这张布线图可以直接拖动和重组,就像木偶师发现哪根线太紧,立刻就能在滑轮组上换个走线方式,不需要重做整个木偶。

y=∑i=1nwi×xi\displaystyle y = \sum_{i=1}^{n} w_i \times x_i
这是节点数据融合的基本形式:多个输入信号 xᵢ 分别乘以权重 wᵢ 后求和,得到最终输出 y。在节点图中,它表现为多个引脚汇聚到一个求和节点。
  1. xᵢ 输入信号各上游节点传递来的数据,如某条曲线的值、某个控制柄的位置。
    xi,i=1,2,…,nx_i, \quad i = 1, 2, \ldots, n
  2. wᵢ 权重系数表示第 i 路输入在最终结果中的重要程度,所有权重一般不小于0且总和为1。
    wiw_i
  3. Σ 求和运算把加权后的各路输入累加,实现多路数据融合。
    ∑i=1nwi×xi\sum_{i=1}^{n} w_i \times x_i
  4. y 输出结果融合后的最终数据,送往输出节点驱动骨骼变换。
    yy

IK解算器

木偶的腿要踩上台阶,膝盖应该弯多少?传统方式靠木偶师肉眼估计。Control Rig的IK(逆运动学)解算器则像一个内置“自动弯曲计算器”:给出肩膀/髋部的位置和脚踝的目标位置,它立刻算出肘/膝该弯曲的角度。

在角色动画中,最常见的解算是TwoBone IK(两骨骼IK),用于处理手臂和腿这类由两段骨骼组成的链。它仅通过三次余弦定理运算就能求出弯曲角度,计算量极小,可以每帧实时执行。更复杂的场景下,还有FABRIK等迭代算法,适合解算包含多段骨骼的链条,逐次迭代逼近目标。

解算结果通常会与一个“权重”相乘,来控制IK影响的程度。比如角色走路时,脚踝的IK权重可以是一段曲线:脚离地时权重低,脚跟快要着地时权重逐渐增大,从而让贴合动作自然过渡,不会出现瞬移或抖动。

膝盖的自动弯曲,就像木偶每走一步都有一个小小的“电子关节”在瞬间完成数学运算,让木偶的踏脚动作既有精度又有自然感。

cos⁡β=d2+L12−L222×d×L1\displaystyle \cos\beta = \frac{d^2 + L_1^2 - L_2^2}{2 \times d \times L_1}
这是TwoBone IK的核心公式——余弦定理。其中 d 是骨骼链起点到目标点的距离,L₁ 是第一段骨骼长度,L₂ 是第二段骨骼长度,β 就是第一段骨骼需要弯曲的角度。
  1. d 目标距离从木偶肩膀到目标点(如脚踝落点)的直线距离,由两点的x、y坐标差分求平方根得出。
    d=(xt−xs)2+(yt−ys)2d = \sqrt{(x_t - x_s)^2 + (y_t - y_s)^2}
  2. 分子计算目标距离的平方加上第一段骨骼长度的平方,减去第二段骨骼长度的平方,对应余弦定理中的 a² + b² − c² 项。
    d2+L12−L22d^2 + L_1^2 - L_2^2
  3. 分母归一两倍的 d 与 L₁ 相乘,把分子归一化为一个余弦值,取值范围在 −1 到 1 之间。
    2×d×L12 \times d \times L_1
  4. β 弯曲角对余弦值取反余弦,得到第一段骨骼相对“肩到目标连线”的弯曲角,随后第二段骨骼自动跟随,手/脚恰好到达目标。
    β=arccos⁡(cos⁡β)\beta = \arccos(\cos\beta)

骨骼绑定驱动

木偶的身体不是一个孤立整体——提起大腿,小腿会跟着摆动,脚踝也会被带动。这种“父带动子”的连锁关系,就是骨骼层级。在Control Rig中,骨骼层级决定了驱动顺序:父骨骼的运动通过层级传递给所有子骨骼。

Control Rig会为常用骨骼创建“控制柄”(Gizmo)。控制柄就像是木偶师手里的操纵杆,它不一定直接等于骨骼本身,而是一个可以轻松拖拽、旋转的控制器,通过绑定关系驱动底层骨骼。动画师在视口中拖拽控制柄,就能直观地摆出角色姿势,同时由Control Rig自动完成层级传递与变换换算。

在驱动过程中,空间切换是核心概念。控制柄可以在父骨骼空间、组件空间、世界空间之间切换,就像木偶师可以选择“相对于木偶身体” 还是 “相对于舞台” 来定位手的位置。例如捡起地上的剑时,握剑手在“世界空间”中必须落在剑柄上,而挥剑时则相对“身体空间”运动更自然。

木偶师改变“髋部”操纵杆时,腿部所有关节自动跟随,这就是层级驱动的意义——控制一个点,整条链都有了灵魂。

Pworld=Mparent×Plocal\displaystyle P_{world} = M_{parent} \times P_{local}
这个公式描述了骨骼层级中的坐标变换:子骨骼的局部坐标 P_local,经过父骨骼的变换矩阵 M_parent 作用后,得到世界空间坐标 P_world。
  1. P_local 局部位置子骨骼相对父骨骼的位置偏移,记录在骨骼动画数据中。
    Plocal=(x,y,z,1)TP_{local} = (x, y, z, 1)^T
  2. M_parent 父级矩阵描述父骨骼在场景中的位移、旋转和缩放,是4×4变换矩阵。
    MparentM_{parent}
  3. 矩阵乘法父级矩阵乘以局部坐标,把子骨骼平移到父级所在的实际空间位置。
    Mparent×PlocalM_{parent} \times P_{local}
  4. P_world 世界坐标最终的骨骼位置,用于渲染、碰撞检测或其他系统读取。
    PworldP_{world}

动画逻辑脚本

聪明的木偶师不会只拉线,还会在关键位置装“感应器”和“逻辑闸”。当木偶脚底接近石阶时,感应器触发一个信号,逻辑闸自动决定弯曲膝盖还是抬高脚踝。Control Rig的动画逻辑脚本,就是在节点图中实现这类“条件反射”的工具。

在Control Rig的蓝图编辑器中,事件节点(如"On Initialize"“On Update“)定义了求解时机;变量和曲线节点用于存储参数、随时间调整数值;数学运算节点负责角度换算、距离计算;条件分支节点则根据判断结果选择不同执行路径。这些逻辑节点与求解节点协同,构成一个完整的”动画大脑”。

当动画师希望角色在奔跑中自动避让障碍时,可以用射线检测节点先测出障碍物距离,再通过条件分支判断是否触发IK解算。为了让动作不呆板,常用指数阻尼公式将参数平滑逼近目标值,使每一步调整都像真实肌肉那样带有一点“缓冲”,而不是生硬的突变。

感应器、逻辑闸和缓冲器共同协作,让木偶的动作像活物一样会“预判”和“缓冲”,而不是机械地跳变。

vn+1=vn+(vtarget−vn)×(1−e−kΔt)\displaystyle v_{n+1} = v_n + (v_{target} - v_n) \times (1 - e^{-k \Delta t})
这是指数阻尼接近公式:当前值 vₙ 向目标值 v_target 平滑靠近,k 决定逼近速度,Δt 是时间步长。数值越大收敛越快,但过大看起来会僵硬。
  1. vₙ 当前值当前帧的参数值,例如IK力度或目标位置的当前分量。
    vnv_n
  2. v_target 目标值逻辑判断后希望达到的目标参数,如给定的脚踝落点。
    vtargetv_{target}
  3. 阻尼系数指数项 (1 − e^(−kΔt)) 决定每一步逼近的百分比,k越大逼近越快。
    1−e−kΔt1 - e^{-k \Delta t}
  4. 迭代更新当前值向目标值逼近一步,得到下一帧的 vₙ₊₁,循环执行形成平滑过渡。
    vn+1v_{n+1}

程序化应用

当整套提线控制系统搭建完成,木偶师迎来了质变:他不再指挥每一个动作,而是指挥“目标”和“规则”——木偶自己会处理细节。这正是程序化应用的核心价值。

第一个典型应用是脚步贴合地形。角色在崎岖山坡上行走时,程序会向下发射射线检测地面高度,得到落点后交给IK解算器调整腿骨角度,让脚底始终贴住地面。第二个典型应用是动态握持物体:角色伸手抓取一把不断移动的剑,IK的每帧目标都会跟随剑柄位置更新,手部自动伸向最新目标。此外,物理交互增强让角色在被推搡或撞击时,四肢能根据物理受力做出自然反应,与刚体模拟一起工作。

这些应用的共同点,是把“惯性、约束、环境”编码进动画系统,让角色不再依赖预设动作序列,而是随环境的实时输入持续生成动作。最终,动画的表现力不再受限于美术手工制作的帧数,而取决于程序员和动画师如何设计规则与权重。

木偶师放下了手中的木偶,让木偶自己“踩”上了台阶——这就是程序化动画的魅力:用规则和算法,把原本繁重的手工劳动转化为实时、自适应、充满生命力的表演。

Pfoot=Pground+hoffset\displaystyle P_{foot} = P_{ground} + h_{offset}
脚部落点计算公式:脚踝的世界坐标 P_foot 等于地面射线命中点坐标 P_ground 加上脚底到脚踝的固定高度偏移 h_offset。
  1. P_ground 地面命中点从脚踝向下发射射线,碰到地形表面后得到的交点坐标。
    PgroundP_{ground}
  2. h_offset 高度偏移角色骨骼中脚踝与脚底的固定距离,由骨骼网格决定。
    hoffseth_{offset}
  3. P_foot 脚踝落点将偏移量加入地面点后,得到IK解算器的目标位置,让脚底恰好接触地面。
    PfootP_{foot}

AI 应用场景

开放世界角色的自适应行走

阶段:实时动作生成与反馈控制

解决的问题:传统方式需要美术在凹凸不平的地形上手工K出大量走路动画,遇到斜坡、石阶、坑洼都可能穿模。Control Rig通过射线检测地面高度、动态调整脚步落点,让角色在不同地形上自动生成贴合动作,省去重复劳动。

具体案例:在一款开放世界游戏中,角色在山路、沙漠、雪地三种地形间奔跑。开发者在Control Rig中为腿部搭建TwoBone IK链,并编写地面检测逻辑,根据地面坡度调节脚踝旋转和骨盆高度,实现了无缝的“爬山”步行表现。

XR交互中的动态抓握

阶段:交互响应实时生成

解决的问题:在VR/AR环境中,用户会自然伸手抓取各种动态物体,传统预先K帧的手臂动画无法覆盖任意位置。Control Rig让虚拟手每帧以真实手柄目标为IK输入,自动解算肘部角度,实现自然握持与抓取。

具体案例:某MR训练应用中,学员需要抓取漂浮在半空中的虚拟工具。操作者的手柄位置实时传入IK目标,虚拟手臂自动弯曲伸向工具,触碰后手指动画与握持逻辑由节点图自动处理,交互体验十分流畅。

智能NPC的物理交互反馈

阶段:智能体行为控制与物理融合

解决的问题:NPC被推搡或撞到重物时,如果只有预设动画会表现得僵硬穿模。Control Rig结合物理模拟,能让NPC四肢根据受力方向实时产生阻尼摆动,再通过IK把手脚拉回合理位置,实现“柔软而有力量”的物理反应。

具体案例:格斗游戏中,角色被重拳击中后退时,Control Rig根据冲击力方向动态修正手臂摆动,同时脚步通过IK维持平衡,让受击动作既符合物理又保持角色姿态优雅。

Python 演示

python46 行
import math  class Bone:    def __init__(self, length):        self.length = length        self.angle = 0.0  class TwoBoneSolver:    """模拟UE Control Rig TwoBone IK节点的简易实现"""     def __init__(self, len_a, len_b):        self.bone_a = Bone(len_a)        self.bone_b = Bone(len_b)     def solve(self, sx, sy, tx, ty):        dx = tx - sx        dy = ty - sy        dist = math.hypot(dx, dy)        dist = min(dist, self.bone_a.length + self.bone_b.length - 1e-9)        base_angle = math.atan2(dy, dx)        cos_bend = (dist * dist + self.bone_a.length * self.bone_a.length -                    self.bone_b.length * self.bone_b.length)        cos_bend /= 2.0 * dist * self.bone_a.length        cos_bend = max(-1.0, min(1.0, cos_bend))        bend = math.acos(cos_bend)        self.bone_a.angle = base_angle + bend        jx = sx + self.bone_a.length * math.cos(self.bone_a.angle)        jy = sy + self.bone_a.length * math.sin(self.bone_a.angle)        self.bone_b.angle = math.atan2(ty - jy, tx - jx)        ex = jx + self.bone_b.length * math.cos(self.bone_b.angle)        ey = jy + self.bone_b.length * math.sin(self.bone_b.angle)        return (sx, sy), (jx, jy), (ex, ey)  if __name__ == "__main__":    solver = TwoBoneSolver(60, 45)    print("模拟步行动画中脚踝跟随目标点:")    for i in range(6):        t = i / 5.0 * math.pi        target = (95 + 40 * math.cos(t), 55 + 35 * math.sin(t))        shoulder, elbow, hand = solver.solve(0, 0, *target)        print("目标: (%6.2f, %6.2f)" % target)        print("肘:   (%6.2f, %6.2f)" % elbow)        print("手:   (%6.2f, %6.2f)" % hand)
目的:用Python实现了一个简化版TwoBone IK求解器,对应UE Control Rig中的TwoBone IK节点逻辑,以模拟“木偶手臂跟随动态目标”的过程。
  1. class TwoBoneSolver:定义一个模拟Control Rig求解节点的类,封装两根骨骼的状态。
  2. dist = min(dist, self.bone_a.length + self.bone_b.length - 1e-9)防止目标点超出骨骼链可到达范围,避免根号下出现负数。
  3. cos_bend = (dist * dist + self.bone_a.length * self.bone_a.length - self.bone_b.length * self.bone_b.length)套用余弦定理的分子部分,计算目标距离与两段骨骼长度之间的关系。
  4. cos_bend /= 2.0 * dist * self.bone_a.length除以两倍的“目标距离 × 第一段骨骼长度”,得到弯曲角的余弦值。
  5. bend = math.acos(cos_bend)对余弦值取反余弦,得到实际弯曲角度。
  6. self.bone_a.angle = base_angle + bend设置第一根骨骼的旋转角,使肘部朝正确方向弯曲。
  7. jx = sx + self.bone_a.length * math.cos(self.bone_a.angle)根据第一根骨骼的角度,计算出肘关节的x坐标。
  8. ex = jx + self.bone_b.length * math.cos(self.bone_b.angle)再根据第二根骨骼的角度,计算出手部末端的x坐标。

常见误区

误区我一直以为Control Rig是用来创建或修改角色模型的3D建模工具,在建模软件里调好网格就能用。

正解Control Rig不是建模工具,而是动画控制工具。它处理的是“骨骼如何运动”,不修改网格几何本身。模型师负责搭建网格和骨骼,动画师再通过Control Rig驱动骨骼,最终让网格变形。可以理解为木偶师不雕刻木偶,而是操控木偶的动作。

为何常见:Control Rig经常出现在角色制作管线中,和骨骼、网格一起被提及,初学者容易把“控制骨骼的绑定”误解为“控制网格的建模”。

误区只要在角色腿上接一个TwoBone IK节点,脚就能完美踩地,根本不用再调参数。

正解IK解算只是数学求解,它保证“末端到达目标”,但不保证姿态好看。你需要设定目标位置怎么来、权重何时起作用、骨骼弯曲方向是否自然,还要调整阻尼和优先级。木偶师即使有自动弯曲器,也得调线松紧,表演才流畅。

为何常见:IK类插件通常“接上就有效果”,让人误以为结果是自动最优的,忽视了背后复杂的约束设计。

误区Control Rig能自动生成动作,以后动画师就失业了,所有角色都靠程序跑。

正解程序化动画擅长处理“与环境互动”的动态细节,但角色性格表演、节奏感、夸张风格仍依赖动画师手工设计。Control Rig更像是把动画师从重复劳动中解放出来,让ta们把精力集中在更高层的情感与叙事表达。好的木偶表演,依然离不开木偶师。

为何常见:AI与程序化自动化的宣传语容易让人高估替代范围,忽视了艺术创作中的主观判断无法完全算法化。

误区在Control Rig节点图里加越多的求解器、越复杂的连线,角色动画就越真实、越高级。

正解节点越多,每帧的计算开销越大,节点间耦合越难排查。好的Control Rig设计往往逻辑清晰、节点精简,只在关键位置部署解算。过度设计就像给木偶装上几十条冗余线,反而会互相拉扯,动作生硬。

为何常见:初学者看到官方Demo里复杂的节点图,误以为复杂度等于水平,忽略了设计的本质是“够用且易维护”。

面试题

Q1. Control Rig的核心定位是什么?

单选题 · easy

  • A.替代物理引擎模拟
  • B.程序化控制骨骼动画← 正确答案
  • C.直接生成角色网格
  • D.优化场景光照渲染

答案:B。Control Rig是用于程序化控制骨骼动画的系统,它不负责物理模拟、网格生成或光照渲染,B正确。就像木偶大师的提线系统管的是“动作”,不是木偶的材料或舞台灯光。

Q2. 与手工K帧相比,Control Rig的最大优势是?

单选题 · easy

  • A.无需任何动画基础
  • B.动画可实时反馈← 正确答案
  • C.可以独立运行不依赖骨骼
  • D.不需要任何输入参数

答案:B。Control Rig通过实时解算让动画能根据环境输入动态调整,B正确。它依然需要骨骼系统,也需要动画师设置参数和约束,A、C、D都不成立。

Q3. TwoBone IK利用什么数学工具求解弯曲角?

单选题 · mid

  • A.余弦定理← 正确答案
  • B.勾股定理
  • C.傅里叶变换
  • D.贝塞尔曲线

答案:A。TwoBone IK的核心是用余弦定理,在已知两段骨骼长度和目标距离的前提下求出弯曲角度,A正确。勾股定理只适用于直角三角形,傅里叶变换和贝塞尔曲线不属于这里。

Q4. 以下哪些属于Control Rig中常见的节点类型?

多选题 · mid

  • A.TwoBone IK节点← 正确答案
  • B.材质采样节点
  • C.FABRIK解算节点← 正确答案
  • D.光照计算节点

答案:AC。TwoBone IK和FABRIK都是Control Rig中的骨骼解算节点,A和C正确。材质采样节点属于材质编辑器,光照计算节点属于渲染系统,均不属于Control Rig。

Q5. FABRIK算法的主要特点是?

单选题 · mid

  • A.通过迭代逼近求末端位置← 正确答案
  • B.一次性解析出精确角度
  • C.只能用于布料模拟
  • D.仅用于骨骼蒙皮权重

答案:A。FABRIK通过多次前后迭代逐渐逼近目标位置,适合多骨链场景,A正确。它不像TwoBone IK那样一次解析完成,B错误;C、D的描述与其用途不符。

Q6. 实现角色脚步贴合地形,需要哪些技术配合?

多选题 · hard

  • A.地面射线检测← 正确答案
  • B.IK解算落点← 正确答案
  • C.提高动画帧率
  • D.多套角色蒙皮

答案:AB。脚步贴地先要射线检测地面高度得到目标点,再通过IK解算调整腿骨弯曲,A和B正确。提高帧率不能解决穿模,多套蒙皮与贴地无关,C和D错误。

Q7. Control Rig中“控制柄”(Gizmo)的主要作用是?

单选题 · easy

  • A.显示三角形网格
  • B.拖拽操控骨骼姿态← 正确答案
  • C.调节光线照射范围
  • D.生成动画纹理贴图

答案:B。控制柄是供动画师在视口中直接拖拽、旋转的交互控制器,最终驱动骨骼姿态,B正确。网格显示、光照、贴图都与控制柄无关。

Q8. 在骨骼层级中,旋转父骨骼会产生什么效果?

单选题 · mid

  • A.所有子骨骼跟随运动← 正确答案
  • B.所有同级骨骼反向运动
  • C.子骨骼完全不受影响
  • D.父骨骼自动回归原位

答案:A。骨骼层级的特点是“父动子随”,旋转父骨骼时所有子骨骼都会继承运动,A正确。同级骨骼不受影响,子骨骼不因逆动作而保持静止。

Q9. 程序化动画在角色动画中的应用场景包括哪些?

多选题 · mid

  • A.脚步贴合崎岖地形← 正确答案
  • B.双手动态握持物体← 正确答案
  • C.物理冲击后的反应← 正确答案
  • D.替代所有美术设计

答案:ABC。脚步贴地、动态握持和物理反应都是程序化动画的典型用途,A、B、C正确。D表示“替代全部美术”,程序化动画只能辅助不能完全替代,错误。

Q10. 为什么动画逻辑脚本中要用指数阻尼进行参数平滑?

单选题 · mid

  • A.让动作过渡不生硬← 正确答案
  • B.减少骨骼节点数量
  • C.提高场景渲染帧率
  • D.降低IK解算精度

答案:A。指数阻尼让参数逐步逼近目标值,避免瞬间跳变,从而让运动过渡自然,A正确。它不减少节点数,也不影响渲染帧率和解算精度,B、C、D错误。