Loading...
Loading...
Compare original and translation side by side
| Tool | Purpose |
|---|---|
| Create animation with keyframes for bones |
| Create/edit/delete keyframes per bone and channel |
| Fine-tune animation curves (smooth, linear, ease) |
| Create/modify bone structure for animation |
| Control playback, time, FPS, loop settings |
| Batch operations: offset, scale, reverse, mirror |
| Copy animation data between bones/animations |
| 工具 | 用途 |
|---|---|
| 为骨骼创建带有关键帧的动画 |
| 为每个骨骼和通道创建/编辑/删除关键帧 |
| 微调动画曲线(平滑、线性、缓动) |
| 为动画创建/修改骨骼结构 |
| 控制播放、时间、帧率(FPS)、循环设置 |
| 批量操作:偏移、缩放、反转、镜像 |
| 在骨骼/动画之间复制动画数据 |
1. create_animation: name="walk", animation_length=1.0, loop=true
2. manage_keyframes: bone_name="leg_left", channel="rotation",
keyframes=[{time: 0, values: [30, 0, 0]}, {time: 0.5, values: [-30, 0, 0]}]
3. animation_timeline: action="play"1. create_animation: name="walk", animation_length=1.0, loop=true
2. manage_keyframes: bone_name="leg_left", channel="rotation",
keyframes=[{time: 0, values: [30, 0, 0]}, {time: 0.5, values: [-30, 0, 0]}]
3. animation_timeline: action="play"positionrotationscalepositionrotationscalelinearcatmullrombeziersteplinearcatmullrombezierstepcreate_animation: name="walk", animation_length=1.0, loop=true, bones={
"leg_left": [
{time: 0, rotation: [30, 0, 0]},
{time: 0.5, rotation: [-30, 0, 0]},
{time: 1.0, rotation: [30, 0, 0]}
],
"leg_right": [
{time: 0, rotation: [-30, 0, 0]},
{time: 0.5, rotation: [30, 0, 0]},
{time: 1.0, rotation: [-30, 0, 0]}
]
}create_animation: name="walk", animation_length=1.0, loop=true, bones={
"leg_left": [
{time: 0, rotation: [30, 0, 0]},
{time: 0.5, rotation: [-30, 0, 0]},
{time: 1.0, rotation: [30, 0, 0]}
],
"leg_right": [
{time: 0, rotation: [-30, 0, 0]},
{time: 0.5, rotation: [30, 0, 0]},
{time: 1.0, rotation: [-30, 0, 0]}
]
}animation_graph_editor: bone_name="arm", channel="rotation", action="smooth"animation_graph_editor: bone_name="arm", channel="rotation", action="smooth"animation_copy_paste: action="copy", source={bone: "arm_left"}
animation_copy_paste: action="mirror_paste", target={bone: "arm_right", mirror_axis: "x"}animation_copy_paste: action="copy", source={bone: "arm_left"}
animation_copy_paste: action="mirror_paste", target={bone: "arm_right", mirror_axis: "x"}batch_keyframe_operations: operation="scale", selection="all",
parameters={scale_factor: 2.0} # Double animation durationbatch_keyframe_operations: operation="scale", selection="all",
parameters={scale_factor: 2.0} # 加倍动画时长bone_rigging: action="create", bone_data={name: "spine", origin: [0, 12, 0]}
bone_rigging: action="create", bone_data={name: "head", origin: [0, 24, 0], parent: "spine"}bone_rigging: action="create", bone_data={name: "spine", origin: [0, 12, 0]}
bone_rigging: action="create", bone_data={name: "head", origin: [0, 24, 0], parent: "spine"}bone_rigging: action="set_pivot", bone_data={name: "arm_left", origin: [4, 22, 0]}bone_rigging: action="set_pivot", bone_data={name: "arm_left", origin: [4, 22, 0]}animation_timeline: action="set_fps", fps=60
animation_timeline: action="set_length", length=2.5
animation_timeline: action="loop", loop_mode="loop" # or "once", "hold"
animation_timeline: action="set_time", time=0.5
animation_timeline: action="play"animation_timeline: action="set_fps", fps=60
animation_timeline: action="set_length", length=2.5
animation_timeline: action="loop", loop_mode="loop" # 或 "once", "hold"
animation_timeline: action="set_time", time=0.5
animation_timeline: action="play"list_outlinebone_riggingcatmullromsteplist_outlinebone_riggingcatmullromstep