# 转场

转场动画用于实现不同场景和相机间相互切换时的渐变过渡效果。

提示

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

注意

目标场景和目标相机必须有一个不同于当前激活的场景和相机,否则无法进行转场。此外,如果上次转场未结束则无法开始新的转场操作。

提示

转场参数,详见TransitionOptions。此外可以通过设置缓动属性easing实现不同的转场动画效果,有关缓动的详细使用请参考"缓动函数"

转场动画类型描述如下表所示:

名称 描述 控制参数
DissolveDownward 向下溶解 ‘intensity’:控制转场溶解强度
SliceRotation 切片旋转 ‘intensity’:控制转场切片大小
FlipVerticallyOutward 垂直向外翻转
FlipDownward 向下翻转
DissolveLeftward 向左溶解 ‘intensity’:控制转场溶解强度
FlipRightward 向右翻转
EraseLeftward 向左擦除
ShardEraseLeftward 向左碎片擦除 ‘width’:控制转场碎片宽度, ‘scaleX’:控制转场水平方向碎片大小, ‘scaleY’:控制转场垂直方向碎片大小
DistortionOutward 向外失真 ‘radius’:控制转场向外失真半径大小, ‘width’:控制转场向外失真边缘宽度
AlternatingNearFar 远近交替

提示

关于转场的应用,请查看示例转场动画

Last Updated: 8/21/2023, 5:24:38 PM