天晴动作工具组文档 天晴动作工具组文档
首页
内网站 (opens new window)
天晴盒子
Biped动画库
脚本文档
开发公约
  • MAXScript2020 Help (opens new window)
  • 3dsmax-2023-MAXScript Help (opens new window)
  • 3dsmax-2023-Max-Python Help (opens new window)
  • DeveloperSDK2023 Help (opens new window)
教程
更新
关于
  • 动画重定向
  • 3ds Max 文件降版本
  • GIF播放器
  • 表情绑定助手
  • MAXtoUnrealTools
  • MMD4Max
  • AnimFiltersMax2021
  • 分类
  • 标签
  • 归档
首页
内网站 (opens new window)
天晴盒子
Biped动画库
脚本文档
开发公约
  • MAXScript2020 Help (opens new window)
  • 3dsmax-2023-MAXScript Help (opens new window)
  • 3dsmax-2023-Max-Python Help (opens new window)
  • DeveloperSDK2023 Help (opens new window)
教程
更新
关于
  • 动画重定向
  • 3ds Max 文件降版本
  • GIF播放器
  • 表情绑定助手
  • MAXtoUnrealTools
  • MMD4Max
  • AnimFiltersMax2021
  • 分类
  • 标签
  • 归档
  • 用布料驱动骨骼
  • 动画层塌陷工具
  • Biped结构快速设置
  • RootMotion
  • Biped骨骼缩放控制
  • 快速导出FBX工具
  • Physique转换蒙皮Skin工具
  • 选择集一揽子功能
  • 动画曲线导出工具
  • 自动添加制作人标记工具
  • 绑定约束工具
  • 动画复制工具
  • 动画工具
  • 动画轨迹工具
  • 动画骨骼镜像工具
  • 模型检查工具
  • 破碎工具
  • 蒙皮权重检查工具
  • 柔体工具
  • 自定义工具
  • 快速创建包围盒
  • FBX导出工具
  • 3ds Max导出 虚幻 浮点曲线json
  • 曲线数值编辑工具
  • bip批量导入导出工具
  • 复制黏贴 动画POSE工具
  • 其他

  • 绑定

    • 骨骼驱动动画
    • 骨骼链FKIK工具
    • 路径约束工具
    • 武器自动IK
    • SplineIk
    • Bone拉伸缩放导出检测工具
    • 自动飘带
    • 曲线编辑器-快速链接工具
    • 曲线编辑器-快速创建反应控制器
    • 虚幻Max2UEPoseDriver修型工具
    • 骨骼链编辑工具
    • skin转physique
    • RBF 解算器使用说明
      • 开发节点
      • 环境与运行方式
      • 核心概念
      • 界面分区说明
        • 驱动配置
        • 节点设置
        • 姿态样本
        • RBF 参数
        • 运行
      • 推荐工作流程
      • 驱动旋转模式(Quat / Twist-X / Swing-Quat)
      • RBF 参数与核函数
      • 解算与动画烘焙
      • 配置文件(INI)格式
      • 节点解析与场景迁移
      • 常见问题与注意事项
  • 工具文档
  • 绑定
Joe
2026-05-08
目录

RBF 解算器使用说明

# RBF 解算器使用说明

# 使用说明

工具在场景中建立「​一根驱动骨骼的局部旋转 → 多根被驱动骨骼的局部 TRS」的径向基函数(RBF)插值关系,适用于姿态驱动、辅助骨骼跟随等绑定工作流。


# 开发节点

  • 工具原型开发(开始2026-4-28 ~)

    • [X] 驱动配置保存到 .Max文件,打开插件即可自动加载配置。

    • [ ] RBF驱动镜像,例如设置好左腿驱动,直接镜像到右脚。

    • [ ] 匹配目标POSE范围的可视化,参考 UE5中的PoseDriver 节点。

    • [ ] 多驱动模式,当前的RBF仅支持一个驱动骨骼。 需扩展多个驱动骨骼控制一个被驱动骨骼,例如裙摆的中间骨骼被左右腿控制。

  • C++ 实时解算版本。


# 环境与运行方式

  • ​软件:Autodesk 3ds Max 2015 +
  • ​运行:直接将工具拖拽进3dsMax窗口即可。

# 核心概念

术语 含义
驱动骨骼(Driver) 拾取的单一节点;其相对父级的局部旋转四元数作为 RBF 输入特征的来源。
被驱动列表(Driven) 可多选添加的多根骨骼;每个姿态样本记录它们的局部 Position / Rotation / Scale。
姿态样本(Pose) 某一时刻下:驱动局部四元数 + 所有被驱动局部 TRS 的一组快照。第一个样本在 Twist/Swing 模式下作为「绑定参考」,用于计算相对旋转
构建 RBF 根据当前模式与样本,计算核矩阵并求逆(或缓存特征),将isBuilt置为可用。
配置(Config) 内存中一套或多套「驱动配置」;可保存/加载为INI 文件。
驱动槽(Driver Slot) 同一 INI「配置」下的多套独立驱动:每槽有各自的驱动骨、被驱动、样本与 RBF 参数,可在列表中切换。

# 界面分区说明

# 驱动配置

image

  • ​下拉列表:在多条内存配置之间切换;切换前会保存当前编辑到该配置项。
  • ​新建 / 删除:增加或删除整条配置(至少保留一条)。
  • 保存 / 加载:将当前所有配置序列化为 .ini,或从文件反序列化。
  • 存场景: 将当所有配置序列化为 .ini 并保存到场景中,打开插件时将自动加载配置。
  • 读场景: 手动读取当前场景中的 驱动配置。

‍

# 节点设置

image

  • ​驱动骨骼列表​:同一文件配置内的多个「驱动槽」。单击切换槽位;双击可修改槽在列表中的​显示名称(不影响节点名)。

  • ​新建驱动 / 删除驱动:增减驱动槽(至少保留一个槽)。

  • 拾取驱动骨骼:为当前槽指定驱动节点。

  • 重建骨骼姿势: 先清理驱动和被驱动骨骼的动画,再以一帧间隔将样本POSE设置到驱动和被驱动骨骼上,方便调试Pose。

    ‍

  • ​添加 / 删除(被驱动) ​:从当前选择批量加入被驱动列表,或删除列表选中项。增删被驱动后,各姿态里的通道数会自动对齐(新增通道可能为 undefined,需补录姿态)。

  • ​创建姿势:弹出对话框输入姿态名,记录当前驱动局部旋转与各被驱动局部 TRS。

  • ​删除姿势​:删除最后一个姿态样本。

  • ​POSES 列表​:双击某条可修改该姿态的显示名称。

# 姿态样本

image

  • 显示样本数与被驱动数量摘要。
  • ​清除所有​:仅清空所有姿态样本与 RBF 构建缓存;不清除当前驱动骨、被驱动列表、核类型、Epsilon、旋转模式等(确认框中有说明)。

# RBF 参数

image

  • ​驱动 RBF 旋转​:见下文 驱动旋转模式。
  • ​Epsilon​:核函数尺度参数( spinner 与内部 sphereRBF.epsilon 同步)。
  • ​核函数:Gaussian / Multiquadric / Inverse Multiquadric / Thin Plate(界面为中文标签)。
  • ​构建 RBF:应用当前参数并尝试构建;样本数须 ≥ 2。

说明:脚本内 正则化(regularization) 在 UI 中默认隐藏,构建 Twist/Swing 时会在内部临时放大正则以避免病态矩阵,构建后恢复原值。

# 运行

image

  • ​解算当前帧:按当前时间驱动读值,对被驱动写插值结果。

  • ​解算动画​:在当前 animationRange 内烘焙;可选仅在有驱动关键帧的时间采样。

  • ​解算全部驱动动画​:对当前配置文件中所有驱动槽依次执行动画烘焙。

  • 调试信息:在 Listener 输出管理器与插值器状态;样本足够时还会测试距离分布。

  • 实时更新调试:如下视频


# 推荐工作流程

  1. ​保存 Max 场景,确认驱动骨层级与轴向符合绑定规范。
  2. 运行脚本打开面板,必要时 加载 已有 INI 或 ​新建配置。
  3. 选中目标驱动槽 → 拾取驱动骨骼 → 添加 被驱动骨骼(可多选)。
  4. 摆好 绑定 / T-Pose(或文档约定的参考姿势) → ​创建姿势​,命名为例如 Bind​ 或 Pose 1(作为样本 1)。
  5. 依次摆出其它关键姿势,多次 ​创建姿势(至少 2 个样本)。
  6. 选择合适的 驱动 RBF 旋转 模式与 ​核函数​,调节 ​Epsilon​,点击 ​构建 RBF。
  7. scrub 时间轴用 解算当前帧 检查;满意后用 解算动画 或 解算全部驱动动画 烘焙。
  8. 保存 INI 以便下次加载或与同事共享(注意节点句柄与会话绑定,见下文)。

# 驱动旋转模式(Quat / Twist-X / Swing-Quat)

界面三项与内部枚举对应关系:

UI 内部模式 含义概要
Quat ​#full 使用相对绑定后的​完整局部旋转四元数​;样本间距离为​S³ 上归一化测地角​(实现于SphereQuatData.sphereDistanceTo)。
Twist-X ​#twist_angle 仅保留绕骨骼局部 X 轴的扭转分量;构建时用扭转特征四元数间的圆上距离。求值阶段使用​IDW(反距离平方)权重,避免出现负 RBF 系数,并与帧间半球连续性处理配合。
Swing-Quat ​#swing_quat Swing-Twist 分解后取Swing部分;RBF 距离定义为局部 X 轴被旋转后的单位方向在球面S²上的夹角除以 π(不是Swing 四元数在 S³ 上的测地距)。求值同样走IDW权重。

务必注意:

  • 切换模式、修改 ​第一个样本​、或改动驱动局部绑定关系后,应重新 ​构建 RBF。
  • Twist/Swing 语义依赖「样本 1」作为绑定参考;文档与tooltip强调:​第一个样本请保持蒙皮/绑定参考姿势。

# RBF 参数与核函数

  • ​Epsilon:控制核函数随距离衰减或增长的快慢;过小可能导致过拟合或数值不稳定,过大则过渡平滑、细节不足。需结合姿态间距与模式试验。
  • ​核类型​:与高斯、多二次、逆多二次、薄板样条等经典 RBF 核一致(实现见 SphereRBFInterpolator.rbfKernel)。

若 Listener 出现「原始系数和≈0」类警告,脚本会退回均匀权重;可尝试调整 Epsilon、检查样本分布或重建。


# 解算与动画烘焙

  • ​局部空间​:采样与写回均基于节点 ​相对父级的变换​(getNonePoseTm​ / getNonePoseTmRot 一类接口)。
  • ​四元数混合:对被驱动旋转采用与样本对齐半球后的加权混合策略(避免路径翻转)。
  • ​动画范围​:烘焙使用当前时间轴 animationRange.start​ 与 animationRange.end。

请在烘焙前确认时间范围覆盖所需片段,并做好场景备份。


# 配置文件(INI)格式

  • ​扩展名​:.ini
  • ​顶层 ​[Meta]​:ConfigCount​、CurrentIndex(当前选中的配置序号)。
  • ​每个配置​:[Config_i] 保存配置名、驱动槽数量、当前槽索引。
  • ​每个驱动槽​:[Config_i_Slot_j]​ 保存该槽显示名、RBFManagerData​ 扁平字段(驱动句柄/名称/父名、被驱动列表、Epsilon、正则、核类型、DriverRotationMode、样本数等)。
  • ​每个姿态​:[Config_i_Slot_j_Pose_k]​ 保存姿态名、驱动四元数字符串、每条被驱动的 #(pos, quat, scale) 字符串。

脚本 ​兼容旧版 INI​:若某 Config_i​ 下没有 DriverSlotCount,则把整个节当作单槽扁平数据读入。

保存时会写入当前内存中​全部配置​;加载会替换 rbfConfigList 并刷新 UI。


# 节点解析与场景迁移

INI 中除节点 handle 外还保存 节点名 与 ​父节点名​(rbfResolveNode),用于在新会话或引用变更后尽量找回对象。

限制说明:

  • 句柄在 Max 会话内有效,跨会话依赖名称 + 父级匹配。
  • 若重命名、重组层级或合并场景导致匹配失败,需在 UI 中重新拾取驱动并检查被驱动列表。

# 常见问题与注意事项

  1. 至少需要 2 个姿态样本 才能构建;状态栏会提示「需要构建 RBF」直到构建成功。
  2. 清除所有 只删样本,不删驱动与被驱动;删样本后须重新 创建姿势 并 ​构建 RBF。
  3. 新增被驱动 后,旧姿态中新通道无数据,需针对新骨骼补采样或重新录入姿势。
  4. Twist-X / Swing-Quat 与 Quat(Full) 的几何含义不同,请勿混用概念。

#Bone#RBF
skin转physique

← skin转physique

最近更新
01
ComfyUI节点上传文件后立即加载失败排障实录
04-28
02
ComfyUI-Sundaybox上传下载插件
04-27
03
ComfyUI 独立环境插件路由注册问题排障实录
04-24
更多文章>
Theme by Vdoing | Copyright © 2019-2026 ND|99u:199505| 鄂ICP备2022012500号 | 鄂公网安备 42022202000122号

共产主义:是对生产资料的共享,不是对生活资料财产的均分

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式