查看: 480|回复: 8

[可视化蓝图脚本] 【4. 从关卡传递信息到角色 | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-27 16:00:35 | 显示全部楼层 |阅读模式



Previous Step
Next Step



   
How-To Home


在主编辑器视图的工具栏中,点击 Blueprints (蓝图)按钮并选择 Open Level Blueprint (打开关卡蓝图)。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



在图表中, 右键点击 并添加 Event Begin Play (开始播放事件)节点以及 Get Player Character (获取玩家角色)节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



从  Get Player Character (获取玩家角色)节点的 Return Value (返回值)引脚进行拖拽,并添加一个 Cast To FirstPersonCharacter  (投射到第一人称角色)节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



在此我们使用 Cast (投射)节点来首先获取玩家角色,然后获取由该玩家使用的角色蓝图(本例中被称为 FirstPersonCharacter ,并且我们使用它来对可玩角色设置其它脚本)。 通过使用投射节点,我们得以访问玩家角色的蓝图以及变量、事件和其中的函数。

关于 Casting (投射)的更多信息,请参照Casting文档页面。

按照下图显示内容来连接节点,然后在 Cast To 节点的 Return Value (返回值)处,选择 Promote to variable (添加到变量中)。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



我们会创建一个变量,从而保存对玩家正在使用的 FirstPersonCharacter 蓝图的引用,这样我们就不必每次使用投射来获取结果。 通过在 Event Begin Play (开始播放事件)执行此操作,它将会在稍后为我们节省时间。

选择添加的变量,然后在 详细信息 面板中,将其重命名为 MyCharacter 。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



在 MyCharacter 节点的 Return Value (返回值)处,添加 Assign Get Spawn Location (分配获取生成位置)节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



这就是我们创建的 Event Dispatcher (事件调度器)。 当您选择它时,将会添加两个额外的节点。

如果您在列表中没有看到这个节点,请确认您点击了 FirstPersonCharacter 蓝图中的 Compile (编译)并再次尝试。

请确认您连接了 Bind Event (绑定事件)的新增加的节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



现在,当我们在角色蓝图中调用 GetSpawnLocation 时,也会同时调用这个新的自定义事件。

按住 Control 键,从 MyBlueprint 窗口中拖入 MyCharacter 变量,然后添加 Set Spawn Location (设置生成位置)节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



返回主编辑器窗口,并在 World Outliner (世界大纲视图)中,搜索并选择每个 Target Points (目标点)。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



返回 Level Blueprint (关卡蓝图)并在图表中 右键点击 并选择 Create References to 3 selected Actors (创建到3个选择的Actor的引用)。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



在图表中 右键点击 并添加 Make Array (生成数组)节点,然后将其与每个 Target Points (目标点)连接。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



您可以通过点击 Add Pin (添加引脚)按钮来添加更多引脚。 这个数组会存储我们可以访问的目标点集合。

在 Array (数组)引脚,添加 Get (获取)节点。

在 Get 节点,添加 Random Integer in Range (范围内的随机整数)节点, Min 设置为 0 , Max 设置为 2 。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]



在这里我们获得了可用作生成点的随机目标点。 如果您有更多的生成位置,您可以将它们添加到数组中,并增大Range(范围)节点中的 Max 值从而包含它们。

从 Get 节点,添加 Get Actor Transform (获取Actor变换)节点,并将其连接到 Set Spawn Location (设置生成位置)节点。

【虚幻4翻译文档-4. 从关卡传递信息到角色 | Unreal Engine】[虚幻4中文文档]




您的完整脚本应该和上图类似,请点击以查看完整内容。

在这个页面里我们进行了许多操作! 我们使用 Cast 节点来访问角色蓝图,然后绑定自定义事件到其中的事件调度器。 这样我们可以在事件调度器被调用时,触发关卡蓝图中的自定义事件。 我们随后获取随机生成位置之一,并将其放置在角色蓝图中作为变量生成位置(它用于我们生成岩石的位置)。

在下一步,我们会让岩石变得可射击,并能够使用资源文件名称为 OnHit 的绑定事件进行销毁(也就是在岩石被射击时的事件)。



   
Previous Step
Next Step



   
How-To Home
回复

使用道具 举报

0

主题

851

帖子

2801

积分

vip会员

Rank: 1

积分
2801
发表于 2016-7-2 19:58:28 来自手机 | 显示全部楼层
感谢楼主的大爱无私
回复 支持 反对

使用道具 举报

0

主题

901

帖子

2987

积分

vip会员

Rank: 1

积分
2987
发表于 2016-7-4 02:39:30 | 显示全部楼层
好吗
回复 支持 反对

使用道具 举报

0

主题

829

帖子

2772

积分

vip会员

Rank: 1

积分
2772
发表于 2016-7-4 12:10:18 | 显示全部楼层
我是来看看东西的!!!
回复 支持 反对

使用道具 举报

0

主题

864

帖子

2841

积分

vip会员

Rank: 1

积分
2841
发表于 2016-7-21 00:29:49 | 显示全部楼层
什么鬼???看着很不错的样子啊!
回复 支持 反对

使用道具 举报

0

主题

858

帖子

2835

积分

vip会员

Rank: 1

积分
2835
发表于 2016-7-21 04:05:41 来自手机 | 显示全部楼层
这个屌,看看要多少金
回复 支持 反对

使用道具 举报

0

主题

845

帖子

2807

积分

vip会员

Rank: 1

积分
2807
发表于 2016-7-21 06:37:04 来自手机 | 显示全部楼层
快没金币了,看看需要多少?
回复 支持 反对

使用道具 举报

0

主题

862

帖子

2832

积分

vip会员

Rank: 1

积分
2832
发表于 2016-7-22 03:53:47 来自手机 | 显示全部楼层
这个必须顶,,,,
回复 支持 反对

使用道具 举报

0

主题

848

帖子

2827

积分

vip会员

Rank: 1

积分
2827
发表于 2016-7-23 01:09:51 来自手机 | 显示全部楼层
楼主真是好人吖~~非常感谢
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部