﻿1
00:00:04,440 --> 00:00:06,210
‫你好, 欢迎回来｡

2
00:00:06,240 --> 00:00:09,160
‫现在, 我们准备创建一个projectory类｡

3
00:00:09,180 --> 00:00:16,950
‫现在我们的坦克和发射塔需要发射炮弹, 这意味着我们需要一个C++类来处理炮弹｡

4
00:00:16,980 --> 00:00:24,250
‫现在, 抛射体需要自己的静态网格, 这样我们在世界中繁殖抛射体时就可以看到它｡

5
00:00:24,270 --> 00:00:29,730
‫我们将创建一个C++类, 然后基于这个类创建一个蓝图.

6
00:00:29,730 --> 00:00:35,090
‫这对你来说是一个挑战, 因为这些都是你已经知道怎么做的事情｡

7
00:00:35,100 --> 00:00:40,180
‫因此, 您将创建一个新的C++类, 并选择正确的父类｡

8
00:00:40,200 --> 00:00:45,360
‫现在, 发射体不需要处理任何用户输入, 所以这应该告诉你,

9
00:00:45,360 --> 00:00:47,410
‫这不是一个——｡

10
00:00:47,430 --> 00:00:53,930
‫现在, 完成此操作后, 添加一个静态网格变量, 就像我们为其他类所做的那样,

11
00:00:53,940 --> 00:01:00,890
‫使用create default sub object在构造函数中构造它, 并将静态网格设置为根组件｡

12
00:01:00,900 --> 00:01:06,630
‫完成后, 请继续创建基于此投射类的蓝图｡

13
00:01:06,630 --> 00:01:11,730
‫在蓝图中, 设置静态网格组件的静态网格属性｡

14
00:01:11,730 --> 00:01:15,540
‫暂停视频, 现在创建抛射物类｡

15
00:01:18,410 --> 00:01:18,570
‫好吧, 我会的

16
00:01:18,730 --> 00:01:22,060
‫我们已经准备好创建projectile C++类｡

17
00:01:22,060 --> 00:01:25,450
‫所以我要去创建新的C++类｡

18
00:01:25,450 --> 00:01:30,370
‫因为我们不需要用户输入, 所以这只是一个基本的参与者｡

19
00:01:30,370 --> 00:01:36,340
‫一个演员可以被放置在这个世界上, 也可以在这个世界上繁殖, 我们将在这个世界上繁殖这些演员.

20
00:01:36,340 --> 00:01:39,160
‫所以我们需要从actor类派生｡

21
00:01:39,250 --> 00:01:42,250
‫我将单击“下一步”并命名这个新类｡

22
00:01:42,250 --> 00:01:43,600
‫这是一个抛射体｡

23
00:01:43,600 --> 00:01:47,500
‫所以我认为抛射体是一个完美的名字｡

24
00:01:47,500 --> 00:01:52,990
‫我将把它放在与所有其他C++类相同的文件夹中, 然后单击“创建类”｡

25
00:01:52,990 --> 00:02:00,040
‫因此, 这里我们有投射物FX和投射物CP, 我们需要添加一个静态网格变量｡

26
00:02:00,040 --> 00:02:04,090
‫因此, 我将在受保护的部分下面添加一个私有部分｡

27
00:02:04,090 --> 00:02:09,820
‫所以我们需要一个U型静态网格组件｡

28
00:02:09,820 --> 00:02:13,330
‫这是一个U型静态网格组件｡

29
00:02:14,140 --> 00:02:15,760
‫它将是一个指针｡

30
00:02:15,760 --> 00:02:16,630
‫现在, 没关系｡

31
00:02:16,630 --> 00:02:20,560
‫如果你给它起个不同的名字, 我就叫它抛射网.

32
00:02:20,890 --> 00:02:24,340
‫现在我们要用你的属性来公开它｡

33
00:02:24,340 --> 00:02:25,900
‫所以你的财产｡

34
00:02:25,900 --> 00:02:30,400
‫我希望能够从默认蓝图中编辑它｡

35
00:02:30,400 --> 00:02:34,750
‫因此, 我认为仅编辑默认值适用于此｡

36
00:02:35,110 --> 00:02:39,430
‫我会给予它一个类别, 这个类别可以是战斗｡

37
00:02:39,490 --> 00:02:44,680
‫我们称之为什么并不重要, 这就是我要给予这个变量的所有曝光｡

38
00:02:44,680 --> 00:02:47,740
‫如果您在这里有不同的属性设置, 也没关系｡

39
00:02:47,740 --> 00:02:49,210
‫现在我们需要构建这个｡

40
00:02:49,210 --> 00:02:58,480
‫让我们进入projectile, 进入构造函数, 比如projectivemesh, 我们将调用,

41
00:02:58,480 --> 00:03:04,180
‫使用静态网格组件创建默认子对象｡

42
00:03:05,230 --> 00:03:09,580
‫在课文中, 我只会说抛射体网格｡

43
00:03:09,670 --> 00:03:13,390
‫最后, 我们需要将它设置为根组件｡

44
00:03:13,390 --> 00:03:21,550
‫所以我会说根元素等于投射网格, 我会把它正确拼写在这里｡

45
00:03:21,580 --> 00:03:22,210
‫好吧, 我会的

46
00:03:22,210 --> 00:03:25,360
‫这就解决了C++方面的问题｡

47
00:03:25,360 --> 00:03:31,990
‫现在, 你可能没有想到这一点, 但我们有这个主要演员抽搐b永远不能抽搐等于真｡

48
00:03:31,990 --> 00:03:37,030
‫因为我们的抛射体并不真的需要抽搐, 我们可以设置它落下｡

49
00:03:37,030 --> 00:03:41,680
‫所以如果你愿意的话, 继续把它设置为false｡

50
00:03:41,680 --> 00:03:46,540
‫我们在赋值运算符下面看到了红色的曲线｡

51
00:03:46,540 --> 00:03:52,180
‫这仅仅是因为我们需要包含静态网格组件的头文件｡

52
00:03:52,180 --> 00:03:58,780
‫因此, 如果我们转到based on CP, 我们可以在此处看到该头文件,

53
00:03:58,780 --> 00:04:01,180
‫因为我们需要将其包含在基本单元中的静态网格组件中｡

54
00:04:01,180 --> 00:04:05,080
‫所以我要把它偷出来, 把它贴在最上面｡

55
00:04:05,080 --> 00:04:08,260
‫这样就定义了静态网格组件｡

56
00:04:08,260 --> 00:04:13,690
‫现在我们继续编译这个, 回到编辑器, 接下来我们要做的是,

57
00:04:13,690 --> 00:04:16,690
‫创建一个基于投射体的蓝图｡

58
00:04:16,690 --> 00:04:20,800
‫现在, 我将进入蓝图文件夹, 我们有一个典当文件夹｡

59
00:04:20,800 --> 00:04:29,530
‫我想创建一个新的文件夹并将其命名为actors, 因为我们的projector不是pawn, 所以它实际上不需要进入pawns文件夹｡

60
00:04:29,530 --> 00:04:31,240
‫所以我们有了一个新的演员文件夹｡

61
00:04:31,240 --> 00:04:37,960
‫我将进入该对话框, 这次我可以右键单击并选择“Blueprint Class”,

62
00:04:37,960 --> 00:04:40,660
‫在这里我们可以选择此蓝本所基于的类｡

63
00:04:40,660 --> 00:04:47,380
‫如果我们单击所有类旁边的下拉菜单, 则可以搜索projectile, 并显示projectile类｡

64
00:04:47,380 --> 00:04:50,170
‫我将选择该单击选择｡

65
00:04:50,170 --> 00:04:53,530
‫现在我们有了一个基于投射类的新蓝图｡

66
00:04:53,530 --> 00:04:58,330
‫这是另一种基于我们的C++类创建蓝图的方法｡

67
00:04:58,330 --> 00:05:04,690
‫现在我把这个叫做B｡  页：1 我将双击打开Beep Projectile,

68
00:05:04,690 --> 00:05:08,050
‫然后单击Open Full Blueprint Editor（打开完整蓝图编辑器）｡

69
00:05:08,050 --> 00:05:10,150
‫如果您看到了, 请继续并单击它｡

70
00:05:10,150 --> 00:05:13,780
‫我们有了蓝图, 这是投射网｡

71
00:05:13,780 --> 00:05:17,530
‫默认情况下, 它没有设置其静态网格属性｡

72
00:05:17,530 --> 00:05:21,490
‫所以我们要设置它, 我选择SM射弹｡

73
00:05:21,490 --> 00:05:25,480
‫我相信你的发射物就是这个｡

74
00:05:25,480 --> 00:05:26,380
‫有道理｡

75
00:05:26,380 --> 00:05:27,940
‫所以我们有一个抛射体｡

76
00:05:27,940 --> 00:05:28,630
‫好极了｡

77
00:05:28,630 --> 00:05:35,230
‫我将编译并保存此文件, 然后单击“全部保存”, 以确保所有内容都已保存,

78
00:05:35,230 --> 00:05:37,480
‫现在我们有了一个抛射体｡

79
00:05:37,480 --> 00:05:44,110
‫总之, 您已经创建了projectory类, 并基于projectory创建了一个蓝图, 并为它提供了一个use static

80
00:05:44,110 --> 00:05:46,930
‫mesh组件变量｡

81
00:05:46,930 --> 00:05:49,840
‫在你设定的蓝图中, 它是静态网格｡

82
00:05:49,840 --> 00:05:52,630
‫现在我们有了一个可以使用的投射物｡

83
00:05:52,630 --> 00:05:57,820
‫我们已经准备好开始繁殖这些东西了, 我们将在下一个视频中讨论这个问题｡

84
00:05:57,820 --> 00:05:58,690
‫我很快就会见到你的｡

