如视 Five SDK
    Preparing search index...

    Function useFiveAction

    • Function

      Five Vue Hooks: 使用 Five 的命令

      updateCamera

      移动相机。(不触发点位移动
      如果动画中途被打断用户触发行为或者调用 setState, load, changeMode的等
      Promise.reject运动完成则 Promise.resolve

      // params pose - 相机目标位置
      // params duration - 动画触发的时常
      // params Promise - 是否移动成功
      updateCamera(pose: Pose, duration: number): Promise<void>

      initBasisLoader

      初始化 initBasisLoader
      同初始化的 initBasisLoader 参数用于初始化 basisLoader
      basisLoader 只会初始化一次一旦初始化则不会再修改

      // param transcoderResourcePath
      // 如果不设置,使用默认解析器 basis 解析器。
      // 可以传入解析器的 `resourcePath`, 则使用指定的解析器
      initBasisLoader(transcoderResourcePath?: string): void,

      getPixels

      获取画面中的像素颜色
      // param x - 获取像素区域的起始坐标 x
      // param y - 获取像素区域的起始坐标 y
      // param width - 获取像素区域的宽度
      // param height - 获取像素区域的高度
      // param pixelRatio - 获取区域的像素比
      // returns rgba颜色平铺的 Uint8Array
      getPixels(x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array,

      render

      强制渲染
      调用 render() needsRender() 均可在按需渲染时使得画面渲染一次
      区别在于
      - needsRender() 为在下帧渲染画面
      - render() 在当前帧渲染画面
      推荐使用 needsRender(), 可以更加流畅但是如果需要截图等同步操作可以使用 render()

      // param callback 渲染完成回调
      render(callback?: () => void): void,

      needsRender

      下一帧渲染
      调用 render() needsRender() 均可在按需渲染时使得画面渲染一次
      区别在于
      - needsRender() 为在下帧渲染画面
      - render() 在当前帧渲染画面
      推荐使用 needsRender(), 可以更加流畅但是如果需要截图等同步操作可以使用 render()
      needsRender(): void,

      preloadPano

      预加载点位图片资源
      // param panoId - 观察点
      // param callback - 加载完成回调, 并传递加载用时。
      // returns 加载完成的 Promise 参数同 callback
      preloadPano(panoId: WorkPanoId, callback?: (costs: number) => void): Promise<number>

      project2d

      计算三维空间的点对应到屏幕的二维坐标
      调用 `project2d()` `useFiveProject2d()` 均可用于计算三维空间的点对应到屏幕的二维坐标
      区别在于
      - `project2d()` 只计算一次入参改变或 cameraUpdate 不会更新值
      - `useFiveProject2d()` 通过 watch 监听入参和 cameraUpdate 变化自动更新返回值
      project2d(vector3: THREE.Vector3, testModel?: boolean ): THREE.Vector2

      Returns FiveActionVueCallbacks

      const { updateCamera, initBasisLoader, getPixels, render, needsRender, preloadPano, project2d } = useFiveAction();