Type: concept
Confidence: 0.85
Created: 2026-04-16
Updated: 2026-04-16
Tags: 动画运动学UrhoX组件游戏开发

IKSolver

概述

IKSolver 是 UrhoX逆向运动学求解器组件,挂载于骨骼根节点,负责管理 IK 链并驱动关节求解,继承自 Component。

关键内容

方法

方法 说明
RebuildChainTrees() 重建 IK 链树,场景结构变化后调用
RecalculateSegmentLengths() 重新计算各段骨骼长度
CalculateJointRotations() 计算关节旋转(通常由 Solve 内部调用)
Solve() 执行一次 IK 求解迭代
ApplyOriginalPoseToScene() 将原始姿态写回场景节点
ApplySceneToOriginalPose() 从场景节点读取并保存为原始姿态
ApplyActivePoseToScene() 将当前活动姿态写回场景节点
ApplySceneToActivePose() 从场景节点读取并保存为活动姿态
ApplyOriginalPoseToActivePose() 将原始姿态复制到活动姿态
DrawDebugGeometry(bool depthTest) 绘制 IK 链调试几何体

属性

属性 类型 说明
algorithm IKSolver::算法</td> <td>Algorithm
maximumIterations unsigned 最大迭代次数
tolerance float 收敛误差阈值
JOINT_ROTATIONS bool 启用关节旋转计算
TARGET_ROTATIONS bool 末端目标也旋转匹配
UPDATE_ORIGINAL_POSE bool 每帧更新原始姿态
UPDATE_ACTIVE_POSE bool 每帧更新活动姿态
USE_ORIGINAL_POSE bool 每次求解前从原始姿态开始
CONSTRAINTS bool 启用关节约束
AUTO_SOLVE bool 每帧自动执行求解

使用模式

来源

相关