# 场景
场景用于组织可视化场景中的渲染对象,渲染对象只有挂接到场景下,才能够参与渲染流程。
注意
场景是三维可视化必不可少的元素!!!
# 创建场景
使用引擎(Engine)的createScene接口创建场景。在创建场景时可以设置背景贴图、环境贴图、雾效的参数。
// 创建场景实体
const scene = engine.createScene();
1
2
2
🌏 背景贴图
// 普通贴图
const scene = engine.createScene( {
background: {
map: 'assets/textures/sky.png' // 背景贴图
}
} );
// HDR贴图
const scene = engine.createScene( {
background: {
map: 'assets/textures/sky.hdr' // HDR背景贴图
}
} );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
🌏 环境贴图
// 普通贴图
const scene = engine.createScene( {
environment: {
map: 'assets/textures/room.png' // 环境贴图
}
} );
// HDR贴图
const scene = engine.createScene( {
environment: {
map: 'assets/textures/room.hdr' // HDR环境贴图
}
} );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
提示
背景贴图和环境贴图参数,详见SceneBackground。
🌏 雾效
// 设置场景雾
const scene = engine.createScene( {
fog: {
color: '#aaaaaa', // 颜色,不可缺
near: 10, // 最近距离,可选
far: 100 // 最远距离,可选
}
} );
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
提示
雾效参数,详见SceneFog。
# 删除场景
使用引擎(Engine)的removeScene接口删除场景。
// 删除场景实体
engine.removeScene( scene );
1
2
2
# 激活场景
使用引擎(Engine)的setActiveScene接口激活场景。
// 激活场景
engine.setActiveScene( scene );
1
2
2
注意
- 只有激活的场景才能够被渲染;
- 允许创建多个场景,但同一时刻只允许激活一个场景;
- 可以通过激活不同的场景实现多场景切换。
# 获取当前激活场景
// 获取当前激活的场景实体
const scene = engine.sceneRenderer.activeScene;
1
2
2