内部使用的 Camera
当前展示的模式
全景图的配置参数
可以动态对配置在 work 数据中的全景图片在 runtime 做 url 调整。
平衡加载时间和图片质量
模型渲染缓冲
内部模型部分使用的 THREE.Scene
模型是否需要更新渲染
可以设置modelNeedsRender为true,通知five进行模型渲染的更新
当前加载的模型
是否需要渲染
如果初始化设置了 onlyRenderIfNeeds: true, 则会激活按需渲染
可以通过设置 five.needsRender = true 来告知,five 会在下一帧渲染画面。
当前点位序号
自动播放状态是否暂停
可以通过 five.play five.pause 方法播放或暂停
插件暴露的方法
Optional renderer当前使用的 THREE.WebGLRenderer。
如果初始化时传入了 renderer 则直接时该值
否则会通过 preserveDrawingBuffer backgroundColor backgroundAlpha antialias 创建一个 THREE.WebGLRenderer
非模型部分使用的 THREE.Scene
当前设置的 scissor
可通过初始化,或者 setScissor 方式设置
scissor 是将屏幕中的内容渲染到 renderer 的指定区域。
页面整体长宽均为 1。通过类似 css 的 left bottom width height 来确定区域。
scissor: { left: 0.75, bottom: 0, width: 0.25, height: 1 }
当前状态
five 设置了以下状态
- mode: Mode
- panoIndex: number
- longitude: number
- latitude: number
- fov: number
- offset: THREE.Vector3
可以通过 five.state 和 five.setState 来获取和设置。
通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
来迎合一些通过数据驱动的场景。
模型贴图的配置参数
可以动态对配置在 work 数据中的模型贴图在 runtime 做 url 调整。
平衡加载时间和图片质量
模型贴图的配置参数
可以动态对配置在 work 数据中的模型贴图在 runtime 做 url 调整。
平衡加载时间和图片质量
供外部放置需要在xr场景下产生遮挡的物体们
Static Line请使用 import { Line } from "@realsee/five/line" 代替;
Static ModeFive 的显示模式,可以通过 five.changeMode five.setState 来切换
Panorama 全景图游走模式
Model 模型游走模式
Floorplan 模型查看模式
Topview 户型图模式
VRPanorama VR眼镜模式
XRPanorama VR硬件模式
是否开启EDL模式
是否开启 IOS EDR 模式 需要客户端配合 并且开启 five.enablepostProcessing = true
是否开启后处理
帮助元素显示/隐藏
获取观测点
后处理类型
Static dracoStatic ktx2Static version切换模态
切换到的模态
切换完成时的姿态
Optional options: number | { 模态切换动画用时
是否时用户动作触发 默认 true
必须重新初始化 controller
触发事件
预设的监听事件名称
事件类型
Rest ...data: Parameters<EventTypes[K]>触发事件的数据
canceled 是否被触发取消
GPU Picking 获取选中的 mesh
屏幕坐标 x
屏幕坐标 y
需要选取的 mesh 的颜色与 uuid 的映射
指定的模型颜色
选中 mesh 的 uuid
判断是否注册了事件
事件类型
加载 Work 数据
Work 数据
Optional state: "initial" | Partial<State> | "inherit"初始化姿态
Optional options: number | FiveLoadOptions切换时间, 切换效果
转化到 Panorama 模态,并移动到对应序号的观察点。
移动点位参数
是否用户触犯
解除事件
如果 name 不传的话解除对应所有事件 如果 name, callback 不传的话解除所有name的所有事件
预设的监听事件名称
Optional name: K事件类型
Optional callback: ((...args) => ReturnType<EventTypes[K]>)事件回调函数
Rest ...args: Parameters<EventTypes[K]>注册事件
预设的监听事件名称
事件类型
事件回调函数
Rest ...args: Parameters<EventTypes[K]>Optional once: boolean是否只执行一次
解除事件
注册事件(是否只执行一次)
预设的监听事件名称
事件类型
事件回调函数
Rest ...args: Parameters<EventTypes[K]>解除事件
预加载点位图片资源
观察点序号
加载完成回调, 并传递加载用时。
加载完成的 Promise 参数同 callback
强制渲染
Optional callback: (() => void)渲染完成回调
调用 five.render() 和设置 five.needsRender = true 均可在按需渲染时,使得画面渲染一次
区别在于:
five.needsRender = true 为在下帧渲染画面five.render() 在当前帧渲染画面
推荐使用 five.needsRender = true, 可以更加流畅。但是如果需要截图等同步操作,可以使用 five.render()设置 scissor
指定区域
scissor 是将屏幕中的内容渲染到 renderer 的指定区域。
请确保在 five 初始化时传入 renderer 对象
页面整体长宽均为 1。通过类似 css 的 left bottom width height 来确定区域。
five.setScissor({ left: 0.75, bottom: 0, width: 0.25, height: 1 })
设置 State
目标状态
是否马上转换,马上转换会尽快达到目标状态,尽量减少中间状态,更少动画。
是否是用户触发的动作
five 设置了以下状态
- mode: Mode
- panoIndex: number
- longitude: number
- latitude: number
- fov: number
- offset: THREE.Vector3
可以通过 five.state 和 five.setState 来获取和设置。
通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
来迎合一些通过数据驱动的场景。
移动相机。(不触发点位移动)
相机目标位置
动画触发的时常
是否用户触发
Promise 是否移动成功
如果动画中途被打断(用户触发行为,或者调用 setState, load, changeMode)的等 会 Promise.reject。运动完成则 Promise.resolve
通过帧动画移动相机。(不触发点位移动)
动画帧
动画触发的时常
是否用户触发
Promise 是否移动成功
如果动画中途被打断(用户触发行为,或者调用 setState, load, changeMode)的等 会 Promise.reject。运动完成则 Promise.resolve
等待事件
预设的监听事件名称
事件类型
触发事件的数据
如视 VR Web展示器
Example