﻿1
00:00:04,210 --> 00:00:05,330
‫Hey, welcome back.

2
00:00:05,350 --> 00:00:10,540
‫We're now ready to start creating some blueprints based on our base -- class.

3
00:00:10,540 --> 00:00:16,390
‫So this is going to be a relatively easy lecture, especially if you have any experience working in

4
00:00:16,390 --> 00:00:17,020
‫blueprints.

5
00:00:17,020 --> 00:00:22,000
‫Now, in order to keep our file structure orderly, we're going to click on the content folder.

6
00:00:22,000 --> 00:00:25,480
‫And here in the content folder we're going to create a new folder.

7
00:00:25,570 --> 00:00:29,560
‫So let's go ahead and right click and select new folder.

8
00:00:29,560 --> 00:00:35,110
‫And since this folder will hold all of the blueprints we create for this game project, we're simply

9
00:00:35,110 --> 00:00:36,910
‫going to call this folder blueprints.

10
00:00:36,910 --> 00:00:42,280
‫Now, double click on blueprints to open that up and we're going to create a new folder here.

11
00:00:42,280 --> 00:00:46,090
‫So right click new folder and let's call this one Pons.

12
00:00:46,090 --> 00:00:51,850
‫So we're going to put all of the -- blueprints that we create right here in the Pons folder.

13
00:00:51,970 --> 00:00:54,070
‫So let's go ahead and create those.

14
00:00:54,100 --> 00:01:01,390
‫I'm going to head back over to Toon tanks under C++ classes where we have our base pawn C++ class and

15
00:01:01,390 --> 00:01:07,840
‫we can create a blueprint based on this C++ class by right clicking and selecting Create Blueprint class

16
00:01:07,840 --> 00:01:09,580
‫based on base pawn.

17
00:01:09,580 --> 00:01:13,900
‫Now we're given the option to select where we should put this new blueprint.

18
00:01:13,930 --> 00:01:18,220
‫I'm going to click the dropdown next to blueprints so I can see the Pawns folder.

19
00:01:18,220 --> 00:01:22,930
‫I'm going to select that, and this is where I'd like to stick the new blueprint.

20
00:01:22,960 --> 00:01:26,740
‫Now let's go ahead and give this blueprint a meaningful name.

21
00:01:26,740 --> 00:01:30,280
‫Now, a good convention is to prefix the name with Bpy.

22
00:01:30,280 --> 00:01:32,410
‫So we know that this is a blueprint.

23
00:01:32,560 --> 00:01:36,880
‫So I'm going to say blueprint and let's call this BP pawn tank.

24
00:01:36,880 --> 00:01:42,550
‫This is going to be the tank that we're going to control as we're rolling around and bombing stuff in

25
00:01:42,550 --> 00:01:43,090
‫this game.

26
00:01:43,090 --> 00:01:50,020
‫So BP Pawn Tank, let's click Create Blueprint Class and here is our blueprint for the pawn tank.

27
00:01:50,020 --> 00:01:55,930
‫And up here at the top right, we can see parent class based pawn, which is exactly what we wanted.

28
00:01:56,650 --> 00:01:58,360
‫Now over to the top left.

29
00:01:58,360 --> 00:02:05,740
‫We have the components panel and we see at the very top it says BP Pawn Tank in parentheses self.

30
00:02:05,740 --> 00:02:08,260
‫This is the overall blueprint itself.

31
00:02:08,260 --> 00:02:14,340
‫And in the details panel, we have all sorts of properties that we can see that are exposed by default.

32
00:02:14,350 --> 00:02:18,220
‫Now back over to the components panel just under BP Pawn Tank.

33
00:02:18,220 --> 00:02:21,610
‫We see all of the components that we created in C++.

34
00:02:21,610 --> 00:02:24,460
‫We have the capsule which is designated as the root.

35
00:02:24,460 --> 00:02:26,110
‫That's why it's at the very top.

36
00:02:26,110 --> 00:02:31,630
‫And attached to that, we have the base mesh, then the current mesh, then the projectile spawn point

37
00:02:31,630 --> 00:02:37,960
‫and notice that these are indented, indicating that they are attached to the component above them and

38
00:02:37,960 --> 00:02:43,450
‫they have these useful little dropdowns that allow us to collapse things that are attached to any given

39
00:02:43,450 --> 00:02:45,400
‫component if we want to do that.

40
00:02:45,400 --> 00:02:49,090
‫Now, if you've worked in blueprints before, you'll notice that something is missing.

41
00:02:49,090 --> 00:02:55,150
‫If you select any one of these components over here in the details panel, it's suddenly very empty.

42
00:02:55,150 --> 00:03:00,640
‫And that's because there is nothing exposed to blueprints from the C++ side.

43
00:03:00,640 --> 00:03:07,780
‫This is something that we have control over as C++ developers in Unreal Engine, you can expose components

44
00:03:07,780 --> 00:03:08,530
‫to blueprints.

45
00:03:08,530 --> 00:03:11,110
‫That's why we can see them here in the components panel.

46
00:03:11,110 --> 00:03:16,810
‫But we have not exposed any of the properties that belong to these components because that is something

47
00:03:16,810 --> 00:03:23,140
‫we actively have to specify from the C++ side, and we're going to learn how to do that in the videos

48
00:03:23,140 --> 00:03:23,560
‫to come.

49
00:03:23,560 --> 00:03:29,620
‫So when it comes time to take the capsule component and adjust its size or take the base mesh and actually

50
00:03:29,620 --> 00:03:35,320
‫assign a mesh to it, we'll be able to start doing those things once we've exposed those properties

51
00:03:35,320 --> 00:03:40,300
‫and then we can see them here in the details panel and give those properties valid values.

52
00:03:40,300 --> 00:03:43,300
‫So now we have a BP -- tank.

53
00:03:43,300 --> 00:03:48,190
‫As I mentioned, this is going to be the tank that we roll around and wreak havoc on the world.

54
00:03:48,190 --> 00:03:49,360
‫So that's great.

55
00:03:49,360 --> 00:03:52,270
‫Let's go ahead and close out of BP -- tank.

56
00:03:52,270 --> 00:03:57,580
‫And next, we'd like to create another blueprint class based on base --.

57
00:03:57,580 --> 00:03:59,860
‫And this can be for the tower.

58
00:03:59,890 --> 00:04:06,670
‫That's the enemy that we will have posted up at this central point here and the level that we will do

59
00:04:06,670 --> 00:04:07,420
‫battle with.

60
00:04:07,420 --> 00:04:10,510
‫So this will be a challenge for you.

61
00:04:10,510 --> 00:04:15,010
‫You're going to create a new blueprint class based on base --.

62
00:04:15,010 --> 00:04:18,640
‫Go ahead and call this BP, underscore -- turret.

63
00:04:18,640 --> 00:04:22,090
‫So pause the video and create this blueprint now.

64
00:04:25,130 --> 00:04:25,670
‫Okay.

65
00:04:25,670 --> 00:04:29,900
‫Let's go ahead and make our second blueprint based on base --.

66
00:04:29,900 --> 00:04:36,590
‫So here's our base --, lets right click create blueprint class based on base pawn and let's select

67
00:04:36,590 --> 00:04:44,270
‫the Pawns folder and we can call this BP Pawn Turret and click Create Blueprint Class.

68
00:04:44,270 --> 00:04:47,600
‫And here is our Pawn Turret Blueprint.

69
00:04:47,630 --> 00:04:53,120
‫Now it looks exactly the same as the base pawn and we're going to change that in the next lecture when

70
00:04:53,120 --> 00:04:58,310
‫we start exposing these components to blueprints so that we can set some properties here to make this

71
00:04:58,310 --> 00:05:01,280
‫blueprint look different than the pawn tank.

72
00:05:01,670 --> 00:05:09,050
‫So in this lecture, we derived a BP pawn tank blueprint from the base pawn class as well as a BP pawn

73
00:05:09,050 --> 00:05:09,680
‫turret.

74
00:05:09,680 --> 00:05:13,880
‫In the next lecture, we're going to talk about how we can make these look different from each other

75
00:05:13,880 --> 00:05:18,410
‫by exposing their components to blueprint so we can edit some properties.

76
00:05:18,770 --> 00:05:19,760
‫I'll see you soon.

