脚本组件

语法及运行环境

DTwinScript 采用JavaScript 语法解析执行,支持浏览器上下文内的原生函数。

DTwin的生命周期流转

首先,我们需要来了解一下 DTwin 的生命周期流转,以及其中涉及的关键接口。

8

(1)系统初始化:

会通过 init() 方法和 start() 方法,进行整个播放器/编辑器的初始化和启动。在此阶段,各种资源会逐步被加载,各模块及其子系统将会被进行初始化。

在系统完成初始化后,会选择默认的场景、摄影机进行加载,进入「场景加载」阶段。

(2)场景加载阶段:

系统会解析整个场景对象树、组件结构,对其进行组装。

方法会在树形结构绑定到父级时调用,以通知当前对象父子结构的变化;

方法会在树形结构绑定到场景时调用,以通知当前对象成功加入到渲染树;

方法会在上下文注册时调用,以通知当前对象成功加入到渲染引擎;

在场景完成加载后,所有的功能开始正常运行,会开始收到 Parameter 参数变更。

(3)逐帧渲染阶段:

当渲染启动后,引擎会尽力保证以最高不超过 60 FPS 的频率进行动画绘制。其中每次绘制时,都会调用对象的 update() 方法。

(4)参数变更阶段:

当参数发生变更时,会调用onParameterUpdate() 方法,执行变更回调逻辑。

系统为了方便常用方法的调用,提供了几个内置参数的快捷调用:

:对象被点击时调用,需要绑定交互组件;

:对象被鼠标滑过时调用,需要绑定交互组件;(性能影响较大,建议不使用)

:碰撞开始时调用;

:碰撞结束时调用;

:碰撞时持续调用。

(5)场景卸载阶段:

同场景初始化,在场景切换、系统关闭时,会执行场景卸载逻辑,调用对应的 onParentUnbind() 、onSceneUnbind() 、onContextUnbind() 。

(6)系统停机:

当系统停机时,会执行对应的 shutdown() 方法,进行最终的关闭与资源回收。

脚本的创建与编辑

(1)脚本资源:

在平台编辑态资源视窗内的第三栏为脚本资源,已完成编辑的脚本,会展示在视窗内。点击“+”按钮,打开脚本编辑器,并进入新增脚本编辑模式。

(2)脚本编辑:

给脚本命名并录入脚本内容。点击“确认”或“取消”来保存脚本或放弃当前脚本。

1

脚本的挂载

首先我们需要先将目标对象挂载脚本组件,在脚本组件属性配置区域作如下配置内容:

(1)“脚本”,通过下拉框选择已经创建并完成编辑的脚本;

(2)“执行范围”默认为运行时(即运行态生效),编辑器(编辑态生效),全部(所有状态生效);

(3)“扩展参数”可以设置脚本内用到的额外参数。

2
阿里云首页 工业大脑开放平台 相关技术圈