dragv-cli-service-3d

0.0.27 • Public • Published

unity3D接口记录


各类型id前缀

如果模型id是 model-uLve0o9pKn

model,//远程模型
heatingArea,//热力区
signModel,//标识
flyLine,//单条飞线
rflyLine,//辐射飞线
cflyLine,//连续飞线
routPoint,//路径点
fproutPoint,//第一人称路径点
circleZone,//圆形区域
squareZone,//长方形区域
polygonZone,//多边形区域

场景配置

方法:ChangeEnvironment(string data)

场景还可以新增preview参数,preview:true 场景事件/操作正常、preview:flase 场景事件/无法操作。 push到 gui场景配置数组 中,gui场景配置数组.push({name:"preview", value: false})。

unityProvider.send('ReceiveFrontManager', 'ChangeEnvironment', JSON.stringify(gui场景配置数组))

配置分辨率

方法:SetResolution(string size)

unityProvider.send('ReceiveFrontManager', 'SetResolution', '1920x1080');

点击生成某个物体 新增单个模型 返回物体信息

方法:CreateObject(string json)
回调:ClickCreateObject(string json)

// 新增
unityProvider.send('ReceiveFrontManager', 'CreateObject', JSON.stringify({
    components:{"模型id":"模型配置对象"}, //只传输创建的这个模型对象,非所有
    layout:[{当前模型层}] //只传输创建的这个模型层,非所有
}));


// 返回物体信息 回调下载模型后,新增的这个模型参数
unityProvider.on("ClickCreateObject",(string json)=>{
    json为上面传输的数据再返回过来,回来后,再调用 CreateAllObject(string json)//生成全部物体 
})

设置多个或者单个物体显隐

方法:SetShowHide(string json: {string[] ids,int type})
ids:["model-1213213"]
type:1显示 2隐藏 3显隐切换
time:1 //渐隐渐显时间

unityProvider.send('ReceiveFrontManager', 'SetShowHide', JSON.stringify({
    ids:["model-1213213"], 
    type:1,
    time:1
}));

设置场景视角

方法:SetCamera(int type)
type:1上帝视角 2第一人称

unityProvider.send('ReceiveFrontManager', 'SetCamera', 1);

注视某个物体

方法:SetLookTartget(string id)

unityProvider.send('ReceiveFrontManager', 'SetLookTartget', '"model-1213213"');

二维 / 三维界面选中某个模型

方法:FrontSelectObject(string id)
回调:SelectObject(string id)

// 二维界面选中某个模型
unityProvider.send('ReceiveFrontManager', 'FrontSelectObject', 'model-1213213');

// 三维界面选中某个模型
unityProvider.on("SelectObject",(string id))=>{
    返回的选中id
})

二维界面修改某个模型配置信息

方法:UpdateObjectInfo(string data)

unityProvider.send('ReceiveFrontManager', 'UpdateObjectInfo', JSON.stringify({
    components:{"模型id":"模型配置对象"}, //只传输创建的这个模型对象,非所有
    layout:[{当前模型层}] //只传输创建的这个模型层,非所有,可以为空数组
}));

三维界面修改某个模型配置信息 返回物体修改后的最新数据

回调:UpdateObject(string json)

unityProvider.on("UpdateObject",(string json)=>{
    json为上面传输的数据一样
})

触发事件

回调:EventTrigger(string data)
目前事件有 onclick 、 ondblclick、onmouseover、onmouseout

unityProvider.on("EventTrigger ,(string data)=>{
    id 是当前事件触发的模型id
    eventname 事件名称
})

触发回调

回调:EventCallBack(string data)
目前事件有 onclick 、 ondblclick、onmouseover、onmouseout

unityProvider.on("EventCallBack ,(string data)=>{
    id 是当前事件触发的模型id
    eventname 事件名称
})

生成所有三维物体

方法:CreateAllObject(string data)

unityProvider.send('ReceiveFrontManager', 'CreateAllObject', JSON.stringify({
    components:{"模型id":"模型配置对象",...}, //所有模型对象
    layout:[{当前模型层},...] //所有模型层
}));

设置快捷键

方法:GetInputKey(string key)
key参数为 KeyboardEvent 中的 e.key

unityProvider.send('ReceiveFrontManager', 'GetInputKey', e.key)

unity初始化成功后执行

回调:UnityInit()

unityProvider.on("UnityInit",()=>{
    // 这里面才能执行unity定义的方法
})

设置选中的模型 移动、旋转、缩放

方法:SetTransformGizo(int type)
type : 类型1移动2旋转3缩放

unityProvider.send('ReceiveFrontManager', 'SetTransformGizo', 1)

设置某个物体文字修改

方法:ObjectText(string data)
data : { id:string, text:string }

unityProvider.send('ReceiveFrontManager', 'ObjectText', JSON.stringify({
    id:string, 
    text:string
}))

进度条进度

回调:UpdateProcess(float value)
value:0.25

unityProvider.on("UpdateProcess" ,(value)=>{
    value //数字进度
})

三维物体创建完成后回调,一般用于创建后 选中组件

回调:ObjCreateComplete(string str)
value:0.25

unityProvider.on("ObjCreateComplete" ,(str)=>{
    str //id
})

多条飞线的话,需要返回新的飞线数据,方便下一次点击创建新的飞线

方法:FlyLineCreate(string data)

unityProvider.send('ReceiveFrontManager', 'FlyLineCreate', JSON.stringify({
    components:{"模型id":"模型配置对象",...}, //所有模型对象
    layout:[{当前模型层},...] //所有模型层
}));

切换场景

方法:CreateScene(string name) TestScene Build ChengDuScene

unityProvider.send('ReceiveFrontManager', 'CreateScene', 'TestScene');

切换场景距离

方法:SetCameraDistance(string dis)

unityProvider.on("SetCameraDistance" ,(dis)=>{
    str //数字
})

开启debug

方法:SetDebug(string on)

unityProvider.send('ReceiveFrontManager', 'SetDebug', 'false');

如果开启gis数据后,需要发送gis数据

方法:GISPos(string data)

unityProvider.send('ReceiveFrontManager', 'GISPos', JSON.stringify({
    id:"模型id",   //模型id
    data:[{},...]  //当前模型gis数据
}));

Readme

Keywords

none

Package Sidebar

Install

npm i dragv-cli-service-3d

Weekly Downloads

2

Version

0.0.27

License

ISC

Unpacked Size

6.1 MB

Total Files

74

Last publish

Collaborators

  • tangfei0629