﻿1
00:00:04,460 --> 00:00:08,180
‫在这节课中,

2
00:00:10,970 --> 00:00:17,390
‫我们会用一些背景音乐, 一些介绍文字, 和一些介绍声音来增加一些润色.

3
00:00:17,390 --> 00:00:25,880
‫我们将看到一个列表的事情, 你可以改善和建立在这个射击项目作为巨大的挑战, 为自己｡

4
00:00:25,880 --> 00:00:26,750
‫我们开始吧｡

5
00:00:27,590 --> 00:00:32,060
‫所以是时候结束了, 对我来说, 说再见｡

6
00:00:32,060 --> 00:00:37,910
‫但在此之前, 我想给大家留下一些挑战, 以扩展此项目｡

7
00:00:37,910 --> 00:00:42,350
‫这些都是我面临的巨大挑战, 区别在于我不会向你们展示所有的解决方案｡

8
00:00:42,350 --> 00:00:47,210
‫为此, 你必须依靠社区, 互相交流, 互相帮助,

9
00:00:47,210 --> 00:00:48,740
‫真正探索引擎｡

10
00:00:48,740 --> 00:00:52,310
‫希望这能帮助你真正掌握虚幻｡

11
00:00:52,670 --> 00:00:58,490
‫所以第一个大挑战是水平布局, 我会在这节课上做一些｡

12
00:00:58,490 --> 00:01:03,920
‫所以基本上, 我的意思是, 布局你的水平, 把你的敌人在你想让他们在的地方, 使它真正成为一个挑战,

13
00:01:03,920 --> 00:01:06,380
‫尝试和发挥测试, 尝试和发挥｡

14
00:01:06,410 --> 00:01:10,460
‫让你的家人和朋友玩的水平, 并尝试它｡

15
00:01:10,670 --> 00:01:12,200
‫接下来是背景音乐｡

16
00:01:12,200 --> 00:01:17,000
‫我确实有一些背景音乐资源, 在这节课上我会再一次向你们展示如何将这些资源加入其中｡

17
00:01:17,240 --> 00:01:21,860
‫所以如果你想在这节课上挑战一下, 你可以暂停视频, 现在就开始｡

18
00:01:21,860 --> 00:01:22,280
‫好吧, 我会的

19
00:01:22,280 --> 00:01:22,910
‫欢迎回来｡

20
00:01:22,910 --> 00:01:26,150
‫所以我要进去做一下这些挑战｡

21
00:01:26,150 --> 00:01:29,690
‫但如果这些不是你想解决的问题, 你想尝试一些其他的事情,

22
00:01:29,690 --> 00:01:31,700
‫这里是我给你的其他挑战｡

23
00:01:31,820 --> 00:01:34,520
‫其中之一就是实施武器切换｡

24
00:01:34,520 --> 00:01:41,060
‫目前, 我们已经有了一个相当灵活的武器体系结构, 它将支持武器切换, 但目前还没有｡

25
00:01:41,060 --> 00:01:44,510
‫所以我将给你一些建议, 告诉你如何去实现它｡

26
00:01:44,510 --> 00:01:47,420
‫但我不打算跟你一起经历整个过程｡

27
00:01:47,540 --> 00:01:49,880
‫另一个是用武器实施弹药｡

28
00:01:49,880 --> 00:01:54,580
‫同样, 我将在这里给予你一些关于过程的提示, 而不是实际的代码｡

29
00:01:55,340 --> 00:01:56,930
‫然后是一些更高级的A｡  我...我...

30
00:01:56,960 --> 00:01:57,800
‫我这是什么意思？

31
00:01:57,800 --> 00:02:03,800
‫好吧, 如果你要介绍弹药和武器切换, 也许你的眼睛需要知道什么时候使用每一个这些｡

32
00:02:03,800 --> 00:02:07,610
‫因此, 您可能需要添加一些切换武器等行为｡

33
00:02:07,610 --> 00:02:13,160
‫你可能还想知道它是否受到攻击, 是否被射击,

34
00:02:13,160 --> 00:02:19,460
‫在这种情况下, 它可能想尝试隐蔽, 这样你就可以有一些更高级的行为.

35
00:02:19,460 --> 00:02:23,960
‫所有这些都可以通过行为､ 树､ 服务和自定义任务来实现｡

36
00:02:24,620 --> 00:02:30,920
‫您可能希望有一个主菜单, 以便在多个级别之间进行选择, 是的, 多个级别｡

37
00:02:30,920 --> 00:02:37,070
‫加入一些其他的层次布局, 把你的眼睛不同, 使它更具挑战性, 有一个进步,

38
00:02:37,070 --> 00:02:41,960
‫并有它, 使你从一个层次移动到下一个当你成功｡

39
00:02:41,960 --> 00:02:46,670
‫现在, 我将通过武器切换和弹药的细节在短短的一秒钟｡

40
00:02:46,670 --> 00:02:49,190
‫但首先, 我们要做一个关卡布局｡

41
00:02:49,490 --> 00:02:53,930
‫我想做的第一件事是移动我的球员, 开始到一个更中立的位置｡

42
00:02:53,930 --> 00:02:59,420
‫所以我将删除主玩家的起始位置, 而将玩家的起始位置放在这里.

43
00:02:59,420 --> 00:03:05,870
‫所以我要找一个地方, 演员窗格, 我要找一个球员, 开始, 把它放在这里｡

44
00:03:06,870 --> 00:03:10,050
‫这意味着当我们按下播放键时, 我们会在这个走廊里结束｡

45
00:03:10,080 --> 00:03:10,830
‫那就好｡

46
00:03:11,250 --> 00:03:14,810
‫接下来, 我想加入一些敌人｡

47
00:03:14,820 --> 00:03:16,740
‫我要把一个敌人放在这里｡

48
00:03:16,740 --> 00:03:18,510
‫所以BP在这里拍摄了一个角色｡

49
00:03:18,510 --> 00:03:19,530
‫有一个敌人｡

50
00:03:19,680 --> 00:03:22,050
‫那我们这边已经有敌人了

51
00:03:22,050 --> 00:03:22,770
‫我喜欢这样｡

52
00:03:22,770 --> 00:03:26,940
‫我要加几个敌人, 一个在这里, 一个在下面｡

53
00:03:26,940 --> 00:03:32,820
‫所以你得想尽办法找到他们他们会朝你开枪然后尽快找到你｡

54
00:03:33,300 --> 00:03:35,190
‫那我们就有一个敌人了

55
00:03:35,190 --> 00:03:35,880
‫那就好｡

56
00:03:35,880 --> 00:03:38,160
‫我可能会到处树敌｡

57
00:03:38,160 --> 00:03:40,560
‫一个在这个角落, 一个在这里｡

58
00:03:40,560 --> 00:03:41,610
‫那太好了｡

59
00:03:41,970 --> 00:03:42,900
‫又一个｡

60
00:03:42,900 --> 00:03:44,100
‫也许在这里｡

61
00:03:44,160 --> 00:03:48,510
‫也许还有几个人在这里向你开枪｡

62
00:03:49,770 --> 00:03:52,650
‫也许在楼梯顶上有一个｡

63
00:03:53,510 --> 00:03:57,560
‫从雨里射下来, 从上面冒出血腥的火焰｡

64
00:03:57,620 --> 00:04:05,990
‫然后我们会在这个指挥中心式的房间里放上几个, 一个在拐角处伏击你,

65
00:04:05,990 --> 00:04:11,240
‫也许还有一两个在这个小坑里｡

66
00:04:11,750 --> 00:04:12,500
‫我们走吧｡

67
00:04:12,770 --> 00:04:14,540
‫现在, 这个房间将是一个真实的挑战｡

68
00:04:14,540 --> 00:04:17,000
‫当你进来的时候, 你会被打成碎片｡

69
00:04:17,000 --> 00:04:20,960
‫所以如果我们继续玩, 我们要去尝试一下｡

70
00:04:20,960 --> 00:04:25,850
‫这将是相当坚韧的时刻, 你可能想进一步调整它｡

71
00:04:25,850 --> 00:04:27,350
‫我在这里静音｡

72
00:04:28,280 --> 00:04:33,350
‫你想进一步调整它, 调整你的生命值,

73
00:04:33,350 --> 00:04:39,860
‫也许是为了使它成为正确的挑战水平, 或者也许你想调整有多少只眼睛在水平, 所有这些事情你可以尝试通过玩,

74
00:04:39,860 --> 00:04:44,210
‫只是测试这个游戏的位｡

75
00:04:44,210 --> 00:04:48,440
‫最后我想做的一件事是加入一些背景音乐和氛围｡

76
00:04:48,440 --> 00:04:54,770
‫所以如果你在现场演员中寻找声音, 你可以看到有一个环境声音演员｡

77
00:04:54,770 --> 00:04:57,170
‫我们可以把这个拖到世界上｡

78
00:04:57,170 --> 00:05:00,740
‫它在哪里播放并不重要, 因为它会在任何地方播放声音｡

79
00:05:00,920 --> 00:05:06,620
‫然后我们要做的是从这里选择一个声音, 我将寻找音乐, 我们基本上需要射击游戏音乐在这里,

80
00:05:06,620 --> 00:05:11,930
‫你可以几乎就离开它｡

81
00:05:11,930 --> 00:05:18,410
‫如果我们点击播放, 你可以看到我们有我们的背景音乐, 给我们一个更好的氛围在这里｡

82
00:05:18,410 --> 00:05:28,100
‫我还想做的一件事是添加一点介绍文本, 我将从我们的玩家射击角色开始, 在这里打开蓝图,

83
00:05:28,100 --> 00:05:35,030
‫打开完整的蓝图编辑器, 然后转到事件图, 在“开始播放”节点之外,

84
00:05:35,030 --> 00:05:41,720
‫在位置（我希望作为演员位置的位置）添加播放声音｡

85
00:05:41,720 --> 00:05:47,390
‫所以我们想要的声音资产是, 我相信我有一个叫做介绍的东西,

86
00:05:47,390 --> 00:05:54,050
‫这是我自己录制的东西, 只是为了说, 你知道, 让我们去杀了这些家伙在水平或类似的效果｡

87
00:05:54,050 --> 00:05:59,870
‫所以现在如果我们继续点击播放, 我们会得到一点介绍, 告诉玩家该做什么,

88
00:05:59,870 --> 00:06:02,240
‫他们需要去清除这个基地｡

89
00:06:02,240 --> 00:06:03,710
‫所有的敌人｡

90
00:06:03,710 --> 00:06:07,940
‫现在, 就像承诺的那样, 我们要怎么处理武器切换和弹药之类的事情？

91
00:06:07,940 --> 00:06:10,100
‫大概是武器切换

92
00:06:10,100 --> 00:06:12,470
‫流程会是这样的｡

93
00:06:12,740 --> 00:06:18,410
‫首先,

94
00:06:18,410 --> 00:06:28,280
‫你要给角色添加一个武器数组或者武器类别数组, 这样角色就知道哪些武器可以使用, 所有这些武器都生成到另一个数组中, 这样你就可以跟踪角色拥有的不同武器.

95
00:06:28,280 --> 00:06:34,850
‫因此, 基本上, 我们将从使用单个武器类和单个武器实例, 转变为使用一个数组来同时处理这两个类和实例｡

96
00:06:35,030 --> 00:06:41,720
‫然后你需要一个像active index integer这样的东西来跟踪哪个武器当前是活动的｡

97
00:06:42,020 --> 00:06:49,310
‫你要隐藏所有的武器, 基本上停用并隐藏所有的武器, 除了在活动索引中的一个｡

98
00:06:49,460 --> 00:06:55,040
‫然后你可能想绑定滚轮或数字, 这样就可以改变你的活动索引, 一旦你这样做了,

99
00:06:55,040 --> 00:07:00,050
‫你就可以更新, 一旦你改变了活动索引,

100
00:07:00,050 --> 00:07:03,410
‫你想确保你更新的是当前可见的武器｡

101
00:07:03,410 --> 00:07:10,010
‫而且你还需要确保你绑定了火, 这样它就可以选择当前激活的武器, 这样它就可以使用火的方法,

102
00:07:10,010 --> 00:07:14,870
‫也就是你当前激活的武器的触发方法｡

103
00:07:14,870 --> 00:07:20,270
‫这就是武器转换, 一个关于如何实现以及如何尝试的简要概述｡

104
00:07:20,300 --> 00:07:23,720
‫另一个是弹药, 这也是相当直接的｡

105
00:07:23,720 --> 00:07:29,990
‫如果你按照这些步骤去做, 你需要在你的武器上设置一些弹药变量, 基本上是一个整数, 用来表示,

106
00:07:29,990 --> 00:07:32,480
‫你还有多少弹药？

107
00:07:32,510 --> 00:07:36,320
‫你要从每一个镜头中减去, 直到你减到零｡

108
00:07:36,320 --> 00:07:37,670
‫非常像健康, 真的｡

109
00:07:37,670 --> 00:07:40,880
‫如果你想一想, 你会阻止从那里开枪｡

110
00:07:41,090 --> 00:07:42,140
‫就不可能开枪了｡

111
00:07:42,140 --> 00:07:49,460
‫如果你的朋友小于零, 你就播放某种空的声音来给予玩家一个信号, 你可能想创造某种皮卡演员｡

112
00:07:49,460 --> 00:07:56,030
‫因此, 创建一个新的演员, 从演员派生出来的东西, 添加一个碰撞器,

113
00:07:56,030 --> 00:08:02,930
‫添加一个网格, 这样当你与它重叠时, 当一个演员, 一个角色与它重叠时,

114
00:08:02,930 --> 00:08:08,480
‫你将获得该角色当前活动的武器, 你将向它添加弹药｡

115
00:08:08,480 --> 00:08:14,540
‫最后, 您可能希望禁用碰撞并隐藏网格, 至少在短时间内是这样｡

116
00:08:14,540 --> 00:08:19,430
‫你可能想重新启用它的计时器,

117
00:08:19,430 --> 00:08:24,710
‫但你想禁用它在第一次一旦你已经超过了皮卡, 使您不会不断加油你的弹药, 而你站在它｡

118
00:08:24,710 --> 00:08:25,850
‫这节课就讲到这里｡

119
00:08:25,850 --> 00:08:31,520
‫我将给你们留下一张挑战幻灯片, 上面列出了你们可以做的事情, 以扩展现有的内容｡

120
00:08:31,520 --> 00:08:38,420
‫请查看问答和讨论, 以及我们的不和谐频道, 以获得输入､

121
00:08:38,420 --> 00:08:44,300
‫反馈和其他分享他们为继续这款射击游戏所做工作的人｡

122
00:08:44,310 --> 00:08:46,280
‫等不及看你用它做什么了｡

123
00:08:46,400 --> 00:08:48,860
‫我会在讨论中见到你｡

