yoke-api
v1.1.19
Published
yoke
Downloads
36
Readme
快速使用
使用方式:NPM
下载
npm i yoke-api
引入
import Dimo from 'yoke-api'
使用
使用 ProjectIP:数据中台地址(例如下面的:http://192.168.14.11) URL:http://192.168.14.11/test999/data-center/scene/applyForCases?token=Aqh12juG会返回一个URL
<div id='dimo'></div>
const Instance=new Dimo({dom:'dimo',url:ProjectIP + URL})
参数
| 属性 | 是否必须 | 类型 | 描述 | | ---- | -------- | ------ | ---------------- | | dom | 是 | String | dom的ID | | url | 是 | String | 数据中台+场景发布后请求返回的URL |
监听UE返回的消息
Instance.onListen(e=>{console.log(e)})
关闭监听UE返回的消息
Instance.offListen()
虚拟物体类名列表
| 类名 | 类名值 | 类名 | 类名值 | 类名 | 类名值 | | -------------- | ------------- | -------------- | ----------------- | ---------- | ------------------------ | | 图文标签 | ImageDisplay | 点击盒 | ClickBox | 迁徙线1 | TransferLine(Niagara) | | 线条 | CustomLine | 光环特效 | TheOneRing | 迁徙线2 | TransferLine(SplineMesh) | | 3D虚拟物体 | GLTFLoader | 视频标签 | UltraVideoTag | 飞线 | TransferLine(CustomLine) | | 电子围栏 | PolygonArea | 预设版视频标签 | native_videolabel | 地面覆盖图 | ImageFlat | | 3D骨骼动画物体 | skeletal_anim | 高山热力图 | HeatMapNew | 视角投影 | ProjectArea | | 多边形围栏 | RegularPoly | 预设标签 | IconPreset | 广告牌 | ImageBillboard |
虚拟物体相关的方法
以下不是必须的参数如果不写都会自动加上默认值
创建一个虚拟物体
Instance.Spawn(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------------- | ---------------- | ------------------------------------------------------------ | | id | 是 | String | | 创建的虚拟物体ID | | class | 是 | String | | 创建的虚拟物体的类型(可在虚拟物体类名列表查看具体值) | | name | 否 | String | 默认和id的值相同 | 创建的虚拟物体的name | | tags | 否 | Array | [] | 创建的虚拟物体的tags,用于批量操作控制 | | x | 否 | Number|String | 0 | 创建的虚拟物体处于UE的位置x坐标 | | y | 否 | Number|String | 0 | 创建的虚拟物体处于UE的位置y坐标 | | z | 否 | Number|String | 200 | 创建的虚拟物体处于UE的位置z坐标(高度) | | roll | 否 | Number|String | 0 | 创建的虚拟物体的旋转roll值 | | pitch | 否 | Number|String | 0 | 创建的虚拟物体的旋转pitch值 | | yaw | 否 | Number|String | 0 | 创建的虚拟物体的旋转yaw值 | | size | 否 | Number|String | 1 | 创建的虚拟物体的缩放大小 | | classProp | 是 | Object | | 虚拟物体类型的属性值(可在虚拟物体类名对应的类属性列表查看具体值) | | CallBack | 否 | function | | 回调 |
删除一个虚拟物体
Instance.Destroy(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---------------- | | id | 是 | String | | 创建的虚拟物体ID | | CallBack | 否 | function | | 回调 |
将虚拟物体附属到另一个虚拟物体下
说明:(附属关系下子节点会随父节点移动、显示、隐藏等)
Instance.AttachTo(parent,child,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------------------- | | parent | 是 | String | | 被附属物体的 id(父节点) | | child | 是 | String | | 附属物体的 id(子节点) | | CallBack | 否 | function | | 回调 |
移除物体之间的附属关系
Instance.DetachFrom(parent,child,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------------------- | | parent | 是 | String | | 被附属物体的 id(父节点) | | child | 是 | String | | 附属物体的 id(子节点) | | CallBack | 否 | function | | 回调 |
获取附属物体的 ID
Instance.GetAttachedObjectID(parent,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ----------------------- | | parent | 是 | String | | 附属物体的 id(父节点) | | CallBack | 否 | function | | 回调 |
获取一个虚拟物体的所有信息
Instance.GetProp(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------- | | id | 是 | String | | 虚拟物体的 ID | | CallBack | 否 | function | | 回调 |
移动虚拟物体(位置、旋转、缩放)
Instance.SetTransform(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ------------ | -------- | -------- | ------ | ------------------------------------------------------------ | | id | 是 | String | | 虚拟物体的 ID | | x | 否 | Number | 0 | 虚拟物体的x坐标 | | y | 否 | Number | 0 | 虚拟物体的y坐标 | | z | 否 | Number | 200 | 虚拟物体的z坐标 | | roll | 否 | Number | 0 | 虚拟物体旋转roll值 | | pitch | 否 | Number | 0 | 虚拟物体旋转pitch值 | | yaw | 否 | Number | 0 | 虚拟物体旋转yaw值 | | size | 否 | Number | 1 | 创建的虚拟物体的缩放大小 | | time | 否 | Number | 2 | 设置移动时间,让物体在固定时间内移动到指定位置,单位为秒。 | | follow | 否 | Boolean | false | 移动时虚拟物体的方向是否跟随移动的朝向方向进行旋转 | | rotateOffset | 否 | Number | 0 | 物体移动时相对朝向的偏移角度,即物体朝向移动方向,只有当 rotate_follow 的值为 true 才有意义。 | | CallBack | 否 | function | | 回调 |
设置虚拟物体的显示/隐藏
Instance.SetVisibility(id,state,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | ------------- | ------ | ------------------------------------------- | | id | 是 | String|Array | | 虚拟物体的 ID。设置多个虚拟物体时可传入数组 | | state | 是 | Boolean | | 虚拟物体显示或隐藏 | | CallBack | 否 | function | | 回调 |
批量设置一类虚拟物体的显示
Instance.SetVisibilityOfClass(className,tags,state,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ----------- | -------- | -------- | ------ | ------------------------------------------------------------ | | className | 是 | String | | 虚拟物体的类名 | | tags | 是 | Array | [] | 当前虚拟物体类的tags,用于筛选当前类的虚拟物体(当前类的tag中包含此tags就会被显示) | | state | 是 | Boolean | | 虚拟物体显示或隐藏 | | CallBack | 否 | function | | 回调 |
设置一个图层上所有虚拟物体的显示/隐藏
Instance.SetVisibilityOfLayer(status,layer,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------- | --------------------------------------- | | status | 否 | Boolean | false | true/false。显示/隐藏图层上所有虚拟物体 | | layer | 否 | String | default | 虚拟物体的图层 | | CallBack | 否 | function | | 回调 |
设置一个虚拟物体的类属性
Instance.SetClassProp(id,classProp,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------------------------------------------------------ | | id | 是 | String | | 虚拟物体的 ID | | classProp | 是 | Object | | 虚拟物体的类属性信息(可在虚拟物体类名对应的类属性列表查看具体值) | | CallBack | 否 | function | | 回调 |
批量设置一类虚拟物体的类属性
Instance.SetClassPropOfClass(className,tags,class_prop,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ----------- | -------- | -------- | ------ | ------------------------------------------------------------ | | className | 是 | String | | 虚拟物体的类名 | | tags | 是 | Array | [] | 当前虚拟物体类的tags,用于筛选当前类的虚拟物体(当前类的tag中包含此tags就会被显示) | | classProp | 是 | Object | | 虚拟物体类型的属性值(可在虚拟物体类型属性值查看具体值) | | CallBack | 否 | function | | 回调 |
设置虚拟物体开始从数据中台进行数据更新(例如:热力图、无人机轨迹)
Instance.StartAutoUpdate(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------- | | id | 是 | String | | 虚拟物体的 ID | | CallBack | 否 | function | | 回调 |
设置虚拟物体停止从数据中台进行数据更新(例如:热力图、无人机轨迹)
Instance.StopAutoUpdate(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------- | | id | 是 | String | | 虚拟物体的 ID | | CallBack | 否 | function | | 回调 |
视角聚焦到指定虚拟物体
Instance.FocusOn(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | -------------------------- | | id | 是 | String | | 虚拟物体的 ID | | roll | 否 | Number | 0 | 视角聚焦的roll值 | | pitch | 否 | Number | -45 | 视角聚焦的pitch值 | | yaw | 否 | Number | 0 | 视角聚焦的yaw值 | | distance | 否 | Number | 1000 | 距离视角点中心的距离 | | fov | 否 | Number | 90 | 视角点的视场角范围 | | lock | 否 | Boolean | false | 视角是否锁定为始终跟随物体 | | CallBack | 否 | function | | 回调 |
获取所有虚拟物体的 ID 列表
Instance.GetAllObjectID(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
获取挂在物体的 ID 列表
Instance.GetAttachedObjectID(parent,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | parent | 是 | String | | 挂在物体的父级 | | CallBack | 否 | function | | 回调 |
设置UE相关的方法
设置渲染端的分辨率
Instance.SetRes(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---------------- | | w/width | 否 | Number | 1920 | 分辨率,横像素数 | | h/height | 否 | Number | 1080 | 分辨率,纵像素数 | | CallBack | 否 | function | | 回调 |
新版建筑相关的方法
把相机移动到建筑物的接口
Instance.View(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | x | 否 | Number | 0 | 默认以建筑物中心点为目标。这个参数是以建筑物中心点的基础上偏移量。| | y | 否 | Number | 0 | 默认以建筑物中心点为目标。这个参数是以建筑物中心点的基础上偏移量。| | z | 否 | Number | 200 | 默认以建筑物中心点为目标。这个参数是以建筑物中心点的基础上偏移量。| | roll | 否 | Number | 0 | 视角聚焦的roll值 | | pitch | 否 | Number | -45 | 视角聚焦的pitch值 | | yaw | 否 | Number | 0 | 视角聚焦的yaw值 | | distance | 否 | Number | 1000 | 相机离建筑物的距离 | | fov | 否 | Number | 90 | 相机的视场角,度数 | | CallBack | 否 | function | | 回调 |
建筑进入分层展开状态
Instance.Layering(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | CallBack | 否 | function | | 回调 |
把某一楼层抽出
Instance.Pull(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | floor | 否 | Number | 1 | 第几层 | | reset_others | 否 | Number | true | 是否把其他楼层缩回去 | | CallBack | 否 | function | | 回调 |
把某一楼层推回初始状态
Instance.Push(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | floor | 否 | Number | 1 | 第几层 | | CallBack | 否 | function | | 回调 |
把所有楼层都推回初始状态
Instance.PushAll(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | CallBack | 否 | function | | 回调 |
建筑物退出分层状态,把楼合上,回到常规状态。
Instance.BackToNormal(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | id | 是 | String | | 建筑物物的 ID | | CallBack | 否 | function | | 回调 |
设置建筑物是否能被点击触发 SMBD 的交互操作
Instance.SetEnableClick(state,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | state | 是 | Boolean | | 建筑物物的 ID | | CallBack | 否 | function | | 回调 |
建筑相关的方法
获取所有可分层建筑的ID列表
Instance.GetAllBuildingID(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
获取该建筑的默认预设视角的参数
Instance.GetDefaultCamera(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | -------------------------------------------- | | id | 是 | String | | 建筑物的 ID ,根据具体项目提前约定 ID 对照表 | | CallBack | 否 | function | | 回调 |
加载或卸载某一个场景
Instance.Room(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | -------------------------------------------- | | id | 是 | String | | 需要加载卸载的场景 ID | | load | 否 | Boolean | true | 是否加载场景。是,加载该场景;否,卸载该场景 | | CallBack | 否 | function | | 回调 |
控制某一建筑分层显示
Instance.Split(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | --------------------------------- | | id | 是 | String | | 需要加载卸载的场景 ID | | floor | 否 | Number | 0 | 显示的分层楼层 ID,0 表示取消分层 | | animation | 否 | Number | 0 | 是否显示动画 | | CallBack | 否 | function | | 回调 |
建筑分层显示并将视角移至建筑
Instance.SplitAndView(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | ------------------------------------------------------------ | | id | 是 | String | | 需要加载卸载的场景 ID | | floor | 否 | Number | 0 | 显示的分层楼层 ID,0 表示取消分层 | | animation | 否 | Number | 0 | 是否显示动画 | | follow | 否 | Boolean | true | 相机是否移至目标楼层。true 则相机移动到当前楼层的视角。false 则相机移动到当前建筑的视角,视角不随楼层而改变 | | override | 否 | Boolean | false | 是否覆写相机参数。true 则使用 api 输入的 camera 参数。false 则使用预设的视角点。 | | roll | 否 | Number | 0 | 视角的roll值 | | pitch | 否 | Number | -45 | 视角的pitch值 | | yaw | 否 | Number | 0 | 视角的yaw值 | | distance | 否 | Number | 1000 | 距离视角点中心的距离 | | fov | 否 | Number | 90 | 视角点的视场角范围 | | CallBack | 否 | function | | 回调 |
相机设置的相关方法
设置是否开启相机室内模型碰撞检测
Instance.EnableAutoExposure(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | -------------------- | | camera | 否 | Boolean | false | 是否开启自动曝光功能 | | pawn | 否 | Boolean | false | | | CallBack | 否 | function | | 回调 |
获取当前视角的参数
Instance.GetCamera(CallBack) 使用:获取视角参数保存写在前端项目里面,然后调用movepawn把视角参数传入后,视角就会飞到getacmera相同的视角。
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
获取鼠标所指向表面的坐标
Instance.GetLocation(CallBack) 使用:获取的是鼠标指针在场景中的位置(所以一般绑定到键盘事件),鼠标移动到获取的位置使用键盘获取位置。
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
控制视角移动到某个位置
Instance.MovePawn(options,CallBack)
参数 至少给一个参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ------------- | -------- | -------- | ------ | -------------------- | | x | 否 | Number | 0 | 视角位置x坐标 | | y | 否 | Number | 0 | 视角位置y坐标 | | z | 否 | Number | 200 | 视角位置z坐标 | | roll | 否 | Number | 0 | 视角朝向roll值 | | pitch | 否 | Number | -45 | 视角朝向pitch值 | | yaw | 否 | Number | 0 | 视角朝向yaw值 | | distance | 否 | Number | 1000 | 距离视角点中心的距离 | | fov | 否 | Number | 90 | 相机视场角 | | interpolation | 否 | Boolean | true | 是否平滑到达 | | speed | 否 | Number | 1 | 视角移动速度 | | CallBack | 否 | function | | 回调 |
设置是否启用电影相机模式
Instance.PhotoMode(status,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---------------- | | status | 是 | Boolean | true | 是否启用电影相机 | | CallBack | 否 | function | | 回调 |
设置相机的光圈
Instance.SetAperture(value,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | --------------------------------------------- | | value | 是 | Float | true | 光圈的大小,单位是 f-stop,和真实相机参数一样 | | CallBack | 否 | function | | 回调 |
设置可移动的边界参数
Instance.SetBoundary(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | --------------- | | minX | 否 | Number | -40000 | 边界x坐标最小值 | | minY | 否 | Number | -40000 | 边界y坐标最小值 | | minZ | 否 | Number | 0 | 边界z坐标最小值 | | maxX | 否 | Number | 40000 | 边界x坐标最大值 | | maxY | 否 | Number | 40000 | 边界y坐标最大值 | | maxZ | 否 | Number | 1000 | 边界z坐标最大值 | | zoom | 否 | Number | 100000 | 缩放最大值 | | CallBack | 否 | function | | 回调 |
设置曝光补偿值
Instance.SetExposureCompensation(value,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---------------------------------------------------------- | | value | 是 | Float | true | 曝光补偿,数值越大画面越亮,数值越小画面越暗,可以是负数。 | | CallBack | 否 | function | | 回调 |
设置Pawn模型显示/隐藏
Instance.ShowPawn(status,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ----------------- | | status | 是 | Boolean | true | Pawn 模型是否可见 | | CallBack | 否 | function | | 回调 |
高亮物体相关的方法
改变高亮物体的颜色
Instance.Imperio(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | -------------------------- | | id | 是 | String | | 虚拟物体ID | | r | 否 | Float | 0.0 | Red 红色的色彩通道百分比 | | g | 否 | Float | 1.0 | Green 绿色的色彩通道百分比 | | b | 否 | Float | 1.0 | Blue 蓝色的色彩通道百分比 | | a | 否 | Float | 1.0 | Alpha 的透明度通道百分比 | | intensity | 否 | Float | 1.0 | 高亮物体的发光强度 | | CallBack | 否 | function | | 回调 |
获取所有可高亮物体的ID
Instance.Legilimens(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
让指定物体高亮显示
Instance.Lumos(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ----------------------------- | | id | 是 | String | | 需要高亮显示的可高亮物体的 ID | | CallBack | 否 | function | | 回调 |
让所有物体高亮显示
Instance.LumosMaxima(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
熄灭高亮物体
Instance.Nox(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | --------------------- | | id | 是 | String | | 需要熄灭的高亮物体 ID | | CallBack | 否 | function | | 回调 |
投影点相关的方法
设置投影开关
Instance.Control(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | -------------------- | | uuid | 是 | String | | 投影机 ID | | openVideo | 否 | Boolean | true | 是否开启视频 | | showArea | 否 | Boolean | false | 是否需要显示覆盖区域 | | CallBack | 否 | function | | 回调 |
开启投影视频
Instance.OpenVideos(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ------------ | -------- | ------------- | ------ | ---------------------------- | | uuids | 是 | Array(string) | | 需要开启视频的投影机 ID 列表 | | closeothers | 否 | Boolean | true | 是否关闭其他全部的视频投影 | | CallBack | 否 | function | | 回调 |
关闭投影视频
Instance.CloseVideos(uuids,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | ------------- | ------ | ---------------------------- | | uuids | 是 | Array(string) | | 需要关闭视频的投影机 ID 列表 | | CallBack | 否 | function | | 回调 |
获取所有投影点的 ID 列表
Instance.GetAllProjectorID(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
视角点相关的方法
创建一个新的视角点
Instance.CreateViewPonit(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ------------ | -------- | ------------- | -------- | ------------------------------ | | id | 是 | String | | 视角点 ID | | name | 否 | String | 和ID相同 | 视角点名称 | | coordtype | 否 | String | UE4 | 坐标类型 | | cadmapkey | 否 | String | | | | x | 否 | Number | 0 | 视角x坐标值 | | y | 否 | Number | 0 | 视角y坐标值 | | z | 否 | Number | 0 | 视角z坐标值 | | roll | 否 | Number | 0 | 视角roll坐标值 | | pitch | 否 | Number | -45 | 视角pitch坐标值 | | yaw | 否 | Number | 60 | 视角yaw坐标值 | | fov | 否 | Number | 90 | 视角点的视场角范围 | | distance | 否 | Number | 5000 | 距离视角点中心的距离 | | projectorids | 否 | Array(string) | [] | 视角点需要开启的投影机 ID 列表 | | CallBack | 否 | function | | 回调 |
销毁一个现有视角点
Instance.DestroyViewPoint(viewpointtd,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ----------- | -------- | -------- | ------ | --------- | | viewpointtd | 是 | String | | 视角点 ID | | CallBack | 否 | function | | 回调 |
飞行到视角点位置并打开对应的投影机
Instance.FlyTo(viewpointid,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ----------- | -------- | -------- | ------ | ----------------------------- | | viewpointid | 否 | String | | 视角点 ID。为空时回到自由视角 | | CallBack | 否 | function | | 回调 |
将当前视口围绕Viewpoint中心进行旋转
Instance.Rotate(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ---------- | -------- | -------- | ------ | ---------------------- | | angle | 否 | Number | 10 | 每秒旋转角度 | | continuous | 否 | Boolean | false | 是否持续旋转 | | direction | 否 | Boolean | false | true顺时针 false逆时针 | | CallBack | 否 | function | | 回调 |
将当前视口进行上下左右前后平移(相机坐标系)
Instance.Translate(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | --------- | -------- | -------- | ------ | ------------------------------------------------------------ | ------------ | | direction | 否 | Number | Fore | " Fore ",向前;" Back ",向后;" Right ",向右;" Left ",向左;" Up ",向上;" Down ",向下 | 选择平移方向 | | distance | 否 | Boolean | 100 | | 平移距离 | | CallBack | 否 | function | | | 回调 |
创建一个新的视角点序列(简略版)
Instance.CreateSequenceByViewPoint(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | ------------ | -------- | ------------- | ------ | ---------------------------- | | id | 是 | String | | 视角点序列 ID | | name | 否 | String | | 视角点序列名称 | | viewpointids | 否 | Array(string) | [] | 视角点序列中的视角点顺序列表 | | CallBack | 否 | function | | 回调 |
创建一个新的视角点序列(详细版)
Instance.CreateSequenceBykeyframes(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | ------------------ | | id | 是 | String | | 视角点序列 ID | | name | 否 | String | | 视角点序列名称 | | keyframes | 是 | Object | | 详细参数见下方示例 | | CallBack | 否 | function | | 回调 |
"keyframes": [
{
"viewpoint_id": "11111",
"fly_in_method": 1,
"fly_in_time": {
"phase_1": 2,
"phase_2": 2,
"phase_3": 2
},
"wait_time": 6
}
]
销毁一个现有视角点序列
Instance.DestroySequence(id,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ------------- | | id | 是 | String | | 视角点序列 ID | | CallBack | 否 | function | | 回调 |
根据预设好的视角点序列,依次切换视角
Instance.Sequence(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | ------ | ----------------------------------------- | ---------------------- | | id | 是 | String | | | 视角点序列 ID | | action | 否 | String | Start | " Start "/" Stop "/" Pause "/" Continue " | 应用于视角点序列的动作 | | CallBack | 否 | function | | | 回调 |
根据预设好的可编辑视角点序列,依次切换视角
说明:TravelerSequence 只能通过场景构建工具创建,无法通过接口创建。我们也建议您的视角点、巡航序列、虚拟物体等均通过场景构建工具制作并保存,接口仅控制启用或关闭
Instance.TravelerSequence(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | ------ | ------------------ | ---------------------- | | id | 是 | String | | | 视角点序列 ID | | action | 否 | String | Start | " Start "/" Stop " | 应用于视角点序列的动作 | | CallBack | 否 | function | | | 回调 |
播放一个的相机行进轨迹
说明:Route 只能通过场景构建工具创建,无法通过接口创建。我们也建议您的视角点、巡航序列、虚拟物体等均通过场景构建工具制作并保存,接口仅控制启用或关闭
Instance.Route(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | ------ | --------------------------- | -------------------- | | id | 是 | String | | | 相机轨迹 ID | | action | 否 | String | Play | " Play "/" Stop "/" Pause " | 应用于相机轨迹的动作 | | CallBack | 否 | function | | | 回调 |
获取所有视角点的 ID 列表
Instance.GetAllViewpointID(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
获取所有视角点序列的 ID 列表
Instance.GetAllSequenceID(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
设置视觉风格相关的方法
启动画面滤镜特效
Instance.ActivateFilter(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | on | 否 | Boolean | true | | 是否开启滤镜 | | style | 否 | String | DarkBlue | " DarkBlue "/" WhiteMesh "/" Outline "/" LUTBlue "/" LUTYellow " | DarkBlue ,暗蓝滤镜;WhiteMesh ,白色滤镜;Outline ,轮廓线滤镜。LUTBlue ,蓝色滤镜。LUTYellow ,黄色滤镜。 | | CallBack | 否 | function | | | 回调 |
设置材质参数中的标量参数
说明:例如控制材质颜色饱和度,变成白模等功能
Instance.SetScalarParameter(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------------- | -------------- | | name | 否 | String | WhiteMeshLerp | 标量参数的名称 | | value | 否 | Float | 1.0 | 标量参数的值 | | CallBack | 否 | function | | 回调 |
设置材质参数中的矢量参数。例如控制材质颜色,方向等功能
Instance.SetVectorParameter(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ----------- | -------------- | | name | 否 | String | BoxLocation | 矢量参数的名称 | | x | 否 | Number | 0.0 | 矢量参数的x值 | | y | 否 | Number | 0.0 | 矢量参数的y值 | | z | 否 | Float | 0.0 | 矢量参数的z值 | | CallBack | 否 | function | | |
设置天气相关的方法
设置场景中的虚拟天气状态为预设好的天气
Instance.ApplyPreset(preset,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | ---------- | ------------------------------------------------------------ | ------------------------------------ | | preset | 否 | String | ClearSkies | " ClearSkies "晴天" PartlyCloudy "晴天多云" Cloudy "阴天" Overcast "阴天" Foggy "雾天" LightRain "小雨" Rain "雨天"ThunderStorm"雷雨" Sleet "雨夹雪" LightSnow "小雪" Snow "雪天" Blizzard "暴风雪 | 天气预设,共有 12 种天气预设可供选择 | | CallBack | 否 | function | | | 回调 |
设置场景中的虚拟天气状态
说明:控制天气状态等功能
Instance.SetProp(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------------- | -------- | -------- | ------ | ------------------------------------------------------------ | | weatherprogress | 否 | Number | 0.0 | 控制云层覆盖量,0.0 表示没有云,数值越大云量越多。当云覆盖量到达一定程度时会下雨(雪),云量越多降雨(雪)量越大。注:本参数可以控制降雨量或降雪量,但具体是降雨还是降雪由季节参数( season_progress )控制。 | | seasonprogress | 否 | Number | 0.0 | 控制下雪或者下雨,0.0 只下雨;1.0 只下雪;0.0 到 1.0 范围内为不同比例的雨夹雪。注:本参数控制降雨和降雪的比例,而是否有降雨/雪由云层覆盖量参数( weather_progress )控制。 | | time | 否 | Number | 14 | 天气对应的时间,24 小时制。 | | CallBack | 否 | function | | 回调 |
开始天气实时更新
Instance.StartUpdate(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---- | | CallBack | 否 | function | | 回调 |
结束天气实时更新
Instance.StopUpdate(CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | ------ | ------ | ---- | | CallBack | 否 | function | | | 回调 |
设置天空模式
说明:可以选择写实天空模式,模拟真实物理大气效果;也可以选择非写实天空模式,使用 HDRI 贴图来模拟各种风格的光照。
Instance.SetSkyMode(mode,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 可选值 | 描述 | | -------- | -------- | -------- | --------- | ------------------------------------------------------------ | ------------ | | mode | 否 | String | Realistic | Realistic 写实天空模式,模拟真实物理大气,根据不同天气和时间,来模拟大气散射的光照NonRealistic 非写实天空模式,使用 HDRI 贴图来模拟环境光照 | 选择天空模式 | | CallBack | 否 | function | | | 回调 |
设置天空光的贴图
说明:设置天空光的贴图,来实现一些风格化的光照效果。需要使用 SetSkyMode 接口把天空模式设置为 NonRealistic 后,才能设置天空光贴图。可以切换成暗调的风格化。
Instance.SetSkyLightTexture(options,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | --------- | -------- | -------- | ------ | -------------------- | | cubemap | 否 | String | Sunset | 预设 HDRI 贴图的名称 | | angle | 否 | Float | 180.0 | 环境光贴图的方向 | | intensity | 否 | Float | 10000 | 光照强度 | | r | 否 | Float | 1.0 | 光照染色r | | g | 否 | Float | 1.0 | 光照染色g | | b | 否 | Float | 1.0 | 光照染色b | | a | 否 | Float | 1.0 | 光照染色a | | CallBack | 否 | function | | 回调 |
设置场景中的时间
Instance.SetTime(time,CallBack)
参数
| 属性 | 是否必须 | 类型 | 默认值 | 描述 | | -------- | -------- | -------- | ------ | ---------------------------------------------- | | time | 否 | Float | 12.5 | 天气对应的时间,24 小时制。例:14.5 为 2:30 pm | | CallBack | 否 | function | | 回调 |
定制化接口
Instance.postMessage(message,(e)=>{})
关于CallBack回调信息描述
| status | message | 描述 | | ------ | ------------------------------ | ----------------- | | 0 | OK | 正确执行完成 | | -1000 | Json parse error. | JSON 解析错误 | | -1001 | Compulsory json key not found. | JSON 缺少必填字段 |
其他用法
链式调用
示例:隐藏id分别为a和b的虚拟物体,然后显示id为c的虚拟物体
Instance.SetVisibility('a',false).SetVisibility('b',false).SetVisibility('c',true)
查看是否有控制权
Instance.checkControl((status,msg)=>{
console.log(status,msg)
})
回调返回
| 属性 | 描述 | | ------ | -------------------------------------------------- | | status | 是否有控制权,true有,false无 | | msg | 控制权具体信息。例如:有几人在线,当前控制权所属ip |
虚拟物体类名对应的类属性列表
说明:列表可在以下链接中查看