# 定位
# 定位实体
1️⃣ 使用引擎(Engine)的locateEntity接口定位实体。
// 定位指定实体
engine.locateEntity( entity, {
easing: 'easeInQuad', // 缓动参数
distance: 100.0, // 定位距离
totalTime: 2000.0 // 定位动画时长(单位:毫秒)
} );
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
提示
定位参数,详见LocateParameters。此外可以通过设置缓动属性easing实现不同的定位动画效果,有关缓动的详细使用请参考"缓动函数"。
2️⃣ 使用引擎(Engine)的locateEntityByGUID接口定位实体。
// 定位指定GUID实体
engine.locateEntityByGUID( 'xxxx-xxxx-xxxx', {
distance: 100.0, // 定位距离
totalTime: 2000.0 // 定位动画时长(单位:毫秒)
} );
1
2
3
4
5
6
7
2
3
4
5
6
7
# 定位点
使用引擎(Engine)的locatePoint接口定位点。
// 定位到指定点
engine.locatePoint( [ 100.0, 100.0, -100.0 ], {
distance: 100.0, // 定位距离
totalTime: 2000.0 // 定位动画时长(单位:毫秒)
} );
1
2
3
4
5
6
7
2
3
4
5
6
7
# 定位到巷道内部
使用引擎(Engine)的locateIntoLaneway接口定位到巷道内壁。
import { EventType, Laneway } from '@tx3d/core';
// 单击定位到巷道内部
engine.addEventListener( EventType.ENTITY_CLICK, ( event ) => {
// 实体
const entity = event.entity;
// 判断是否存在巷道渲染组件
if ( entity.hasComponent( Laneway ) ) {
// 定位到巷道内部
engine.locateIntoLaneway( entity.guid, event.intersection.point );
}
} );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17