::: details 目录 [[toc]] :::
::: details 完整格式
{
"CmdName": "PEChengScene",//--必填-- 场景控制
"Time": "",
"Platform": "",
"CmdParams": {
},
"OrderList": [{
"OrderName": "PELoadScene",//--必填-- 加载场景
"OrderParams": {
"SceneName": "PublicScene",//--必填-- 需要加载的场景名称
"Url": {//模型轻量化服务器地址
"burl": "",
"rurl": ""
},
"Configs": [//该场景需要定制的配置文件 后一个与前一个合并
"JsonConfig/PorjectConfig.json"
],
"SceneParam":{//向指定场景文件传入初始化参数,根据业务场景自定义
}
}
}
]
}
:::
::: details SceneName 场景初始化的过程中需要一个类专门负责读取配置文件并初始化3D场景,SceneName的作用就是指定谁去做这件事情,如果需要特殊定制,则需要自己实现场景类并将SceneName指向该类型的名称。
引擎默认已经内置了一个PublicScene类专门负责初始化场景,所以SceneName的值直接写PublicScene即可. :::
::: details Url Url对象用于设置当前场景中加载模型的服务器地址,此处的Url对象会覆盖配置文件中的Url设置 :::
::: details Configs Configs用于设置加载此场景需要读取的配置文件列表,如果存在多个配置文件,则后一个配置文件会与前一个配置文件做一次原子合并操作
例如:
A.json (表示整个工程的通用配置选项)
{
AA:'AA',
BB:{
name:'AA'
},
CC:'AA'
}
B.json (某个特殊场景的配置文件)
{
BB:{
name:'BB'
}
}
Configs参数:['JsonConfig/A.json','JsonConfig/B.json']
引擎加载配置文件的时候会将B.json与A.json文件做一次合并最终得到
{
AA:'AA',
BB:{
name:'BB'
},
CC:'AA'
}
:::
::: details 完整格式
{
"CmdName": "PEChengScene",//--必填-- 场景控制
"Time": "",
"Platform": "",
"CmdParams": {
},
"OrderList": [
{
"OrderName": "PERemoveScene"//--必填-- 卸载场景
}
]
}
:::
由于目前只支持前端应用中只能同时存在一个场景,所以收到PERemoveScene指令后就立刻卸载当前正在显示的场景并释放所有占用的资源内存.
因为JS垃圾回收机制并不会释放3D所占有的内存资源,所有前端应根据业务场景及时卸载场景释放资源保证客户端流畅。