﻿1
00:00:04,320 --> 00:00:05,670
‫Hé, welkom terug.

2
00:00:05,700 --> 00:00:11,280
‫In deze video gaan we praten over componenten en hoe onze basispion sommige van

3
00:00:11,280 --> 00:00:17,490
‫deze componenten wil hebben voor zaken als botsingen en visuele representatie, zoals meshes, evenals een

4
00:00:17,490 --> 00:00:20,740
‫spawnpunt van waaruit onze projectielen zullen verschijnen.

5
00:00:20,760 --> 00:00:26,070
‫We gaan het hebben over hoe componenten, ondersteuning, bevestiging, zodat we verschillende componenten

6
00:00:26,070 --> 00:00:32,760
‫aan elkaar kunnen bevestigen, en ook hoe onze pion een wortelcomponent heeft die de transformatie-informatie voor de

7
00:00:32,760 --> 00:00:33,930
‫-- opslaat.

8
00:00:34,200 --> 00:00:40,770
‫Nu hebben we onze eerste C++-klasse genaamd Base al gemaakt -- en nu zijn we klaar om wat dingen aan de

9
00:00:40,770 --> 00:00:42,630
‫basis toe te voegen --.

10
00:00:42,690 --> 00:00:50,090
‫De basis -- heeft wat componenten nodig, zoals mazen voor de basis en het torentje van de tank.

11
00:00:50,100 --> 00:00:55,470
‫C In onze meshes-map hebben we een tankbasis, we hebben een tanktoren en voor de toren hebben we ook

12
00:00:55,470 --> 00:00:57,210
‫een basis en een toren.

13
00:00:57,540 --> 00:01:00,480
‫We hebben dus een aantal mesh-componenten nodig.

14
00:01:00,480 --> 00:01:06,930
‫We willen ook een capsulecomponent om botsingen op te vangen, zodat onze tank en toren niet door elkaar

15
00:01:06,930 --> 00:01:08,000
‫heen gaan.

16
00:01:08,010 --> 00:01:10,890
‫Laten we het nu even hebben over componenten.

17
00:01:11,040 --> 00:01:17,180
‫Wanneer we een component aan een klasse toevoegen, moeten we beslissen welke klasse die component moet zijn.

18
00:01:17,190 --> 00:01:19,830
‫Nu is een keuze een scènecomponent.

19
00:01:20,070 --> 00:01:26,880
‫De klasse you seen component heeft enkele eigenschappen, zoals een transformatie, wat betekent dat het een locatie, een rotatie

20
00:01:26,880 --> 00:01:28,380
‫en dergelijke heeft.

21
00:01:28,440 --> 00:01:30,330
‫Het ondersteunt ook gehechtheid.

22
00:01:30,330 --> 00:01:34,530
‫Dit betekent dat we andere componenten aan een scènecomponent kunnen koppelen.

23
00:01:34,530 --> 00:01:36,900
‫Hoe dat werkt, leren we later.

24
00:01:37,020 --> 00:01:42,780
‫En een scènecomponent heeft geen visuele representatie, wat betekent dat het geen mesh of iets dergelijks

25
00:01:42,780 --> 00:01:43,410
‫heeft.

26
00:01:43,410 --> 00:01:45,570
‫We kunnen het niet echt zien in het spel.

27
00:01:45,570 --> 00:01:51,450
‫Nu zijn er enkele andere klassen in Unreal Engine die zijn afgeleid van een scènecomponent,

28
00:01:51,450 --> 00:01:52,650
‫zoals een capsulecomponent.

29
00:01:52,680 --> 00:01:59,130
‫De YOU-capsulecomponentklasse is gemaakt om botsingen aan te kunnen en dat is zo ongeveer alles waar het goed voor is.

30
00:01:59,130 --> 00:02:05,190
‫We gebruiken de capsulecomponent zodat onze -- niet door de vloer valt of door muren beweegt

31
00:02:05,190 --> 00:02:06,240
‫en dergelijke.

32
00:02:06,240 --> 00:02:11,850
‫Nu ook afgeleid van de scene component klasse is de statische mesh component.

33
00:02:12,150 --> 00:02:19,110
‫De gebruiksklasse statische mesh-componenten geeft ons de mogelijkheid om een visuele weergave te hebben, met name een mesh

34
00:02:19,140 --> 00:02:25,830
‫die bij onze ---klasse hoort en die we in de wereld kunnen zien terwijl we deze verplaatsen.

35
00:02:26,100 --> 00:02:32,550
‫Nu heeft onze klasse -- standaard al een component, deze wordt rootcomponent genoemd.

36
00:02:32,550 --> 00:02:37,440
‫Laten we teruggaan naar de VS-code en kijken of we deze rootcomponent kunnen vinden.

37
00:02:37,440 --> 00:02:43,170
‫Dus ik ben hier in Base Pont CP en ik ga gewoon ergens klikken,

38
00:02:43,170 --> 00:02:48,270
‫zoals hier in de constructor, en ik ga zo root-component typen.

39
00:02:48,450 --> 00:02:56,460
‫Nu ga ik hier met de rechtermuisknop op klikken en op ga naar definitie klikken en ineens hebben we een acteur

40
00:02:56,460 --> 00:02:56,850
‫geopend.

41
00:02:56,850 --> 00:03:04,740
‫En hier in actoren in een beschermde sectie zien we een componentaanwijzer die je hebt gezien, de rootcomponent.

42
00:03:05,190 --> 00:03:10,470
‫Dus deze variabele genaamd root-component bestaat in de actor-klasse.

43
00:03:10,470 --> 00:03:15,690
‫Dus alles dat van actor is afgeleid, erft deze rootcomponentvariabele.

44
00:03:16,260 --> 00:03:20,820
‫Dat betekent dat onze basis -- ook deze rootcomponentvariabele heeft.

45
00:03:20,850 --> 00:03:27,360
‫Dus wanneer we nadenken over de locatie van een bepaalde --, hebben we het eigenlijk over

46
00:03:27,360 --> 00:03:33,870
‫de locatie-informatie die is opgeslagen in de transformatie van die hoofdcomponent, wat een scènecomponent is.

47
00:03:33,870 --> 00:03:36,690
‫Scènecomponenten hebben dus hun eigen transformatie.

48
00:03:36,720 --> 00:03:42,930
‫Ik ga door en sluit Actor H en verwijder deze regel die ik heb toegevoegd aan de constructor van base

49
00:03:42,930 --> 00:03:43,500
‫--.

50
00:03:43,890 --> 00:03:50,640
‫Dus we weten dat onze -- heeft deze root-component en het type is you gezien-component, wat betekent dat

51
00:03:50,640 --> 00:03:52,770
‫onze -- een transformatie heeft.

52
00:03:52,770 --> 00:03:57,210
‫Maar we weten ook dat deze rootcomponent geen visuele representatie heeft.

53
00:03:57,210 --> 00:03:58,380
‫Het is onzichtbaar.

54
00:03:58,380 --> 00:04:05,820
‫We kunnen die hoofdcomponent echter opnieuw toewijzen aan een ander object waarvan het type is afgeleid van de geziene component.

55
00:04:05,850 --> 00:04:07,350
‫Nu zagen we dat de U.

56
00:04:07,350 --> 00:04:10,500
‫Capsule component klasse is afgeleid van scene component.

57
00:04:10,500 --> 00:04:17,670
‫Dus als we een capsule maken, kunnen we die toewijzen als de root in plaats van die standaard scene-component.

58
00:04:17,820 --> 00:04:21,360
‫Nu vermeldden we dat scènecomponenten, bijlage ondersteunen.

59
00:04:21,360 --> 00:04:26,790
‫Dit betekent dat we andere componenten kunnen maken en deze aan een scènecomponent kunnen koppelen.

60
00:04:26,790 --> 00:04:32,730
‫Dus als we een statische mesh-component maken, bijvoorbeeld base mesh genaamd, kunnen we deze aan de

61
00:04:32,730 --> 00:04:33,510
‫root-component koppelen.

62
00:04:33,540 --> 00:04:40,080
‫Omdat een statisch mesh-component is afgeleid van de scene-componentklasse, ondersteunt het nu ook bijlage.

63
00:04:40,080 --> 00:04:44,760
‫Dus als we nog een mesh maken, kunnen we deze aan de eerste mesh bevestigen.

64
00:04:44,760 --> 00:04:50,760
‫We zouden dus een huidige mesh statische mesh-component kunnen maken en deze aan de basis mesh-component kunnen koppelen.

65
00:04:50,790 --> 00:04:53,940
‫Nu kunnen we ook gewoon nieuwe scènecomponenten maken.

66
00:04:53,940 --> 00:05:00,690
‫Als we bijvoorbeeld een scènecomponent willen die we projectiel-spawnpunt kunnen noemen, kunnen we deze aan het

67
00:05:00,690 --> 00:05:01,890
‫torentje-gaas bevestigen.

68
00:05:01,890 --> 00:05:03,750
‫Waarom zouden we nu gewoon een scène maken?

69
00:05:03,860 --> 00:05:04,510
‫Onderdeel.

70
00:05:04,520 --> 00:05:07,020
‫We kunnen het geen eigen visuele representatie geven.

71
00:05:07,040 --> 00:05:13,280
‫Welnu, als we een spawnpunt nodig hebben, een locatie van waaruit we projectielen willen spawnen, dan is een scènecomponent hier perfect voor omdat

72
00:05:13,280 --> 00:05:19,100
‫het zijn eigen transformatie, zijn eigen locatie, rotatie, enz. heeft. en we kunnen dat gebruiken als

73
00:05:19,100 --> 00:05:22,460
‫een punt om projectielen van te spawnen.

74
00:05:22,490 --> 00:05:28,880
‫Dus na het toewijzen van een capsule als de rootcomponent, heeft onze rootcomponent nu de U.

75
00:05:28,910 --> 00:05:36,560
‫Type capsulecomponent en het basisgaas en het torentjegaas zouden statische gaascomponenten zijn en ons

76
00:05:36,560 --> 00:05:40,460
‫projectiel-spawnpunt zou een U-gezien component zijn.

77
00:05:40,880 --> 00:05:46,670
‫Laten we het nu even hebben over dit gehechtheidsgedoe, want deze dingen zijn allemaal aan elkaar gehecht.

78
00:05:46,700 --> 00:05:52,850
‫Dit betekent dat als de rootcomponent door de ruimte beweegt, alles wat eraan vast zit

79
00:05:52,850 --> 00:05:54,350
‫mee zal bewegen.

80
00:05:54,740 --> 00:05:59,640
‫Maar het basisnet zelf kan ten opzichte van de wortel bewegen.

81
00:05:59,660 --> 00:06:06,260
‫Het kan bijvoorbeeld ronddraaien en alles wat aan het basisgaas is bevestigd, volgt mee.

82
00:06:06,680 --> 00:06:14,210
‫Evenzo hebben we dit torennet bevestigd aan het basisnet en het kan zelf onafhankelijk van het basisnet

83
00:06:14,210 --> 00:06:15,020
‫bewegen.

84
00:06:15,050 --> 00:06:21,320
‫Als we bijvoorbeeld het torentje-mesh roteren, roteert het en alles wat eraan vast zit, zoals

85
00:06:21,320 --> 00:06:25,270
‫de scènecomponent, zal samen met het torentje-mesh volgen.

86
00:06:25,280 --> 00:06:30,560
‫De scènecomponent beweegt dus mee met het gaas van de toren terwijl het roteert.

87
00:06:30,560 --> 00:06:35,450
‫Maar als we dat zouden willen, zouden we natuurlijk de scènecomponent kunnen verplaatsen ten opzichte van het torentjegaas.

88
00:06:35,630 --> 00:06:40,550
‫En aangezien er niets aan de scènecomponent is gekoppeld, is er niets om mee te volgen.

89
00:06:40,580 --> 00:06:46,330
‫Laten we nu eens kijken hoe componenten in blauwdrukken werken, wat de inhoudsmap heeft geselecteerd.

90
00:06:46,340 --> 00:06:50,930
‫Ik ga met de rechtermuisknop klikken en Blauwdrukklasse selecteren om een nieuwe blauwdruk te maken.

91
00:06:50,960 --> 00:06:59,000
‫Laten we actor kiezen en deze Components Actor noemen, dubbelklik nu op componenten actor en merk op dat we een

92
00:06:59,000 --> 00:07:01,020
‫standaard scene root hebben.

93
00:07:01,040 --> 00:07:05,040
‫Dit vertegenwoordigt die rootcomponentvariabele die we in C ++ zagen.

94
00:07:05,060 --> 00:07:11,780
‫Nu kunnen we, als we willen, nieuwe componenten toevoegen door op de knop Toevoegen te klikken en het type component te selecteren dat

95
00:07:11,780 --> 00:07:12,770
‫we willen toevoegen.

96
00:07:12,770 --> 00:07:15,790
‫Zoek naar Capsule en selecteer Capsulebotsing.

97
00:07:15,800 --> 00:07:17,900
‫Dit is een capsulecomponent.

98
00:07:17,900 --> 00:07:20,320
‫Zijn C++ tegenhanger is de U.

99
00:07:20,330 --> 00:07:21,780
‫Capsule component klasse.

100
00:07:21,800 --> 00:07:24,260
‫Merk op dat het net onder de standaardscène staat.

101
00:07:24,260 --> 00:07:27,440
‫Root Dit geeft aan dat het aan deze scene is gekoppeld.

102
00:07:27,440 --> 00:07:30,350
‫Root We kunnen doorgaan met het toevoegen van meer componenten.

103
00:07:30,350 --> 00:07:36,620
‫Als u bijvoorbeeld Kub selecteert, wordt een statische mesh-component toegevoegd en wordt de statische mesh-eigenschap

104
00:07:36,620 --> 00:07:40,430
‫in het detailvenster automatisch ingesteld op een kubus.

105
00:07:40,430 --> 00:07:41,460
‫Statisch gaas.

106
00:07:41,480 --> 00:07:46,420
‫Merk nu op dat in het componentenpaneel de kubus zich net onder de capsule bevindt.

107
00:07:46,430 --> 00:07:52,280
‫Als we op de vervolgkeuzelijst ernaast klikken, zien we de kubus hier niet meer, dus we kunnen deze samenvouwen om

108
00:07:52,280 --> 00:07:55,490
‫objecten te verbergen die aan een bepaald onderdeel zijn gekoppeld.

109
00:07:55,490 --> 00:08:01,340
‫Nu kunnen we de root-component opnieuw toewijzen door op een van onze componenten te klikken en deze naar de standaard scene-root

110
00:08:01,340 --> 00:08:01,970
‫te slepen.

111
00:08:01,970 --> 00:08:07,370
‫Als ik bijvoorbeeld op de capsule klik en deze naar de standaardscène-root sleep, wordt het nu

112
00:08:07,370 --> 00:08:08,210
‫de root-component.

113
00:08:08,210 --> 00:08:11,870
‫Dus we hebben de rootcomponent opnieuw toegewezen aan deze capsulecomponent.

114
00:08:11,870 --> 00:08:14,180
‫We kunnen ook beslag toewijzen.

115
00:08:14,180 --> 00:08:16,430
‫Laten we klikken op toevoegen en bol selecteren.

116
00:08:16,430 --> 00:08:21,200
‫Nu is de bol standaard aan de capsule bevestigd, net als het statische gaas van de kubus.

117
00:08:21,200 --> 00:08:27,560
‫Maar als ik bol op de kubus klik en sleep, zit de bol nu direct aan de kubus vast.

118
00:08:27,560 --> 00:08:33,530
‫Als we op de bol klikken en deze naar de capsule slepen, hebben we de mogelijkheid om een nieuwe wortel te maken of

119
00:08:33,530 --> 00:08:34,340
‫te bevestigen.

120
00:08:34,700 --> 00:08:39,680
‫Als we bevestigen selecteren, wordt de bol gewoon weer aan de capsule bevestigd.

121
00:08:39,950 --> 00:08:46,010
‫Maar als we nieuwe wortel maken zouden selecteren, zou de bol in plaats daarvan de wortelcomponent worden.

122
00:08:46,550 --> 00:08:52,910
‫We hebben dus niet alleen controle over het maken van nieuwe componenten en hoe ze zijn gekoppeld, maar we kunnen

123
00:08:52,910 --> 00:08:54,770
‫die rootcomponent ook opnieuw toewijzen.

124
00:08:55,130 --> 00:09:00,410
‫Laten we doorgaan en de bol selecteren door met de linkermuisknop ingedrukt te houden shift en met de linkermuisknop op de kubus

125
00:09:00,410 --> 00:09:04,850
‫te klikken om deze ook te selecteren en op delete te drukken om deze componenten te verwijderen.

126
00:09:05,180 --> 00:09:10,520
‫Voor je uitdaging wil ik graag dat je wat meer vertrouwd raakt met componenten in blauwdrukken.

127
00:09:10,520 --> 00:09:12,980
‫Voeg een aantal componenten toe aan onze acteur.

128
00:09:12,980 --> 00:09:17,510
‫We hebben al een capsulecomponent en dat is momenteel de rootcomponent.

129
00:09:17,510 --> 00:09:23,960
‫Voeg een statische mesh-component toe en wijs voor de statische mesh de tankbasis toe, voeg vervolgens een tweede statische

130
00:09:23,960 --> 00:09:27,950
‫mesh-component toe en wijs de tankkoepel toe als de statische mesh.

131
00:09:27,980 --> 00:09:34,040
‫Zorg ervoor dat u het basisgaas aan de capsule bevestigt en het torentje aan het basisgaas.

132
00:09:34,040 --> 00:09:40,640
‫Zodra je deze beweging hebt gedaan en het basisgaas hebt geschaald en observeert hoe het bijgevoegde torentje-gaas zich gedraagt, pauzeer je de

133
00:09:40,640 --> 00:09:42,800
‫video en probeer je dit eens.

134
00:09:45,720 --> 00:09:46,080
‫Oké.

135
00:09:46,080 --> 00:09:48,780
‫Dus ik ga op Toevoegen klikken en statische mesh selecteren.

136
00:09:48,780 --> 00:09:53,550
‫Nu ga ik in het detailvenster het statische gaas instellen op het tankbasisgaas.

137
00:09:53,550 --> 00:09:57,150
‫Vervolgens ga ik op Toevoegen klikken en opnieuw statisch mesh selecteren.

138
00:09:57,150 --> 00:10:02,760
‫Merk op dat het automatisch aan de eerste statische mesh wordt gekoppeld, omdat ik dat nog steeds had geselecteerd

139
00:10:02,760 --> 00:10:03,840
‫in het detailvenster.

140
00:10:03,840 --> 00:10:06,840
‫Ik ga het statische gaas op de tankkoepel plaatsen.

141
00:10:06,870 --> 00:10:12,330
‫Nu het eerste statische netwerk is geselecteerd, ga ik het verplaatsen en merk op dat het

142
00:10:12,330 --> 00:10:15,330
‫tweede statische netwerk dat eraan is bevestigd, meebeweegt.

143
00:10:15,330 --> 00:10:18,750
‫Hetzelfde geldt voor rotatie en schaal.

144
00:10:18,750 --> 00:10:22,770
‫Naarmate ik het opschaal, wordt het bijgevoegde gaas ook groter.

145
00:10:23,130 --> 00:10:29,400
‫Dus we hebben het gehad over componenten en we hebben gezien hoe we componenten aan andere componenten kunnen bevestigen en

146
00:10:29,400 --> 00:10:30,480
‫bewegen en schalen.

147
00:10:30,480 --> 00:10:34,290
‫Het ene onderdeel heeft invloed op de andere onderdelen die eraan vast zitten.

148
00:10:34,290 --> 00:10:41,100
‫We hebben ook gezien dat pons een rootcomponent van de actorklasse erven en dit is het object dat

149
00:10:41,100 --> 00:10:43,650
‫de transformatie-informatie voor de pion opslaat.

150
00:10:43,980 --> 00:10:48,270
‫We zullen leren over het maken van componenten in C++ en de komende lezingen.

151
00:10:48,840 --> 00:10:50,250
‫Ik zie je in de volgende video.

