Skip to content
导览

爆炸图对象操作 NodeExplosionObject

爆炸图对象操作是用于控制云渲染爆炸图对象操作的工具, 该工具的主要功能包括:

  1. 获取对象guid值
  2. 设置爆炸图中其爆炸效果的模型节点
  3. 爆炸模型最终爆炸到某个位置时的爆炸效果
  4. 爆炸图指定范围内的爆炸动画效果
  5. 清除查看爆炸最终效果场景
  6. 爆炸图动画暂停
  7. 爆炸暂停动画继续

我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。

NodeExplosionManager 理器。

用户可以调用云渲染实例 cloud 上的 getNodeExplosionManager() 方法来获取 NodeExplosionManager 爆炸图管理器。

ts
const NodeExplosionManager = await cloud.getNodeExplosionManager()
const NodeExplosionManager = await cloud.getNodeExplosionManager()

用户调用 cloud.getNodeExplosionManager() 后,nodeExplosionManager 会被自动挂载到当前 cloud 实例上。

ts
await cloud.getNodeExplosionManager()
const NodeExplosionManager = cloud.nodeExplosionManager
await cloud.getNodeExplosionManager()
const NodeExplosionManager = cloud.nodeExplosionManager

获取对象guid值 | getNodeExplosionObjGuid

  • 说明:获取对象guid值

我们可以调用 NodeExplosionObject 上面的 getNodeExplosionObjGuid 方法来获取对象guid值。

调用示例:

ts
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 方法来设置爆炸图中其爆炸效果的模型节点。

  • 参数说明
NameTypeDescription
nodesNode[]选定爆炸模型的节点数组
depthValuenumber遍历节点树深度

TIP

需要注意的是,depthValue的值为负整数时,表示遍历到叶子结点;depthValue值为0时,表示不遍历节点树,depthValue值为正整数时,表示遍历深度。

调用示例:

ts
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 方法来观察爆炸模型最终爆炸到某个位置时的爆炸效果。

  • 参数说明
NameTypeDescription
scalenumber爆炸终点位置与爆炸模型包围盒的比例

调用示例:

ts
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 方法来实现爆炸图指定范围内的爆炸动画效果。

  • 参数说明
NameTypeDescription
scaleRangesnumber[]爆炸动画的范围起始点、终止点距离与包围和比例
timenumber爆炸动画时间
fn(info: void) => void回调函数

调用示例:

ts
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 方法来暂停爆炸图动画。

调用示例:

ts
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 方法来让爆炸暂停动画继续。

调用示例:

ts
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 方法来清除爆炸效果。

调用示例:

ts
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();