# 转场
转场动画用于实现不同场景和相机间相互切换时的渐变过渡效果。
提示
Tx3d Engine同一时刻只允许存在一个激活的场景和相机,但允许更新激活的场景和相机。
使用引擎(Engine)的transition接口实现转场动画。
// 转场参数
const options = {
totalTime: 2000.0, // 转场总时长,单位:毫秒,可选,默认2000.0
easing: 'easeLinear', // 转场动画缓动类型,可选,默认'easeLinear'
‘intensity’: 0.0, // 转场时源场景和目标场景混合强度,可选,默认0.0
radius: 0.5, // 转场时源场景和目标场景混合半径,可选,默认0.5
width: 0.5, // 转场时源场景和目标场景混合宽度,可选,默认0.5
scaleX: 40.0, // 转场时源场景和目标场景混合X方向缩放,可选,默认40.0
scaleY: 40.0, // 转场时源场景和目标场景混合Y方向缩放,可选,默认40.0
type: 'SliceRotation', // 转场时源场景和目标场景混合动画类型,可选,默'DissolveDownward'
displaceMap: './assets/textures/skyDome/cloudDensity.png', // 转场置换纹理,可选,默认null
transitionStart: null, // 转场开始回调,可选,默认null
transitionEnd: null // 转场结束回调,可选,默认null
};
// 执行转场
engine.transition(
tragetScene, // 目标场景实体,必填
targetCamera, // 目标相机实体,必填
options // 转场参数,可选
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
注意
目标场景和目标相机必须有一个不同于当前激活的场景和相机,否则无法进行转场。此外,如果上次转场未结束则无法开始新的转场操作。
提示
转场参数,详见TransitionOptions。此外可以通过设置缓动属性easing实现不同的转场动画效果,有关缓动的详细使用请参考"缓动函数"。
转场动画类型描述如下表所示:
名称 | 描述 | 控制参数 |
---|---|---|
DissolveDownward | 向下溶解 | ‘intensity’:控制转场溶解强度 |
SliceRotation | 切片旋转 | ‘intensity’:控制转场切片大小 |
FlipVerticallyOutward | 垂直向外翻转 | 无 |
FlipDownward | 向下翻转 | 无 |
DissolveLeftward | 向左溶解 | ‘intensity’:控制转场溶解强度 |
FlipRightward | 向右翻转 | 无 |
EraseLeftward | 向左擦除 | 无 |
ShardEraseLeftward | 向左碎片擦除 | ‘width’:控制转场碎片宽度, ‘scaleX’:控制转场水平方向碎片大小, ‘scaleY’:控制转场垂直方向碎片大小 |
DistortionOutward | 向外失真 | ‘radius’:控制转场向外失真半径大小, ‘width’:控制转场向外失真边缘宽度 |
AlternatingNearFar | 远近交替 | 无 |
提示
关于转场的应用,请查看示例转场动画。