# 定位

# 定位实体

1️⃣ 使用引擎(Engine)的locateEntity接口定位实体。

// 定位指定实体
engine.locateEntity( entity, {

    easing: 'easeInQuad', // 缓动参数
    distance: 100.0,      // 定位距离
    totalTime: 2000.0     // 定位动画时长(单位:毫秒)

} );
1
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

# 定位点

使用引擎(Engine)的locatePoint接口定位点。

// 定位到指定点
engine.locatePoint( [ 100.0, 100.0, -100.0 ], {

    distance: 100.0,    // 定位距离
    totalTime: 2000.0   // 定位动画时长(单位:毫秒)

} );
1
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
Last Updated: 6/16/2023, 4:26:47 PM