什么是图元脚本
您是否见过,Free Fire的角色头部变得很大?
这个效果是使用强大的图元脚本实现的
图元脚本是一种可视化编程方式,使用图元脚本,您可以编写高度自定义的游戏逻辑。
入口
您可以从更多菜单下找到图元脚本的入口。

还有一些位置也可以进入图元脚本编辑界面,您可以在基础设置、编辑游戏规则的属性设置下找到图元脚本的入口,它们所进入的编辑界面是共通的。
图元基本介绍
编辑器
首先,我们可以看到图元编辑器中的重要区域。

左侧是不同分类的所有可用图元,中央是我们称为“画布”的编辑场景,图元需要拖放到画布中才会生效。
图元的分类
图元最核心的分类有两种:
- 事件,事件决定什么时候触发逻辑,比如每当玩家加入游戏时、当回合开始时。当前脚本可用事件均在红色的图元分类中
- 动作,动作是对游戏发出的指令,在我们的例子里,我们需要的动作就是让角色的头变大!在绿色和蓝色的图元分类中您可以找到绝大多数动作。
使用图元
从左侧按住图元,向画布中拖动,就可以在当前脚本下使用这个图元。


图元和图元之间可以像积木一样连接起来。


操作图元
选中
点击图元会选中图元,同时画布正下方会出现图元操作面板,选中的图元是高亮的。

删除
点击删除,会从整块图元中删除选中的图元,下方图元会自动向上填充。

您也可以将一块连起来的图元拖入右侧删除。


撤销和重做
担心误操作?右侧的快捷菜单中,可以撤销或重做您对图元脚本的所有改动:

图元数据
你可能发现了,图元上有各种色块和加号。这代表了这个图元可以为其下方图元提供的数据,和它本身需要的数据。
一些需要的数据已经帮您填入了一个默认值啦,比如上图的“Auto Play”
每个图元都有独特的逻辑,提供的数据和需要的数据的数据类型也是不一样的。有时候,我们要使用数据图元、变量甚至函数等手段提供和接受数据哦。游戏说到底是一大堆数据的运算呢。
让角色的头变大
已经了解了如何操作图元,接下来跟着我,我们一起让您的地图内的角色的头变大吧!
我们最终只需要完成这样的图元脚本:
不要被长度吓到了,核心只是将头部的缩放设置为默认的三倍大。
首先,准备好我们要用的图元吧:

调整头部缩放是一个较为复杂的操作,因为您不能直接从玩家属性里获得玩家头部的缩放,所以我们需要Get property帮助我们取得不能直接从Set property上读取的属性。
我们使用Get property获取玩家的骨骼:
Get property的目标Entity是从On Player Join上拖下来的,含义是:每当玩家加入游戏时,获取这位加入游戏的玩家的属性。
把获取到的骨骼作为目标Entity,继续获取“头部”
把上面获取到的“头部”拖入Set property,选择属性为“Skeleton Scale”:
点击Value后的加号,从左侧选择Vector3赋值图元。

将X、Y、Z都填入3。
Vector3是由三个数字组成的一种数据类型,在这里,骨骼默认的缩放值是(1,1,1),填入(3,3,3)表示头部在3D空间三个维度都放大三倍。您也可以尝试填入不同的数字组合查看实际表现。
最后,让我们把Set Property图元和On Player Join图元连接起来,记得图元只有连接起来的才是一块整体,逻辑才能通畅运行喔。

点击调试,让我们进入游戏看看表现吧:


图元脚本还有更强大的功能等待您的发掘。
不同的脚本
同样的一块图元,在不同的脚本上表现可能会是不一样的!
这是因为除了我们刚才使用的“全局脚本”,每位玩家都会有一个“玩家脚本”、每个队伍也会有一个“队伍脚本”。如果您愿意,甚至场景中的物件、道具等也都可以为其添加脚本喔。
脚本在自身所在的实体上发挥作用,如果将On Player Join这样的事件放在“玩家脚本上”,那么每当一位玩家加入,场上所有玩家(包括新加入的玩家)都会响应这个事件。如果我们的图元是当玩家加入时给他发一个M4A1,如果放在全局脚本,那么每位玩家都会有一个M4A1;如果放在玩家脚本里,每位玩家都会给新来的玩家发一个M4A1,新玩家的枪会多到拿不下!