虚拟节点 VTreeManagement
虚拟节点管理器是对虚拟节点控制的工具,通过获取该管理器,用户可以方便地进行对虚拟节点控制管理。 该工具的主要功能包括:
- 创建虚拟节点
- 删除虚拟节点
- 获取节点被引用的次数
- 根据guid获取虚拟节点等
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
VTreeManagement
用户可以调用云渲染实例 cloud
上的 getSceneManager()
方法来获取 sceManager
场景管理器,然后调用sceManager
上的getVTreeManagement()
方法来获取vtManager
虚拟节点管理器。
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
获取虚拟根节点 | getVirtualRoot
说明:获取虚拟根节点
我们可以调用
vtManager
上面的getVirtualRoot
方法来获取虚拟根节点。虚拟根节点
在三维引擎中,虚拟根节点(Virtual Root Node)是一个特殊的节点,它是3D场景中所有节点的父节点。虚拟根节点通常不会被直接渲染到场景中,而是作为一个容器,包含了场景中所有其他实际的节点。
调用示例:
tsconst sceManager = await cloud.getSceneManager() const vtManager = await sceManager.getVTreeManagement() const node = await vtManager.getVirtualRoot()
const sceManager = await cloud.getSceneManager() const vtManager = await sceManager.getVTreeManagement() const node = await vtManager.getVirtualRoot()
创建虚拟节点 | createVirtualNode
说明:创建虚拟节点
我们可以调用
vtManager
上面的createVirtualNode
方法来创建虚拟节点。创建虚拟节点的意义
在三维引擎中,创建虚拟节点(Create Virtual Node)指的是通过编程的方式在3D场景中创建一个没有实际渲染效果的节点对象,用于管理、控制其他节点。这个虚拟节点不会被直接渲染到场景中,而是作为一个容器,封装了场景中的其他实际的节点。
传参说明
Name | Type | Description |
---|---|---|
nodeName | string | - |
virtualNodeType | emVirtualNodeType | 虚拟节点类型 |
pParent | VirtualNode | 父节点 |
nodes | null | Node [] | 引用节点 |
调用示例:
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
const a = await vtManager.getVirtualRoot()
const ope = await vtManager.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [])
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
const a = await vtManager.getVirtualRoot()
const ope = await vtManager.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [])
删除虚拟节点 | deleteVirtualNode
说明:删除虚拟节点
我们可以调用
vtManager
上面的deleteVirtualNode
方法来删除虚拟节点。传参说明
Name | Type | Description |
---|---|---|
virtualNode | VirtualNode | 虚拟节点 |
调用示例:
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
const a = await vtManager.getVirtualRoot()
const ope = await vtManager.deleteVirtualNode(a!)
const sceManager = await cloud.getSceneManager()
const vtManager = await sceManager.getVTreeManagement()
const a = await vtManager.getVirtualRoot()
const ope = await vtManager.deleteVirtualNode(a!)
获取节点被引用的次数 | getNodeRefCount
说明:获取节点被引用的次数
我们可以调用
vtManager
上面的getNodeRefCount
方法来获取节点被引用的次数。传参说明
Name | Type | Description |
---|---|---|
node | Node | 节点 |
调用示例:
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const nodeRoot = await sceManager.getRootNode3D()
const a = await pVt.getVirtualRoot()
const node11 = await pVt.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [nodeRoot!])
const opeRefCount = await pVt.getNodeRefCount(nodeRoot!)
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const nodeRoot = await sceManager.getRootNode3D()
const a = await pVt.getVirtualRoot()
const node11 = await pVt.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [nodeRoot!])
const opeRefCount = await pVt.getNodeRefCount(nodeRoot!)
根据guid获取虚拟节点 | getVirtualNodeByGuid
说明:根据guid获取虚拟节点
我们可以调用
vtManager
上面的getVirtualNodeByGuid
方法来根据guid获取虚拟节点。传参说明
Name | Type | Description |
---|---|---|
nodeGuid | string | 节点guid |
调用示例:
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const a = await pVt.getVirtualRoot()
const node11 = await pVt.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [])
const node11122 = await pVt.getVirtualNodeByGuid(node11!.guid)
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const a = await pVt.getVirtualRoot()
const node11 = await pVt.createVirtualNode('v1', emVirtualNodeType.Node_SelectionSet, a!, [])
const node11122 = await pVt.getVirtualNodeByGuid(node11!.guid)
获取虚拟节点下所有实体节点 | getAllEntityNodes
说明:获取虚拟节点下所有实体节点
我们可以调用
vtManager
上面的getAllEntityNodes
方法来获取虚拟节点下所有实体节点。获取虚拟节点下所有实体节点
在三维引擎中,获取虚拟节点下所有实体节点(Get All Entity Nodes Under Virtual Node)指的是查询一个虚拟节点中包含的所有实际渲染节点。这个操作可以让我们快速地获取虚拟节点中所有相关的节点信息,便于进行场景的更新、操作和控制等。
传参说明
Name | Type | Description |
---|---|---|
node | VirtualNode | 虚拟节点 |
调用示例:
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const node = await pVt.getVirtualRoot()
const aRoot = await sceManager.getRootNode3D()
const pNode1 = await pVt.createVirtualNode('111', emVirtualNodeType.Node_SelectionSet, node!, [aRoot!])
const ope = await pVt.getAllEntityNodes(pNode1!)
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const node = await pVt.getVirtualRoot()
const aRoot = await sceManager.getRootNode3D()
const pNode1 = await pVt.createVirtualNode('111', emVirtualNodeType.Node_SelectionSet, node!, [aRoot!])
const ope = await pVt.getAllEntityNodes(pNode1!)
克隆虚拟节点 | clone
说明:克隆虚拟节点
我们可以调用
vtManager
上面的clone
方法来克隆虚拟节点 。克隆虚拟节点
在三维引擎中,克隆虚拟节点(Clone Virtual Node)指的是创建一个与原始虚拟节点完全相同的新虚拟节点。这个新虚拟节点将包含与原始节点相同的所有实体节点、材质、纹理、光照等等信息,同时与原始节点完全独立,之后对新节点的修改不会影响原始节点。
传参说明
Name | Type | Description |
---|---|---|
node | VirtualNode | 被克隆的节点 |
调用示例:
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const node = await pVt.getVirtualRoot()
const ope = await pVt.clone(node!)
const sceManager = await cloud.getSceneManager()
const pVt = await sceManager.getVTreeManagement()
const node = await pVt.getVirtualRoot()
const ope = await pVt.clone(node!)