异步运镜
功能描述
异步运镜(asyncam)用于在不阻塞主线对话流程的情况下,在后台独立运行动画。与同步的 cam 命令不同,asyncam 启动镜头动画后,玩家可以继续点击对话推进剧情,镜头动画在后台独立运行。
使用场景:
- 背景动画/演出与对话同时进行
- 玩家可随时点击跳转台词,不受镜头动画影响
- 剧情需要镜头瞬间到位时,使用
asyncam stop强制终止
语法结构
text
asyncam move [目标镜头ID] [过渡类型] [过渡时间]
asyncam reset [过渡类型] [过渡时间]
asyncam shake [持续时间]
asyncam stop异步移动(asyncam move)
功能描述
将镜头异步移动到指定的目标镜头位置,启动过渡动画后立即返回,不阻塞对话流程。
参数详解
| 参数 | 必需 | 示例 | 说明 |
|---|---|---|---|
| 目标镜头ID | 是 | cam1 | 要移动到的镜头资源标识符 |
| 过渡类型 | 否 | linear / ease_in_out / none | 过渡动画类型,不填或填 none 表示无动画 |
| 过渡时间 | 否 | 1.0 / 2.5 | 过渡动画的持续时间(秒),默认值为 1.0 |
过渡类型说明
| 类型 | 说明 |
|---|---|
| 不填 | 默认无动画,直接切换 |
none | 显式指定无动画 |
linear | 线性过渡 |
ease_in_out | 缓入缓出过渡 |
默认值规则
- 不写过渡类型 → 无动画,直接切换
- 写
none→ 无动画 - 写其他过渡类型但不写时间 → 默认
1.0秒
示例
text
asyncam move cam1
asyncam move cam1 none
asyncam move cam1 linear
asyncam move cam1 linear 1.0
asyncam move cam1 ease_in_out 2.5异步重置(asyncam reset)
功能描述
将镜头异步重置到默认位置(屏幕中心,缩放 1.0),启动过渡动画后立即返回,不阻塞对话流程。
参数详解
| 参数 | 必需 | 示例 | 说明 |
|---|---|---|---|
| 过渡类型 | 否 | linear / ease_in_out / none | 过渡动画类型,不填或填 none 表示无动画 |
| 过渡时间 | 否 | 1.0 / 2.5 | 过渡动画的持续时间(秒),默认值为 1.0 |
默认值规则
同 asyncam move 的默认值规则。
示例
text
asyncam reset
asyncam reset none
asyncam reset linear
asyncam reset linear 1.0
asyncam reset ease_in_out 2.5异步晃动(asyncam shake)
功能描述
使镜头异步产生随机抖动效果,启动后立即返回,不阻塞对话流程。晃动期间玩家可以正常点击推进对话。
参数详解
| 参数 | 必需 | 示例 | 说明 |
|---|---|---|---|
| 持续时间 | 否 | 1.0 / 2.5 | 晃动持续时间(秒),默认值为 1.0 |
效果说明
- 晃动强度随时间逐渐减弱(从强到弱)
- 晃动结束后镜头自动恢复到晃动前的位置
- 晃动期间会在当前镜头位置周围产生随机偏移
示例
text
asyncam shake
asyncam shake 1.0
asyncam shake 2.5强制停止(asyncam stop)
功能描述
强制终止所有正在运行的异步相机 Tween 动画,相机瞬间直接定格到动画最终目标坐标,放弃剩余过渡动画。
使用场景:
- 玩家点击跳过演出,需要镜头立即到位
- 剧情需要镜头瞬间切换,不能再等待当前动画完成
参数
无参数。
效果说明
- 终止所有进行中的异步相机 Tween(move / reset / shake)
- 镜头瞬间定格到最终目标位置和缩放
- 清除晃动导致的偏移,恢复平稳画面
- 对同步
cam命令的 Tween 无影响
示例
text
asyncam stop完整示例
text
# 异步移动镜头到 cam1,对话继续推进
"alice" "看,那边的风景多美!"
asyncam move cam1 linear 3.0
# 镜头在后台移动中,玩家可以继续点击对话
"alice" "镜头正在慢慢移过去……"
# 异步晃动镜头,模拟地震效果
asyncam shake 2.0
"alice" "地震了!小心!"
# 玩家快速跳过,镜头需要瞬间到位
asyncam stop
"alice" "好了,镜头已经到位了。"
# 异步重置镜头
asyncam reset linear 1.0
"alice" "让我们回到最初的位置。"与 cam 命令的区别
| 特性 | cam(同步) | asyncam(异步) |
|---|---|---|
| 对话流程 | 阻塞,等待动画完成 | 不阻塞,立即继续 |
| 后台运行 | 否 | 是 |
| 玩家可点击跳过 | 需等待动画结束 | 可随时点击下一句 |
| 强制停止 | 不支持 | 支持 asyncam stop |
| 适用场景 | 需要镜头到位后再继续剧情 | 镜头动画与对话并行 |