‫Welkom terug.
‫We hebben dus al een nieuwe capsulecomponentaanwijzer gemaakt en deze naar voren verklaard, zodat we het headerbestand niet
‫in base op h hoefden op te nemen.
‫Het is nu tijd om daadwerkelijk een subobject van een capsulecomponent te construeren voor onze basis-POM. En als we dat eenmaal
‫doen, gaan we onze rootcomponent instellen als de capsule.
‫Dus hoe bouwen we eigenlijk een you capsule-component?
‫Het proces is erg onwerkelijk.
‫Engine-specifieke onwerkelijke engine heeft een standaard subobject gemaakt.
‫Dit is een sjabloonfunctie.
‫Een sjabloonfunctie past zich aan het gekozen type aan, zodat we een bepaald type kunnen kiezen en een standaard kunnen maken.
‫Subobject zal zich aanpassen aan dat type.
‫We geven het type dat we willen construeren door in create default sub-object.
‫In tegenstelling tot een gewone functie heeft het deze punthaken.
‫Hier geven we het te construeren type door.
‫Maak nu een standaardsubobject met een argument tussen haakjes.
‫Dit wordt een naam die we aan het subobject toewijzen.
‫Dit is anders dan de naam van de variabele en wordt doorgegeven als een letterlijke tekenreeks.
‫Dus hier is een voorbeeld.
‫Laten we zeggen dat we een u-statische mesh-component willen maken.
‫Dus we noemen maak standaard sub-object en beëindigen de punthaken die we doorgeven in het type u statische mesh-component en tussen
‫haakjes geven we het een naam.
‫Nu heb je al gezien dat je voor String Literals de tekstmacro moet gebruiken.
‫Dus we geven onze string letterlijk door in het gebruik van de tekstmacro hier.
‫Zoals ik al zei, is dit een interne naam die wordt gebruikt door Unreal Engine.
‫Er zijn andere functies die dit gebruiken.
‫Er is bijvoorbeeld een functie met de naam get default sub-object op naam.
‫Het haalt een subobject op dat bij een bepaald object hoort en je kunt het een bepaalde naam
‫noemen en het zoekt het subobject met die gekozen naam.
‫Dus de algemene functieaanroep om een standaard subobject te maken ziet er als volgt uit.
‫Het type komt tussen de punthaken en de naam tussen haakjes.
‫Create default sub object retourneert nu het adres van de nieuw gemaakte component.
‫Dus in ons geval, als we de statische mesh-component gebruiken als het type, krijgen we het adres van een statische
‫mesh-component voor gebruik en kunnen we die opslaan in een aanwijzer, omdat aanwijzers adressen van dingen opslaan.
‫Stel dat we een statische mesh-componentaanwijzer gebruiken die mesh wordt genoemd.
‫Dan kunnen we dat adres terugnemen door een standaard subobject te maken en dat adres in onze mesh-aanwijzer op
‫te slaan.
‫Dus nu je weet hoe het maken van een standaard subobject werkt, ga je dit gebruiken om
‫een capsulecomponentobject te construeren.
‫Je gaat dit doen in de basis PON-constructor, gebruik maak een standaard sub-object om een
‫capsulecomponent te construeren, pas in je capsulecomponent en de punthaken als het type om te construeren en door
‫te geven in capsulecollider verpakt in een tekstmacro tussen haakjes.
‫Pauzeer de video en voeg deze nu toe aan base pont CP in de constructor.
‫Oké.
‫Dus we zijn hier in Bass Pond.
‫CP en we willen graag een capsulecomponent maken.
‫Dus we gaan onze capsule comp-variabele nemen en de waarde toewijzen die wordt geretourneerd door het standaardsubobject
‫maken.
‫Nu, zoals we hebben gezien, heeft deze sjabloonfunctie zowel punthaken als haakjes, en we zagen dat het
‫type tussen de punthaken komt, we gaan de U-capsulecomponent gebruiken.
‫En voor de haakjes gaan we de tekstmacro gebruiken en we gaan deze capsule-collider noemen.
‫En daar gaan we.
‫Nu gebruiken we je capsulecomponent om een object van dit type te construeren.
‫En wanneer we een type gebruiken, nemen we het headerbestand op.
‫Laten we nu eens kijken wat er gebeurt als we proberen te compileren.
‫Nogmaals, je kunt live codering gebruiken of je kunt hier compileren in VZ-code.
‫Ik ga hier in deze sectie VTS-code compileren.
‫Dus je kunt gewoon weten dat wanneer ik compileer ik de Unreal Engine-editor heb gesloten en ik gewoon vanaf hier aan het compileren
‫ben.
‫Ik zou graag de foutmelding hier willen zien en VTS-code die dit nu hier probeert te compileren.
‫We krijgen een andere foutmelding dan die we in de laatste video zagen.
‫Gebruik van ongedefinieerd type u capsulecomponent.
‫Deze keer proberen we het componenttype U-capsule hier in het CPP-bestand te gebruiken om een object te construeren.
‫Hier is de foutcode voor het geval u dit specifieke type fout wilt googlen voor meer informatie.
‫Dus nu hebben we twee verschillende soorten compilatiefouten gezien in dit gedeelte van de cursus, en we kennen
‫de oorzaak van deze specifieke fout.
‫We hebben je capsulecomponent niet toegevoegd.
‫Hier is de U-capsule-component in de documentatie van Unreal Engine en hier is de opname die we nodig hebben
‫voor dit type.
‫Dus ik ga dit kopiëren en hier bovenaan Base Pond CPP plakken.
‫Als ik nu opnieuw probeer te compileren, is de compilatie gelukt, we zien geen fouten.
‫Ik ga de terminal nu sluiten.
‫Dus hebben we de capsulecomponent gemaakt.
‫Het volgende dat ik zou willen doen, is ervoor zorgen dat de capsulecomponent de root is.
‫Nu hebben we gezien hoe we een component als root en blauwdrukken kunnen toewijzen door in C++ te klikken en te slepen.
‫Het is ook vrij eenvoudig.
‫We nemen eenvoudig die rootcomponentvariabele en kennen deze de waarde van capsule comp toe.
‫Nu hebben we gespecificeerd dat capsule comp de rootcomponent moet zijn.
‫Laten we dit nog eens compileren.
‫En nu, na een succesvolle compilatie, zou ik graag terug willen springen in de editor.
‫Oké.
‫Ik heb de editor geopend en ik ga mijn basis --, C ++ -klasse nemen en er een naar binnen slepen.
‫En bekijk dit nu eens.
‫We zien een capsulecomponent.
‫Nu in de wereld, uit voering.
‫Het laat zien dat de basis -- die ik zojuist heb binnengesleept, nu is geselecteerd net boven zoeken in het
‫detailvenster.
‫Ik kan dit naar beneden slepen en alle componenten op deze basis zien --.
‫En alles wat we zien is deze capsule comp, want dat is het enige onderdeel dat het heeft.
‫Dus we hebben nu onze capsulecomponent toegevoegd en we zien het resultaat daarvan wanneer we daadwerkelijk een instantie van
‫deze klasse aan de wereld toevoegen in de Unreal Engine Editor.
‫Samenvattend hebben we geleerd hoe we een capsulecomponent uit C++ kunnen construeren, en we hebben er de rootcomponent van
‫gemaakt door de waarde van de variabele rootcomponent toe te wijzen aan capsule comp.
‫In de volgende video gaan we meer componenten toevoegen aan onze basis in C++ klasse.
‫Ik zie je dan.