爆炸图对象操作 NodeExplosionObject
爆炸图对象操作是用于控制云渲染爆炸图对象操作的工具, 该工具的主要功能包括:
- 获取对象guid值
- 设置爆炸图中其爆炸效果的模型节点
- 爆炸模型最终爆炸到某个位置时的爆炸效果
- 爆炸图指定范围内的爆炸动画效果
- 清除查看爆炸最终效果场景
- 爆炸图动画暂停
- 爆炸暂停动画继续
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
NodeExplosionManager 理器。
用户可以调用云渲染实例 cloud
上的 getNodeExplosionManager()
方法来获取 NodeExplosionManager
爆炸图管理器。
const NodeExplosionManager = await cloud.getNodeExplosionManager()
const NodeExplosionManager = await cloud.getNodeExplosionManager()
用户调用 cloud.getNodeExplosionManager()
后,nodeExplosionManager
会被自动挂载到当前 cloud
实例上。
await cloud.getNodeExplosionManager()
const NodeExplosionManager = cloud.nodeExplosionManager
await cloud.getNodeExplosionManager()
const NodeExplosionManager = cloud.nodeExplosionManager
获取对象guid值 | getNodeExplosionObjGuid
- 说明:获取对象guid值
我们可以调用 NodeExplosionObject
上面的 getNodeExplosionObjGuid
方法来获取对象guid值。
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let guid = nodeExplosionObj.getNodeExplosionObjGuid();
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let guid = nodeExplosionObj.getNodeExplosionObjGuid();
设置爆炸图中其爆炸效果的模型节点 | setCurExplosionNodes
- 说明:设置爆炸图中其爆炸效果的模型节点
我们可以调用 NodeExplosionObject
上面的 setCurExplosionNodes
方法来设置爆炸图中其爆炸效果的模型节点。
- 参数说明
Name | Type | Description |
---|---|---|
nodes | Node [] | 选定爆炸模型的节点数组 |
depthValue | number | 遍历节点树深度 |
TIP
需要注意的是,depthValue的值为负整数时,表示遍历到叶子结点;depthValue值为0时,表示不遍历节点树,depthValue值为正整数时,表示遍历深度。
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
爆炸模型最终爆炸到某个位置时的爆炸效果 | setExplosionScatteringPos
- 说明:爆炸模型最终爆炸到某个位置时的爆炸效果
我们可以调用 NodeExplosionObject
上面的 setExplosionScatteringPos
方法来观察爆炸模型最终爆炸到某个位置时的爆炸效果。
- 参数说明
Name | Type | Description |
---|---|---|
scale | number | 爆炸终点位置与爆炸模型包围盒的比例 |
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
await nodeExplosionObj.setExplosionScatteringPos(2);
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
await nodeExplosionObj.setExplosionScatteringPos(2);
爆炸图指定范围内的爆炸动画效果 | playExplosionAnim
- 说明:爆炸图指定范围内的爆炸动画效果
我们可以调用 NodeExplosionObject
上面的 playExplosionAnim
方法来实现爆炸图指定范围内的爆炸动画效果。
- 参数说明
Name | Type | Description |
---|---|---|
scaleRanges | number [] | 爆炸动画的范围起始点、终止点距离与包围和比例 |
time | number | 爆炸动画时间 |
fn | (info : void ) => void | 回调函数 |
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
let scaleRanges: number[] = [1, 3];
let time: number = 3000;
await nodeExplosionObj.playExplosionAnim(scaleRanges, time);
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.buildNodeExplosObj();
let depth: number = -1;
await nodeExplosionObj.setCurExplosionNodes([node!], depth);
let scaleRanges: number[] = [1, 3];
let time: number = 3000;
await nodeExplosionObj.playExplosionAnim(scaleRanges, time);
爆炸图动画暂停 | pauseExplosionAnim
- 说明:爆炸图动画暂停
我们可以调用 NodeExplosionObject
上面的 pauseExplosionAnim
方法来暂停爆炸图动画。
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.pauseExplosionAnim();
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.pauseExplosionAnim();
爆炸暂停动画继续 | restoreExplosionAnim
- 说明:爆炸暂停动画继续
我们可以调用 NodeExplosionObject
上面的 restoreExplosionAnim
方法来让爆炸暂停动画继续。
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.restoreExplosionAnim();
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.restoreExplosionAnim();
清除爆炸效果 | effectClear
- 说明:清除爆炸效果
我们可以调用 NodeExplosionObject
上面的 effectClear
方法来清除爆炸效果。
调用示例:
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.effectClear();
await cloud.getNodeExplosionManager();
var nodeExplosionObj=await cloud.nodeExplosionManager.getCurNodeExplosionObj(guid);
await nodeExplosionObj.effectClear();