Composer不支持属性表达式,因其属性系统为关键帧驱动型,仅接受数字/布尔/枚举值,不解析JavaScript或监听变更;“自动协同”需依赖链接变换+手动建模。

Composer 没有属性关联表达式引擎,所谓“自动协同运动”只能靠链接变换 + 手动数学建模实现,任何试图写 rotationZ = positionX * 0.5 这类表达式的操作都会失败。
为什么 Composer 不支持属性表达式
Composer 的属性系统是关键帧驱动型,不是实时计算型。它不解析 JavaScript、不运行表达式、不监听属性变更——所有数值都固化在时间轴关键帧里。你看到的“动态值”,本质是预设好的离散采样点,不是函数求值结果。
常见错误现象:Position.X 关键帧设为 100,Rotation.Z 却没跟着变;在属性面板输入 positionX * 2 后回车,数值直接变成字符串或报错。
根本原因:Composer 属性栏只接受数字、布尔、枚举值,不接受表达式语法;动画系统不提供 onPropertyChange 或 computed 机制。
用链接变换模拟“属性关联”的实操条件
唯一能实现参数级联动的方式是 链接变换,但它不是表达式,而是单向数值广播:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 主控件(如电机轴)必须已设置旋转关键帧,且插值类型为
线性(避免缓入缓出干扰从属件响应) - 被链接零件必须在属性 → 变换页签中勾选
启用父级变换,否则链接无效 - 链接时选择的参数必须匹配数据类型:
Rotation.Z只能链接到另一个Rotation.Z,不能链接到Position.X - 缩放系数填
0.25表示“子部件转速是主部件的 1/4”,填-1表示反向旋转
注意:链接变换 不会自动创建新关键帧,它只是让从属件的本地关键帧叠加一个动态偏移量。若你同时在从属件上手动设了 Rotation.Z = 45°,最终角度 = 链接源值 × 缩放系数 + 45°。
需要数学映射时必须手算并打关键帧
比如传送带速度与工件位移需满足 positionX = time * speed,而 Composer 没有 time 全局变量,你只能:
- 确定总时长(如 3 秒),按 60 fps 导出需求,在时间轴上每
0.0167s插一帧,共打 180 个Position.X关键帧 - 用 Excel 或脚本生成
X值序列(0, 1.67, 3.33, ..., 100),再逐帧粘贴进属性面板 - 对多个工件复用同一组
Position.X序列,但每个都要单独打关键帧——Composer 不支持关键帧复制到多对象
绕不开的坑:时间轴上拖动关键帧会重采样,导致你精心算出的等距序列被破坏;务必关闭自动插值(右键关键帧 → 插值类型 → 无),改用线性过渡控制节奏。
真正容易被忽略的同步前提
所有看似“自动协同”的效果,都建立在一个脆弱共识上:所有参与链接或关键帧同步的零件,其初始位置/旋转/缩放必须在导入后第一时间重置(重置变换)。哪怕一个零件多缩放了 0.999 倍,枢轴偏移就会被放大,在 4 秒动画里漂移可能超过 20px——而这个误差在预览时几乎看不出来,直到导出视频才暴露。

















