1.0.4 • Published 5 months ago

yoke-api v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

快速使用

使用方式一:NPM方式使用

下载

npm i yoke-api

引入

import Dimo from 'yoke-api'

使用方式二:压缩文件引入

获取压缩的SDK文件

引入

import Dimo from "./my-lib.mjs";

使用

使用

<iframe id="dimo" src="http://192.168.14.10/fengxianyiqi/render-engine/ue/inner"></iframe>
const Instance=new Dimo(DOMID,[autoSetRes],[checkMessage]) 

例子

const Instance=new Dimo('dimo')

参数

属性是否必须类型默认值描述
DOMIDStringiframe的id
autoSetResBooleanfalseUE是否随着页面大小改变自适应改变分辨率
checkMessageBooleanfalse向UE发送的信息是否在控制台打印

监听UE返回的消息

Instance.onlisten(e=>{})

虚拟物体类名列表

类名类名值类名类名值类名类名值
图文标签ImageDisplay点击盒ClickBox迁徙线1TransferLine(Niagara)
线条CustomLine光环特效TheOneRing迁徙线2TransferLine(SplineMesh)
3D虚拟物体GLTFLoader视频标签UltraVideoTag飞线TransferLine(CustomLine)
电子围栏PolygonArea预设版视频标签native_videolabel地面覆盖图ImageFlat
3D骨骼动画物体skeletal_anim高山热力图HeatMapNew视角投影ProjectArea
多边形围栏RegularPoly预设标签IconPreset广告牌ImageBillboard

虚拟物体相关的方法

以下不是必须的参数如果不写都会自动加上默认值


创建一个虚拟物体

Instance.Create(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString创建的虚拟物体ID
classString创建的虚拟物体的类型(可在虚拟物体类名列表查看具体值)
nameString默认和id的值相同创建的虚拟物体的name
tagsArray[]创建的虚拟物体的tags,用于批量操作控制
xNumber|String0创建的虚拟物体处于UE的位置x坐标
yNumber|String0创建的虚拟物体处于UE的位置y坐标
zNumber|String200创建的虚拟物体处于UE的位置z坐标(高度)
rollNumber|String0创建的虚拟物体的旋转roll值
pitchNumber|String0创建的虚拟物体的旋转pitch值
yawNumber|String0创建的虚拟物体的旋转yaw值
sizeNumber|String1创建的虚拟物体的缩放大小
classPropObject虚拟物体类型的属性值(可在虚拟物体类名对应的类属性列表查看具体值)
CallBackfunction回调

删除一个虚拟物体

Instance.Destroy(id,CallBack)

参数

属性是否必须类型默认值描述
idString创建的虚拟物体ID
CallBackfunction回调

将虚拟物体附属到另一个虚拟物体下

说明:(附属关系下子节点会随父节点移动、显示、隐藏等)

Instance.AttachTo(parent,child,CallBack)

参数

属性是否必须类型默认值描述
parentString被附属物体的 id(父节点)
childString附属物体的 id(子节点)
CallBackfunction回调

移除物体之间的附属关系

Instance.DetachFrom(parent,child,CallBack)

参数

属性是否必须类型默认值描述
parentString被附属物体的 id(父节点)
childString附属物体的 id(子节点)
CallBackfunction回调

获取附属物体的 ID

Instance.GetAttachedObjectID(parent,CallBack)

参数

属性是否必须类型默认值描述
parentString附属物体的 id(父节点)
CallBackfunction回调

获取一个虚拟物体的所有信息

Instance.GetProp(id,CallBack)

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
CallBackfunction回调

移动虚拟物体(位置、旋转、缩放)

Instance.SetTransform(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
xNumber0虚拟物体的x坐标
yNumber0虚拟物体的y坐标
zNumber200虚拟物体的z坐标
rollNumber0虚拟物体旋转roll值
pitchNumber0虚拟物体旋转pitch值
yawNumber0虚拟物体旋转yaw值
sizeNumber1创建的虚拟物体的缩放大小
timeNumber2设置移动时间,让物体在固定时间内移动到指定位置,单位为秒。
followBooleanfalse移动时虚拟物体的方向是否跟随移动的朝向方向进行旋转
rotateOffsetNumber0物体移动时相对朝向的偏移角度,即物体朝向移动方向,只有当 rotate_follow 的值为 true 才有意义。
CallBackfunction回调

设置虚拟物体的显示

Instance.Show(id,CallBack)

参数

属性是否必须类型默认值描述
idString|Array虚拟物体的 ID。设置多个虚拟物体时可传入数组
CallBackfunction回调

批量设置一类虚拟物体的显示

Instance.showOfClass(className,tags,CallBack)

参数

属性是否必须类型默认值描述
classNameString虚拟物体的类名
tagsArray[]当前虚拟物体类的tags,用于筛选当前类的虚拟物体(当前类的tag中包含此tags就会被显示)
CallBackfunction回调

设置虚拟物体的隐藏

Instance.Hide(id,CallBack)

参数

属性是否必须类型默认值描述
idString|Array虚拟物体的 ID。设置多个虚拟物体时可传入数组
CallBackfunction回调

批量设置一类虚拟物体的隐藏

Instance.hideOfClass(className,tags,CallBack)

参数

属性是否必须类型默认值描述
classNameString虚拟物体的类名
tagsArray[]当前虚拟物体类的tags,用于筛选当前类的虚拟物体(当前类的tag中包含此tags就会被显示)
CallBackfunction回调

设置一个图层上所有虚拟物体的显示/隐藏

Instance.SetVisibilityOfLayer(status,layer,CallBack)

参数

属性是否必须类型默认值描述
statusBooleanfalsetrue/false。显示/隐藏图层上所有虚拟物体
layerStringdefault虚拟物体的图层
CallBackfunction回调

设置一个虚拟物体的类属性

Instance.SetClassProp(id,params,CallBack)

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
paramsObject虚拟物体的类属性信息(可在虚拟物体类名对应的类属性列表查看具体值)
CallBackfunction回调

批量设置一类虚拟物体的类属性

Instance.SetClassPropOfClass(className,tags,class_prop,CallBack)

参数

属性是否必须类型默认值描述
classNameString虚拟物体的类名
tagsArray[]当前虚拟物体类的tags,用于筛选当前类的虚拟物体(当前类的tag中包含此tags就会被显示)
classPropObject虚拟物体类型的属性值(可在虚拟物体类型属性值查看具体值)
CallBackfunction回调

设置虚拟物体开始从数据中台进行数据更新(例如:热力图、无人机轨迹)

Instance.StartAutoUpdate(id,CallBack)

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
CallBackfunction回调

设置虚拟物体停止从数据中台进行数据更新(例如:热力图、无人机轨迹)

Instance.StopAutoUpdate(id,CallBack)

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
CallBackfunction回调

视角聚焦到指定虚拟物体

Instance.FocusOn(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString虚拟物体的 ID
rollNumber0视角聚焦的roll值
pitchNumber-45视角聚焦的pitch值
yawNumber0视角聚焦的yaw值
distanceNumber1000距离视角点中心的距离
fovNumber90视角点的视场角范围
lockBooleanfalse视角是否锁定为始终跟随物体
CallBackfunction回调

获取所有虚拟物体的 ID 列表

Instance.GetAllObjectID(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

设置UE相关的方法

设置渲染端的分辨率

Instance.SetRes(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
w/widthNumber1920分辨率,横像素数
h/heightNumber1080分辨率,纵像素数
CallBackfunction回调

建筑相关的方法

把视角移动到建筑物

Instance.View(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idstring建筑物的ID
xnumber0视角聚焦的x坐标
ynumber0视角聚焦的y坐标
znumber0视角聚焦的z坐标
rollnumber0视角聚焦的roll值
pitchnumber-45视角聚焦的pitch值
yawnumber0视角聚焦的yaw值
distancenumber1000视角聚焦的距离
fovnumber90视角范围
CallBackfunction回调

建筑进入分层展开状态

Instance.Layering(id,CallBack)

参数

属性是否必须类型默认值描述
idstring建筑物的ID
CallBackfunction回调

建筑某一楼层分层抽出

Instance.Pull(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idstring建筑物的ID
floornumber第几层
resetBoolean是否把其他楼层缩回去
CallBackfunction回调

建筑某一楼层分层推回初始状态

Instance.Push(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idstring建筑物的ID
floornumber第几层
CallBackfunction回调

建筑楼层都推回初始状态

Instance.PushAll(id,CallBack)

参数

属性是否必须类型默认值描述
idstring建筑物的ID
CallBackfunction回调

建筑物退出分层状态,回到常规状态

Instance.BackToNormal(id,CallBack)

参数

属性是否必须类型默认值描述
idstring建筑物的ID
CallBackfunction回调

设置分层建筑物是否能被点击触发

Instance.SetEnableClick(status,CallBack)

参数

属性是否必须类型默认值描述
statusBoolean当为 True 时,点击建筑物会触发交互逻辑。当为 False 时,点击建筑物不会有反应
CallBackfunction回调

相机设置的相关方法

设置自动曝光

Instance.AutoExposure(status,CallBack)

参数

属性是否必须类型默认值描述
statusBooleantrue是否开启自动曝光功能
CallBackfunction回调

设置是否开启相机室内模型碰撞检测

Instance.AutoExposure(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
cameraBooleanfalse是否开启自动曝光功能
pawnBooleanfalse
CallBackfunction回调

获取边界参数

Instance.GetBoundary(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

获取当前视角的参数

Instance.GetCamera(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

获取鼠标所指向表面的坐标

Instance.GetLocation(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

控制视角移动到某个位置

Instance.MovePawn(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
xNumber0视角位置x坐标
yNumber0视角位置y坐标
zNumber200视角位置z坐标
rollNumber0视角朝向roll值
pitchNumber-45视角朝向pitch值
yawNumber0视角朝向yaw值
distanceNumber1000距离视角点中心的距离
fovNumber90相机视场角
interpolationBooleantrue是否平滑到达
speedNumber1视角移动速度
CallBackfunction回调

设置是否启用电影相机模式

Instance.PhotoMode(status,CallBack)

参数

属性是否必须类型默认值描述
statusBooleantrue是否启用电影相机
CallBackfunction回调

设置相机的光圈

Instance.SetAperture(value,CallBack)

参数

属性是否必须类型默认值描述
valueFloattrue光圈的大小,单位是 f-stop,和真实相机参数一样
CallBackfunction回调

设置可移动的边界参数

Instance.SetBoundary(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
minXNumber-40000边界x坐标最小值
minYNumber-40000边界y坐标最小值
minZNumber0边界z坐标最小值
maxXNumber40000边界x坐标最大值
maxYNumber40000边界y坐标最大值
maxZNumber1000边界z坐标最大值
zoomNumber100000缩放最大值
CallBackfunction回调

设置曝光补偿值

Instance.SetExposureCompensation(value,CallBack)

参数

属性是否必须类型默认值描述
valueFloattrue曝光补偿,数值越大画面越亮,数值越小画面越暗,可以是负数。
CallBackfunction回调

设置Pawn模型显示/隐藏

Instance.ShowPawn(status,CallBack)

参数

属性是否必须类型默认值描述
statusBooleantruePawn 模型是否可见
CallBackfunction回调

高亮物体相关的方法

改变高亮物体的颜色

Instance.Imperio(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString虚拟物体ID
rFloat0.0Red 红色的色彩通道百分比
gFloat1.0Green 绿色的色彩通道百分比
bFloat1.0Blue 蓝色的色彩通道百分比
aFloat1.0Alpha 的透明度通道百分比
intensityFloat1.0高亮物体的发光强度
CallBackfunction回调

获取所有可高亮物体的ID

Instance.Legilimens(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

让指定物体高亮显示

Instance.Legilimens(id,CallBack)

参数

属性是否必须类型默认值描述
idString需要高亮显示的可高亮物体的 ID
CallBackfunction回调

让所有物体高亮显示

Instance.LumosMaxima(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

熄灭高亮物体

Instance.Nox(id,CallBack)

参数

属性是否必须类型默认值描述
idString需要熄灭的高亮物体 ID
CallBackfunction回调

投影点相关的方法

设置投影开关

Instance.Control(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
uuidString投影机 ID
openVideoBooleantrue是否开启视频
showAreaBooleanfalse是否需要显示覆盖区域
CallBackfunction回调

开启投影视频

Instance.OpenVideos(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
uuidsArray(string)需要开启视频的投影机 ID 列表
close_othersBooleantrue是否关闭其他全部的视频投影
CallBackfunction回调

关闭投影视频

Instance.CloseVideos(uuids,CallBack)

参数

属性是否必须类型默认值描述
uuidsArray(string)需要关闭视频的投影机 ID 列表
CallBackfunction回调

获取所有投影点的 ID 列表

Instance.GetAllProjectorID(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

视角点相关的方法

创建一个新的视角点

Instance.CreateViewPonit(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString视角点 ID
nameString和ID相同视角点名称
coordtypeStringUE4坐标类型
cadmapkeyString
xNumber0视角x坐标值
yNumber0视角y坐标值
zNumber0视角z坐标值
rollNumber0视角roll坐标值
pitchNumber-45视角pitch坐标值
yawNumber60视角yaw坐标值
fovNumber90视角点的视场角范围
distanceNumber5000距离视角点中心的距离
projectoridsArray(string)[]视角点需要开启的投影机 ID 列表
CallBackfunction回调

销毁一个现有视角点

Instance.DestroyViewPoint(viewpointid,CallBack)

参数

属性是否必须类型默认值描述
viewpointidString视角点 ID
CallBackfunction回调

飞行到视角点位置并打开对应的投影机

Instance.FlyTo(viewpointid,CallBack)

参数

属性是否必须类型默认值描述
viewpointidString视角点 ID。为空时回到自由视角
CallBackfunction回调

将当前视口围绕Viewpoint中心进行旋转

Instance.Rotate(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
angleNumber10每秒旋转角度
continuousBooleanfalse是否持续旋转
directionBooleanfalsetrue顺时针 false逆时针
CallBackfunction回调

将当前视口进行上下左右前后平移(相机坐标系)

Instance.Translate(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值可选值描述
directionNumberFore" Fore ",向前;" Back ",向后;" Right ",向右;" Left ",向左;" Up ",向上;" Down ",向下选择平移方向
distanceBoolean100平移距离
CallBackfunction回调

创建一个新的视角点序列(简略版

Instance.CreateSequenceByViewPoint(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString视角点序列 ID
nameString视角点序列名称
viewpointidsArray(string)[]视角点序列中的视角点顺序列表
CallBackfunction回调

创建一个新的视角点序列(详细版)

Instance.CreateSequenceBykeyframes(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
idString视角点序列 ID
nameString视角点序列名称
keyframesObject详细参数见下方示例
CallBackfunction回调
"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)

参数

属性是否必须类型默认值描述
idString视角点序列 ID
CallBackfunction回调

根据预设好的视角点序列,依次切换视角

Instance.Sequence(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值可选值描述
idString视角点序列 ID
actionStringStart" Start "/" Stop "/" Pause "/" Continue "应用于视角点序列的动作
CallBackfunction回调

根据预设好的可编辑视角点序列,依次切换视角

说明:TravelerSequence 只能通过场景构建工具创建,无法通过接口创建。我们也建议您的视角点、巡航序列、虚拟物体等均通过场景构建工具制作并保存,接口仅控制启用或关闭

Instance.TravelerSequence(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值可选值描述
idString视角点序列 ID
actionStringStart" Start "/" Stop "应用于视角点序列的动作
CallBackfunction回调

播放一个的相机行进轨迹

说明:Route 只能通过场景构建工具创建,无法通过接口创建。我们也建议您的视角点、巡航序列、虚拟物体等均通过场景构建工具制作并保存,接口仅控制启用或关闭

Instance.Route(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值可选值描述
idString相机轨迹 ID
actionStringPlay" Play "/" Stop "/" Pause "应用于相机轨迹的动作
CallBackfunction回调

获取所有视角点的 ID 列表

Instance.GetAllViewpointID(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

获取所有视角点序列的 ID 列表

Instance.GetAllSequenceID(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

设置视觉风格相关的方法

启动画面滤镜特效

Instance.ActivateFilter(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值可选值描述
onBooleantrue是否开启滤镜
styleStringDarkBlue" DarkBlue "/" WhiteMesh "/" Outline "/" LUTBlue "/" LUTYellow "DarkBlue ,暗蓝滤镜;WhiteMesh ,白色滤镜;Outline ,轮廓线滤镜。LUTBlue ,蓝色滤镜。LUTYellow ,黄色滤镜。
CallBackfunction回调

设置材质参数中的标量参数

说明:例如控制材质颜色饱和度,变成白模等功能

Instance.SetScalarParameter(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
nameStringWhiteMeshLerp标量参数的名称
valueFloat1.0标量参数的值
CallBackfunction回调

设置材质参数中的矢量参数。例如控制材质颜色,方向等功能

Instance.SetVectorParameter(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
nameStringBoxLocation矢量参数的名称
xNumber0.0矢量参数的x值
yNumber0.0矢量参数的y值
zFloat0.0矢量参数的z值
CallBackfunction

设置天气相关的方法

设置场景中的虚拟天气状态为预设好的天气

Instance.ApplyPreset(preset,CallBack)

参数

属性是否必须类型默认值可选值描述
presetStringClearSkies" ClearSkies "晴天" PartlyCloudy "晴天多云" Cloudy "阴天" Overcast "阴天" Foggy "雾天" LightRain "小雨" Rain "雨天"ThunderStorm"雷雨" Sleet "雨夹雪" LightSnow "小雪" Snow "雪天" Blizzard "暴风雪天气预设,共有 12 种天气预设可供选择
CallBackfunction回调

设置场景中的虚拟天气状态

说明:例如控制材质颜色饱和度,变成白模等功能

Instance.SetProp(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
weatherprogressNumber0.0控制云层覆盖量,0.0 表示没有云,数值越大云量越多。当云覆盖量到达一定程度时会下雨(雪),云量越多降雨(雪)量越大。注:本参数可以控制降雨量或降雪量,但具体是降雨还是降雪由季节参数( season_progress )控制。
seasonprogressNumber0.0控制下雪或者下雨,0.0 只下雨;1.0 只下雪;0.0 到 1.0 范围内为不同比例的雨夹雪。注:本参数控制降雨和降雪的比例,而是否有降雨/雪由云层覆盖量参数( weather_progress )控制。
timeNumber14天气对应的时间,24 小时制。
CallBackfunction回调

开始天气实时更新

Instance.StartUpdate(CallBack)

参数

属性是否必须类型默认值描述
CallBackfunction回调

结束天气实时更新

Instance.StopUpdate(CallBack)

参数

属性是否必须类型默认值可选值描述
CallBackfunction回调

设置天空模式

说明:可以选择写实天空模式,模拟真实物理大气效果;也可以选择非写实天空模式,使用 HDRI 贴图来模拟各种风格的光照。

Instance.SetSkyMode(mode,CallBack)

参数

属性是否必须类型默认值可选值描述
modeStringRealisticRealistic 写实天空模式,模拟真实物理大气,根据不同天气和时间,来模拟大气散射的光照NonRealistic 非写实天空模式,使用 HDRI 贴图来模拟环境光照选择天空模式
CallBackfunction回调

设置天空光的贴图

说明:设置天空光的贴图,来实现一些风格化的光照效果。需要使用 SetSkyMode 接口把天空模式设置为 NonRealistic 后,才能设置天空光贴图。可以切换成暗调的风格化。

Instance.SetSkyLightTexture(options,CallBack)

说明:options为配置项,具体见下表。

参数

属性是否必须类型默认值描述
cubemapStringSunset预设 HDRI 贴图的名称
angleFloat180.0环境光贴图的方向
intensityFloat10000光照强度
rFloat1.0光照染色r
gFloat1.0光照染色g
bFloat1.0光照染色b
aFloat1.0光照染色a
CallBackfunction回调

设置场景中的时间

Instance.SetTime(time,CallBack)

参数

属性是否必须类型默认值描述
timeFloat12.5天气对应的时间,24 小时制。例:14.5 为 2:30 pm
CallBackfunction回调

关于CallBack回调信息描述

statusmessage描述
0OK正确执行完成
-1000Json parse error.JSON 解析错误
-1001Compulsory json key not found.JSON 缺少必填字段

其他用法

链式调用

示例:隐藏id分别为a和b的虚拟物体,然后显示id为c的虚拟物体

Instance.Hide('a').Hide('b').Show('c')

查看是否有控制权

Instance.checkControl((status,msg)=>{
console.log(status,msg)
})

回调返回

属性描述
status是否有控制权,true有,false无
msg控制权具体信息。例如:有几人在线,当前控制权所属ip

虚拟物体类名对应的类属性列表

说明:列表可在以下链接中查看

https://alidocs.dingtalk.com/i/p/3ZxX8RrPx7216G7d/docs/2Amq4vjg89glYB59fbRygkeyV3kdP0wQ?dontjump=true&utm_medium=dingdoc_doc_plugin_url&utm_source=dingdoc_doc

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago