Interface ICoordSystemModule

interface ICoordSystemModule {
    centerOrigin: Vector3;
    ndcToScreen: ((x, y?) => Vector2);
    project: ((x, y?, z?) => Vector2);
    scaleOrigin: number;
    screenToNdc: ((x, y?) => Vector2);
    unproject: ((x, y?, opts?) => Vector3);
    unprojectAsync: ((x, y, opts?, retIntersectObject?) => Promise<Vector3>);
}

Implemented by

Properties

centerOrigin: Vector3

设置的中心点坐标

ndcToScreen: ((x, y?) => Vector2)

NDC坐标转屏幕坐标

Type declaration

    • (x, y?): Vector2
    • NDC坐标转屏幕坐标

      Parameters

      • x: number | Vector2
      • Optional y: number

      Returns Vector2

project: ((x, y?, z?) => Vector2)

世界坐标转屏幕坐标

Type declaration

    • (x, y?, z?): Vector2
    • 世界坐标转屏幕坐标

      Parameters

      • x: number | Vector3
      • Optional y: number
      • Optional z: number

      Returns Vector2

scaleOrigin: number

开始缩放比例,x,y,z方向都同比例缩放,默认1

screenToNdc: ((x, y?) => Vector2)

屏幕坐标转NDC坐标

Type declaration

    • (x, y?): Vector2
    • 屏幕坐标转NDC坐标

      Parameters

      • x: number | Vector2
      • Optional y: number

      Returns Vector2

unproject: ((x, y?, opts?) => Vector3)

屏幕坐标转世界坐标

Type declaration

    • (x, y?, opts?): Vector3
    • 屏幕坐标转世界坐标

      Parameters

      • x: number | Vector2
      • Optional y: number
      • Optional opts: UnProjectOpts

        (undefined根据地图配置决定, false 不用场景数据, true用场景数据) 深度 (-1近裁剪面 到 1 远裁剪面) 或者输入 平面(默认xz平面) 或者由一个点所在的屏幕平面 或者使用当前场景实体 或 指定实体数组 或同时指定包含或过滤的实体

      Returns Vector3

Param: x

Param: y

Param: opts

(undefined根据地图配置决定, false 不用场景数据, true用场景数据) 深度 (-1近裁剪面 到 1 远裁剪面) 或者输入 平面(默认xz平面) 或者由一个点所在的屏幕平面 或者使用当前场景实体 或 指定实体数组 或同时指定包含或过滤的实体

unprojectAsync: ((x, y, opts?, retIntersectObject?) => Promise<Vector3>)

屏幕坐标转世界坐标(同 unproject 函数,不同的地方是他支持通过后期处理的深度进行转换,是异步执行的)

Type declaration

    • (x, y, opts?, retIntersectObject?): Promise<Vector3>
    • 屏幕坐标转世界坐标(同 unproject 函数,不同的地方是他支持通过后期处理的深度进行转换,是异步执行的)

      Parameters

      • x: number

        屏幕坐标x

      • y: number

        屏幕坐标y

      • Optional opts: "depth" | UnProjectOpts

        (false 不用场景数据, true用场景数据) "depth" 后期处理的深度进行转换, 深度值 (-1近裁剪面 到 1 远裁剪面) 或者输入 平面(默认xz平面) 或者由一个点所在的屏幕平面 或者使用当前场景实体 或 指定实体数组 或同时指定包含或过滤的实体

      • Optional retIntersectObject: {}

        如果需要返回与哪个实体相交而转化的世界坐标,可传入一个object对象

        Returns Promise<Vector3>

    Param: x

    屏幕坐标x

    Param: y

    屏幕坐标y

    Param: opts

    (false 不用场景数据, true用场景数据) "depth" 后期处理的深度进行转换, 深度值 (-1近裁剪面 到 1 远裁剪面) 或者输入 平面(默认xz平面) 或者由一个点所在的屏幕平面 或者使用当前场景实体 或 指定实体数组 或同时指定包含或过滤的实体

    Param: retIntersectObject

    如果需要返回与哪个实体相交而转化的世界坐标,可传入一个object对象