dragv-cli-service-3d v0.0.27
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})<br/>
ids:["model-1213213"]<br/>
type:1显示 2隐藏 3显隐切换<br/>
time:1 //渐隐渐显时间
unityProvider.send('ReceiveFrontManager', 'SetShowHide', JSON.stringify({ ids:"model-1213213", type:1, time:1 }));
#### 设置场景视角
>方法:SetCamera(int type)<br/>
type:1上帝视角 2第一人称
unityProvider.send('ReceiveFrontManager', 'SetCamera', 1);
#### 注视某个物体
>方法:SetLookTartget(string id)
unityProvider.send('ReceiveFrontManager', 'SetLookTartget', '"model-1213213"');
#### 二维 / 三维界面选中某个模型
>方法:FrontSelectObject(string id)<br/>
回调: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)<br/>
目前事件有 onclick 、 ondblclick、onmouseover、onmouseout
unityProvider.on("EventTrigger ,(string data)=>{ id 是当前事件触发的模型id eventname 事件名称 })
#### 触发回调
>回调:EventCallBack(string data)<br/>
目前事件有 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)<br/>
key参数为 KeyboardEvent 中的 e.key
unityProvider.send('ReceiveFrontManager', 'GetInputKey', e.key)
#### unity初始化成功后执行
>回调:UnityInit()
unityProvider.on("UnityInit",()=>{ // 这里面才能执行unity定义的方法 })
#### 设置选中的模型 移动、旋转、缩放
>方法:SetTransformGizo(int type)<br/>
type : 类型1移动2旋转3缩放
unityProvider.send('ReceiveFrontManager', 'SetTransformGizo', 1)
#### 设置某个物体文字修改
>方法:ObjectText(string data)<br/>
data : { id:string, text:string }
unityProvider.send('ReceiveFrontManager', 'ObjectText', JSON.stringify({ id:string, text:string }))
#### 进度条进度
>回调:UpdateProcess(float value)<br/>
value:0.25
unityProvider.on("UpdateProcess" ,(value)=>{ value //数字进度 })
#### 三维物体创建完成后回调,一般用于创建后 选中组件
>回调:ObjCreateComplete(string str)<br/>
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数据 }));
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago