扩展装备定义
装备扩展定义文件结构如下图所示
|--base // 装备信息
|--info.json // 基本信息
|--tree.json // 结构树
|--animations.json // 动画列表
|--roles.json // 角色列表
|--objects.json // 业务对象
|--objects-params.json // 业务对象参数
|--free.json // 自由对象
|--roam.json // 漫游对象
|--uipage.json // UI界面
|--subject.json // 科目
|--steps.json // 步骤
|--unfree.json // 禁用自由对象
|--models.zip // 装备模型信息(注:模型信息中需要有对应的模型文件以及相关的.bin、贴图文件)
|--readme.json // 模型定义文件
|--***.fbx/gltf/glb // 模型文件
|--其他资源文件
上述为扩展包的整体目录结构,以下为每个文件的具体说明:
info.json
{
"xlCameraPosition": "",
"xlCameraRotation": "",
"equipName": "0924测试装备key递增",
"equipCode": "0924_CS_001",
"memo": "",
"passScore": "",
"cameraPosition": "",
"cameraRotation": ""
}
| 属性 |
说明 |
类型 |
| equipName |
设备名称 |
string |
| equipCode |
设备编码 |
string |
| memo |
备注说明 |
string |
| passScore |
达标分数 |
number |
| xlCameraPosition |
训练相机位置 |
{"x": 0, "y": 0, "z": 0} |
| xlCameraRotation |
训练相机角度 |
{"x": 0, "y": 0, "z": 0} |
| cameraPosition |
组成展示相机位置 |
{"x": 0, "y": 0, "z": 0} |
| cameraRotation |
组成展示训练相机角度 |
{"x": 0, "y": 0, "z": 0} |
tree.json
[{
"nodeName": "轮006",
"nodeCode": "",
"bindNodeName": "09A_CS_LT06",
"pid": "0OV09TjgN6r8nbyaVZ2C",
"bubbleInfo": "<div>模型对象</div>",
"rownum": 5,
"hideState": "10",
"uiType": "10",
"id": "02oNO0w5J1po7nBrkAIp",
}, ……]
| 属性 |
说明 |
类型 |
| nodeName |
节点名称 |
string |
| nodeCode |
节点编码 |
string |
| bindNodeName |
备注说明 |
string |
| pid |
父级主键 |
string |
| bubbleInfo |
气泡信息 |
string |
| rownum |
节点排序 |
number |
| hideState |
是否隐藏 |
boolean |
| uiType |
区分树形类型 |
10,装备;20,ui |
| id |
当前主键 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
animations.json
[
{
"aniCode": "09A_PT_PG-All Animations",
"aniName": "炮管动画",
"id": "02oNO0w5J1po7nBdddp"
},
……
]
| 属性 |
说明 |
类型 |
| aniCode |
动画名称 |
string |
| aniName |
动画编码 |
string |
| id |
动画主键 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
roles.json
[
{
"equipRoleName": "指挥员",
"roleName": "zhy",
"rolePx": "1",
"id": "02oNO0w5J1po7nBrsssp"
},
……
]
| 属性 |
说明 |
类型 |
| equipRoleName |
角色名称 |
string |
| roleName |
角色编码 |
string |
| rolePx |
角色排序 |
string |
| id |
角色主键 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
objects.json
[
{
"glUijm": "",
"regulate": "",
"memo": "",
"currentRange": "",
"monitorType": "",
"trip": "",
"buttonLight": "",
"switchLight": "",
"id": "0QljOJFO5bqbh8hlmsH7",
"maxRangeTrip": "",
"stateNum": "",
"maxRange": "",
"objName": "1kNDsK381crbIbvHX9Mz",
"nowState": "",
"glLed": "",
"minRange": "",
"ydSpeed": "",
"switchType": "20",
"ledLength": "",
"gearsNum": "",
"knobType": "",
"ynBfdh": "",
"ydTime": "",
"objType": "20",
"flickerFre": "",
"ywObjName": "轮子004",
"bfdh": "",
"lightColor": "",
"ydDirection": "",
"ydTrip": "",
"minRangeTrip": "",
"uiType": "",
"mctType": "",
"step": "1",
"switchState": ""
},
……
]
| 属性 |
说明 |
类型 |
| ywObjName |
业务对象名称 |
string |
| glUijm |
关联UI对象 |
string |
| regulate |
调节方向 |
string |
| memo |
备注 |
string |
| currentRange |
当前量程 |
string |
| monitorType |
显示器类型 |
string |
| trip |
形成 |
string |
| buttonLight |
按钮灯光 |
string |
| switchLight |
开关灯光 |
string |
| maxRangeTrip |
最大量程型行程值 |
string |
| stateNum |
状态数量 |
string |
| maxRange |
最大量程 |
string |
| objName |
关联对象(和tree.json中id关联) |
string |
| nowState |
当前状态值 |
string |
| glLed |
关联LED |
string |
| minRange |
最小量程 |
string |
| ydSpeed |
运动速度 |
string |
| switchType |
开关类型 |
string |
| ledLength |
LED长度/位数 |
string |
| gearsNum |
档位数量 |
string |
| knobType |
旋钮类型 |
string |
| ynBfdh |
是否播放动画 |
string |
| ydTime |
运动时长 |
number |
| objType |
对象类型 |
number |
| flickerFre |
闪烁频率 |
number |
| bfdh |
播放动画 |
string |
| lightColor |
灯光颜色 |
string |
| ydDirection |
运动轴向 |
string |
| ydTrip |
运动行程 |
string |
| minRangeTrip |
最小量程行程值 |
string |
| uiType |
UI类型 |
string |
| mctType |
类型 |
string |
| step |
步长 |
number |
| switchState |
开关状态 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
| equipName |
装备Name(数据导入时从info.json生成的主键填充) |
string |
objects-params.json
{
"flickerFre": "",
"lightColor": "rgb(255, 255, 255)",
"nowState": "10",
"whetherExecute": "",
"objId": "3wnGBBnyp6dphgDGcpq2",
"id": "0e3GvzZzd3mFwL9jY9mw",
"switchState": "10",
"ydDirection": "20",
"trip": "90",
"switchLight": "",
"switchSound": "",
"buttonSound": "",
"buttonLight": "",
"switchState": "",
"ydDirection": "",
"trip": "",
"maxRange": "",
"minRange": "",
"angle": "",
"ydTime": "',
"ydTrip": "",
"ydSpeed": "',
"gearsTrip": "",
"gearName": "",
"stateObj": "",
"stateName": "",
"ledWs": "",
"objId": "",
"zhi": "",
"uiCode": "",
"uiType": ""
}
| 属性 |
说明 |
类型 |
| flickerFre |
业务对象名称 |
string |
| memo |
备注 |
string |
| objName |
关联对象(和tree.json中id关联) |
string |
| objType |
对象类型 |
string |
| switchLight |
开关灯光 |
string |
| buttonLight |
按钮灯光 |
string |
| switchState |
状态 |
string |
| ydDirection |
轴向 |
string |
| trip |
行程 |
string |
| maxRange |
最大行程 |
string |
| minRange |
最小行程 |
string |
| angle |
角度 |
string |
| ydTime |
运动时长 |
string |
| ydTrip |
运动距离 |
string |
| ydSpeed |
运动速速 |
string |
| lightColor |
灯光颜色 |
string |
| gearsTrip |
档位行程值 |
string |
| gearName |
档位名称 |
string |
| stateObj |
当前状态 |
string |
| stateName |
状态名称 |
string |
| ledWs |
led位数 |
string |
| objId |
相关对象 |
string |
| zhi |
调控按钮值 |
string |
| uiCode |
UI编码 |
string |
| uiType |
UI类型 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
free.json
{
"equipId": "",
"objectId": "",
}
| 属性 |
说明 |
类型 |
| objectId |
业务对象 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
roam.json
{
"equipId": "",
"equipName": "",
"cameraPlace": "",
"cameraRotation": ""
}
| 属性 |
说明 |
类型 |
| equipName |
名称 |
string |
| cameraPlace |
相机位置 |
string |
| cameraRotation |
相机角度 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
uipage.json
{
"equipId": "",
"urlLj": "",
"uiName": "",
}
| 属性 |
说明 |
类型 |
| uiName |
名称 |
string |
| urlLj |
页面地址 |
string |
| equipId |
装备ID(数据导入时从info.json生成的主键填充) |
string |
subject.json
{
"equipId": "",
"subjectCzms": "10",
"subjectType": "10",
"subjectBh": "KM-01",
"subjectName": "科目1"
}
| 属性 |
说明 |
类型 |
| subjectName |
名称 |
string |
| subjectBh |
科目编号 |
string |
| subjectType |
科目分类 |
string |
| subjectCzms |
训练类型 |
string |
| equipId | 装备ID(数据导入时从info.json生成的主键填充)| string |
steps.json
{
"nodeName": "操作1",
"equipName": "22q56TOD57toFpPDvlNu",
"nodeDetailInfo": "",
"mutualType": "10",
"wybXsdata": "",
"nodeOrder": "",
"subjectId": "0UJrKFVtQF7RWVwOlW6a",
"score": 0,
"sfGjbz": "",
"xzAngle": "",
"uiObjAddress": "",
"sfJd": "",
"id": "3E0bOJneJFcYEOQjvGLP",
"sustainDate": "",
"syGongj": "",
"belongRole": "",
"finalObjValue": "",
"nodeType": "10",
"cfWay": "10",
"stepNum": 1,
"isVirtual": "",
"gjType": "",
}
| 属性 |
说明 |
类型 |
| nodeName |
步骤名称 |
string |
| nodeDetailInfo |
步骤详细信息 |
string |
| mutualType |
交互类型 |
string |
| wybXsdata |
万用表显示数据 |
string |
| nodeOrder |
顺序号 |
string |
| subjectId |
科目编码 |
string |
| score |
步骤分值 |
number |
| sfGjbz |
是否关键步骤 |
boolean |
| xzAngle |
万用表旋钮旋转角度 |
number |
| uiObjAddress |
UI界面地址 |
string |
| sfJd |
是否阶段 |
boolean |
| sustainDate |
持续时长 |
number |
| syGongj |
所用工具 |
string |
| belongRole |
所属角色 |
string |
| finalObjValue |
最终状态值 |
array |
| nodeType |
节点类型 |
string |
| cfWay |
触发方式 |
string |
| stepNum |
步骤编码 |
number |
| isVirtual |
是否虚拟步骤 |
boolean |
| gjType |
工具类行 |
string |
| equipName |
装备ID(数据导入时从info.json生成的主键填充) |
string |
unfree.json
{
"equipId": "",
"objectId": "",
}
| 属性 |
说明 |
类型 |
| objectId |
业务对象 |
string |
| subjectId |
科目ID(数据导入时从steps.json生成的主键填充) |
string |
readme.json
[
{
"src": "DM.glb",
"type": "glb",
"name": "DM",
"isTerrain": true,
"preview": false
},
……
]
| 属性 |
说明 |
类型 |
| src |
模型文件 |
string |
| type |
模型类型 |
string |
| name |
模型别名 |
string |
| isTerrain |
是否为地形模型 |
boolean |
| preview |
是否在组成展示显示 |
boolean |