模型打散操作 Packer
模型打散操作是对模型打散操作控制的管理器,用户可以获取此管理器来进行对模型打散操作控制管理。
主要有全部加载,区域加载,树分支加载,逻辑树加载等。 模型打散操作管理器对模型打散操作控制的工具,通过获取该管理器,用户可以方便地进行模型打散操作控制管理。 该工具的主要功能包括:
- 全部加载(异步)
- 区域加载
- 树分支加载(异步加载)
- 逻辑树加载同步
- 逻辑树加载异步
- 根据节点guid卸载模型
- 根据节点的雪花id卸载模型
- 卸载当前加载的所有节点
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
全部加载(异步) | fullLoadAsync
说明:全部加载模型,以异步方式
我们可以调用
Packer
上面的fullLoadAsync
方法来进行全部加载(异步)。调用示例:
tsconst destructure = await cloud.getDestructureLoadManagement() const packer = await destructure.openR3D(url) packer.fullLoadAsync()
const destructure = await cloud.getDestructureLoadManagement() const packer = await destructure.openR3D(url) packer.fullLoadAsync()
区域加载 | areaLoad
说明:区域加载
我们可以调用
Packer
上面的areaLoad
方法来进行区域加载。区域加载
在三维引擎中,picker(选择器)的区域加载(region loading)指的是根据用户的输入或场景需求,动态加载3D场景中的物体或区域,以提高场景的渲染效率和性能。
传参说明
Name | Type | Description |
---|---|---|
box | Box3 | Box3数据类型,此参数为加载区域 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const box = {
min: { x: 0, y: 0, z: 0 },
max: { x: 100, y: 100, z: 100 }
}
packer.areaLoad(box)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const box = {
min: { x: 0, y: 0, z: 0 },
max: { x: 100, y: 100, z: 100 }
}
packer.areaLoad(box)
树分支加载(异步加载) | treeBranchLoad
说明:树分支加载(异步加载)
我们可以调用
Packer
上面的treeBranchLoad
方法来进行树分支加载。树分支加载
在三维引擎中,picker(选择器)的树分支加载(tree branch loading)指的是通过分层加载,动态加载3D场景中的树形结构,以提高场景的渲染效率和性能。
传参说明
Name | Type | Description |
---|---|---|
branchid | PackerLoadId | PackerLoadId 数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = [{
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}]
packer.treeBranchLoad(pId)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = [{
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}]
packer.treeBranchLoad(pId)
逻辑树加载同步 | loadLogicTree
说明:逻辑树加载同步
我们可以调用
Packer
上面的loadLogicTree
方法来进行逻辑树加载同步。逻辑树加载
在三维引擎中,picker(选择器)的逻辑树加载(logic tree loading)指的是通过逻辑结构和节点的加载和缓存,动态加载和渲染3D场景中的物体,以提高场景的加载速度和渲染效率。
传参说明
Name | Type | Description |
---|---|---|
treeid | PackerLoadId | PackerLoadId 数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = {
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}
packer.loadLogicTree(pId)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = {
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}
packer.loadLogicTree(pId)
逻辑树加载异步 | loadLogicTreeAsync
说明:逻辑树加载异步
我们可以调用
Packer
上面的loadLogicTree
方法来进行逻辑树加载异步。传参说明
Name | Type | Description |
---|---|---|
treeid | PackerLoadId | PackerLoadId 数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = {
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}
packer.loadLogicTreeAsync(pId)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
const pId = {
treeId: Number(tree.value),
nodeId: BigInt(node.value),
}
packer.loadLogicTreeAsync(pId)
根据节点guid卸载模型 | unloadModelByGuid
说明:根据节点guid卸载模型
我们可以调用
Packer
上面的unloadModelByGuid
方法来根据节点guid卸载模型。传参说明
Name | Type | Description |
---|---|---|
guid | String | 节点guid String数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
packer.unloadModelByGuid(guid)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
packer.unloadModelByGuid(guid)
根据节点的雪花id卸载模型 | unloadModelBySnowId
说明:根据节点的雪花id卸载模型
我们可以调用
Packer
上面的unloadModelBySnowId
方法来根据节点的雪花id卸载模型。传参说明
Name | Type | Description |
---|---|---|
id | String | 节点id: snowid 数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
packer.unloadModelBySnowId(id)
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
packer.unloadModelBySnowId(id)
卸载当前加载的所有节点 | unloadAllModel
说明:卸载当前packer内加载的所有节点
我们可以调用
Packer
上面的unloadAllModel
方法来卸载当前加载的所有节点。调用示例:
tsconst destructure = await cloud.getDestructureLoadManagement() const packer = await destructure.openR3D(url) packer.unloadAllModel()
const destructure = await cloud.getDestructureLoadManagement() const packer = await destructure.openR3D(url) packer.unloadAllModel()
卸获取logic_list表中packerid相关的信息 | getLogicTreeInfoList
说明:获取logic_list表中packerid相关的信息
我们可以调用
Packer
上面的getLogicTreeInfoList
方法来获取logic_list表中packerid相关的信息。
传参说明
Name | Type | Description |
---|---|---|
packerid | number | 包id:number数据类型 |
调用示例:
let packerid = 1;
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let info = await packer.getLogicTreeInfoList(packerid)
[{
treeId : 1 ,
treeName : dms_pbs_cw,
treeTable : t_pk1_logictree1,
treeDesc :f2cc2c2f-202403191522
}]
let packerid = 1;
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let info = await packer.getLogicTreeInfoList(packerid)
[{
treeId : 1 ,
treeName : dms_pbs_cw,
treeTable : t_pk1_logictree1,
treeDesc :f2cc2c2f-202403191522
}]
通过节点snowId获取对应guid | getGuidBySnowId
说明:通过节点snowId获取对应guid
我们可以调用
Packer
上面的getGuidBySnowId
方法来通过节点snowId获取对应guid。
传参说明
Name | Type | Description |
---|---|---|
snowIds | [GetGuidParam ] | 雪花id:GetGuidParam数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pId = [{ treeId : 1, snowId: "7175755915972939776"},{treeId : 1, snowId: "7175755914637541420"}];
let guid = await packer.getGuidByNodeId(pId);
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pId = [{ treeId : 1, snowId: "7175755915972939776"},{treeId : 1, snowId: "7175755914637541420"}];
let guid = await packer.getGuidByNodeId(pId);
通过节点snowId获取对应guid | getGuidBySnowId
说明:通过节点snowId获取对应guid
我们可以调用
Packer
上面的getGuidBySnowId
方法来通过节点snowId获取对应guid。
传参说明
Name | Type | Description |
---|---|---|
guids | [GetSnowParam ] | GetSnowParam |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pGuid = [{ treeId : 1, guid: "3c245ebe281c429aa1b1cccae36bdc80"},{treeId : 1, guid: "3842797ee109b61008d13f162235b783"}];
let pid = await packer.getSnowIdByGuid(pGuid);
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pGuid = [{ treeId : 1, guid: "3c245ebe281c429aa1b1cccae36bdc80"},{treeId : 1, guid: "3842797ee109b61008d13f162235b783"}];
let pid = await packer.getSnowIdByGuid(pGuid);
通过节点snowId获取对应包围盒 | getLocalBoxBySnowId
说明:通过节点snowId获取对应guid
我们可以调用
Packer
上面的getLocalBoxBySnowId
方法来通过节点snowId获取对应包围盒。
传参说明
Name | Type | Description |
---|---|---|
snowIds | [GetGuidParam ] | 雪花id:GetGuidParam数据类型 |
调用示例:
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pId = [{ treeId : 1, snowId: "7180507561921278090"},{treeId : 1, snowId: "7180507561921278099"}];
let guid = await packer.getLocalBoxBySnowId(pId);
const destructure = await cloud.getDestructureLoadManagement()
const packer = await destructure.openR3D(url)
let pId = [{ treeId : 1, snowId: "7180507561921278090"},{treeId : 1, snowId: "7180507561921278099"}];
let guid = await packer.getLocalBoxBySnowId(pId);