脚本编辑器

1. Lua脚本编辑器

1.1. 作用及简介

编辑器集成了一个Lua虚拟机,您可以直接在编辑器内为应用对象实例绑定您的Lua逻辑脚本。现在可以支持的实例绑定对象有:世界、Actor、特定类型的节点。
如下,为一个Actor绑定脚本,可以点击红框中“编辑绑定脚本”按钮。
alt
为一个世界绑定脚本,入口如下:
alt
为指定类型的节点绑定脚本,当存在“打开和绑定脚本”按钮时,即可进行绑定并编辑。
alt

1.2. 创建绑定脚本节点文件

脚本节点文件的后缀名为.xscript, 在为一个实例对象绑定脚本前,您需要在编辑器内指定保存这个脚本节点文件的路径。保存后会打开如下编辑器面板:
alt
分为5个部分,分别如下: 【1】 菜单栏
【2】 工具栏
【3】 节点树
【4】 属性栏
【5】 代码编辑器

脚本代码是挂接在“脚本逻辑节点”上的,所以您需要在节点树为脚本对象添加脚本节点。
alt
右键点击根节点,即可添加脚本节点。脚本节点支持嵌套、删除。

1.3. 为脚本节点创建绑定的Lua代码文件

alt
该文件会被创建在.xscript文件相同的目录下。
创建完成后,即可对脚本进行编辑。编辑器为您提供了相应绑定对象的Lua脚本模板,如下图:
alt
最终会生成一个code_entity的lua表对象,该表对象会在运行时被压入Lua栈中,并自动执行绑定对象的相应方法。例如OnHolderEnterance, OnHolderRelease, OnHolderTick, OnHolderRender为这个绑定Actor的脚本对象生成时、释放时、Actor在Tick时、Actor在Render时的方法代理。
现在我们尝试为这个绑定的Actor绕Y轴进行旋转。
Demo代码如下:

--this function will be called each tick after the ticking of the holder.  
function code_entity:onHolderTick(actor, interval)   
    -- rotate speed is pi/s   
    local rotateSpeed = math.pi * interval / 1000.0   
    actor:RotateY(rotateSpeed)   
-- add something new here.  
end

这里我们尝试对这个绑定的Actor进行绕Y轴旋转操作,旋转角速度为Pi每秒。输入的interval单位是毫秒,因此这里我们需要除以1000转化为秒。
alt
在编辑过程中,支持Lua API自动补全。
点击主面板中的“播放”按钮,即可查看运行结果。打开”视图->显示->Lua日志“,即可查看Lua虚拟机运行您的绑定脚本时所输出的日志。如下图:
こんにちは、じゃ、まだね。为您好、再见的意思。输出这句话时,表明您绑定的Lua脚本代码已成功运行。
图中最左侧红框框中女子正在旋转和跳舞。旋转正是我们绑定的Lua脚本逻辑所驱动的。
更多Lua相关知识,请参阅Lua相关开发文档。在此不作深入说明。
alt

1.4. 注意事项

脚本节点本身是一种资产,其关联的文件有.xscript, .lua文件, 因此,在实际使用时, 您需要导出并确定绑定对象的引用路径正确(文件挪动操作需要在编辑器中进行)。

2. Material Curve脚本编辑器

2.1. 作用及简介

编辑器支持对材质的浮点型参数进行编辑。并支持曲线化编辑。如果您想直接在场景中应用编辑好的材质参数效果,您可以使用此编辑器进行参数文件制作。

如图,带有alt标识的,即为可编辑材质参数。当该标识为alt,即红色曲线时,表示该参数已存在参数节点。该对象中的所有材质参数将会被写到同一个文件中。因此,如果您有可利用的材质参数文件,可直接使用。在“材质/引用的材质效果文件“中直接指定您已编辑好的材质 参数文件。如下图所示。
alt
alt

2.2. 创建绑定材质参数脚本文件

如图,我们选择为“高光强度“参数绑定材质参数文件。文件保存在script/demo.xmtfx下。
alt
材质参数节点将会被自动创建,接下来您只需要进行参数编辑即可。
alt
材质参数脚本编辑器的布局如上所示。
【1】 工具栏
【2】 材质参数节点树
【3】 材质参数属性页
【4】 曲线编辑页
【5】 曲线资产页
关于曲线编辑和使用的更多内容,请参阅“粒子编辑器”和“Sequencer编辑器”两节。
曲线的分布类型中,同粒子编辑器,我们同样设置了以下几种分布类型:
alt
默认为FLOAT_CONSTANT_CURVE。即单参数常量曲线分布。

2.3. 设置材质参数脚本文件的运行参数

您可以设置的运行参数如下图所示,分别为:

  1. 是否启用。如果不勾选,则该节点将无效。
  2. 生效时延(秒)。指定这个材质效果将会在加载成功后几秒后生效。
  3. 效果持续时间(秒)。指定在输入值(横坐标轴)的[0,1]区间内的执行时长。注意,曲线只在输入值(横坐标轴)的[0,1]区间内取曲线的函数值。
  4. 分布:在此节中可设置曲线的点,或者在曲线编辑器中进行操作。
  5. 开启反向周期(呼吸效果)。启用该功能时,曲线的周期将会被添加一个反向半周期(输入值为从1到0),原来周期(输入值为从0到1)将变成半周期。类似于平滑“呼吸”效果。
  6. 开启循环:周期循环执行
  7. 循环起始偏移时间:指定开始循环的起始时间。
  8. 锁定轴:保留项,未应用。合并指定的轴,如两两合并、全合并形成一个新的编辑曲线进行整体设置。
    alt
    我们将颜色曲线添加进来,并添加两个曲线点。作用于人物脸部。效果如下:
    alt

2.4. 移除材质曲线效果脚本关联

如果您想移除所绑定的关联效果脚本, 请在材质参数节点树的根节点处点击右键,选择“删除绑定并关闭“菜单。
alt

2.5. 保存曲线资产

如果您想在这里利用一些已经编辑好的曲线,您可以将曲线保存为资产文件。如下图所示。
alt
现在,我们新添加一个参数节点:“镜面反射参数”。 选择已经保存的曲线并应用,即会生成与该曲线一样的曲线。如下图黄色曲线:
alt

2.6. 注意事项

  • 材质参数脚本编辑器所编辑的内容也是资产的一种。 关联了以下格式的文件:.xmtfx, .curve。
  • 同样,在进行文件挪动时,请在编辑器内进行。否则会丢失关联关系。
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2021-04-12 18:28:17

results matching ""

    No results matching ""