朱峰社区评论:这是关于Unrealkismet讲解的一节课,包括Unrealkismet的创建,应用,还有就是在使用过程中预防故障的发生。大家可以多学习一下,有助于以后的应用!
介绍
更多有关使用UnrealKismet的信息,请参阅UnrealKismetUserGuide?(UnrealKismet用户指南)或UnrealKismetReference?(UnrealKismet基准)。
指南
在UnrealKismet中的脚本创建相当简单。本指南假设您对虚幻引擎3中的关卡创建有一定了解。首先,我们将创建一个简单的脚本,实现开关灯的功能。
- 创建一个简单的关卡——仅仅是一大块地面,配有PlayerStart和PointLightToggleable。
- 启用PointLightToggleableactor上的动态光源(properties(属性)>Light(光源)>bForceDynamicLight=true(真))。
- 把一个触发器放到世界中,将其设置为非隐藏(properties(属性)>Advanced(高级)>bHidden=false(假))。
- 选择光源,点击工具栏中的K图标,打开UnrealKismet工作区。
- 在Kismet工作区中右击鼠标,选择“New Object Var Using Selected Actor(利用已选定actor新建对象变量)”菜单选项,创建一个对象变量(已选定actor将用其名称来替代)。此时,您应当在对象变量中发现光源图标,以及光源的特定名称。
- 下一步是将一个事件连接到Trigger(触发器)上。在主编辑器窗口中选择Trigger(触发器)。
- 在Kismet工作区中右击鼠标,选择“New Event Using Trigger_0(利用触发器0新建事件)”,创建一个Touch(接触)事件。它是上下文敏感的,所以您将仅仅看到触发器支持的事件。在“Create Event(创建事件)”子菜单中,选择“Touch(接触)”选项,创建一个适合Trigger_0的Touch(接触)事件。
- 下一步是为事件提供一项有待执行的操作。在Kismet工作区右击鼠标,并选择“NewAction(新操作) -> Toggle(触发) -> Toggle(触发)”。
- 在Touch(接触)事件上的“Touched(接触)”输出和Toggle(开关)操作上的“Toggle(触发)”输入之间,拖动一根直线。您将会发现Toggle(触发)操作在底部标有“Target(目标)”上面拥有一个紫色节点。根据可与其一起使用的变量类型,Kismet中元件的输入和输出均为彩色编码。在这种情况下,Target(目标)为紫色,因此需要一个对象变量。
- 在这种情况下,我们希望通过在“Target(目标)”节点和我们创建的含光源信息的对象变量之间拖动一根直线,将目标连接到光源对象变量上。这将促使Toggle(触发)操作每次被激活时,均触发光源。如果您仅希望触发光源,那么您仅需连接到与该操作相关的输入上。
- 基本完成。选择Touch(接触)事件,并查看下文的属性编辑器。由于我们希望能不止一次地打开和关闭光源,则应将MaxTriggerCount(最大触发量)设置为0,它等效于无限制。
- 此外,还应将ReTriggerDelay(再触发延迟)设置为较小的数值,如.1等等,尽量避免再次快速触发事件。
当您完成上述操作时,效果应如下所示:
此时关闭UnrealKismet,利用编辑器顶部的Build(创建)按钮,或通过在这个环境中右击鼠标,并选择“从这里运行”,然后进入关卡后点击“P”。如果您仍在运行ExampleGame clientspec(示例游戏 客户规格)没有经过改动的版本,则此时您的缺省角色应该已经创生并且与摄像机相连,不会像鬼魂一样飞来飞去。找到触发器后接触它,光源将会关闭。移离触发器后返回,则光源将会打开。恭喜您已经创建了一个运行的UnrealKismet游戏脚本。
实现上述功效的另一种方法:
您可将接触事件连接到开关上的Turn Off(关闭)位置,然后创建一个UnTouch(未接触)事件,并将其连接到开关上的Turn On(打开)输入位置。只有触发器被接触时,光源才会被关闭。
[next]故障诊断
对于将被触发的接触事件而言,必须利用一个已启动碰撞(bCollideActors)的Pawn来运行关卡。默认情况下,在ExampleGame(示例游戏)组包中的ExamplePlayerController(示例玩家控制器)是处于观看模式,不会触发您的序列。
关于Unrealkismet的知识还有很多,今天就讲解到这。想了解更多的内容请登录www.zf3d.com
,
评论