‫Cześć i witaj.
‫Na tym wykładzie nauczymy się o obiektach i jak możemy wykorzystać funkcjonalność obiektów
‫i ich danych, aby rozpocząć tworzenie interesujących programów.
‫Zanurzmy się.
‫Zacznijmy więc ten wykład od wprowadzenia nowej koncepcji.
‫Pojęcie obiektów jest absolutnie niezbędne dla wielu języków programowania.
‫Tak więc przedmiot jest zasadniczo czymś, co chcesz reprezentować, coś jak w grze, w której możesz
‫mieć poszukiwacza przygód.
‫Jest obiektem w twoim świecie i może mieć pewne dane, które reprezentują to, kim jest.
‫Na przykład takie rzeczy jak jego punkty doświadczenia, a może jego poziom.
‫Jest poszukiwaczem przygód drugiego poziomu.
‫Takie rzeczy to dane, które składają się na poszukiwacza przygód.
‫Ale to nie wszystko, czym jest poszukiwacz przygód.
‫Poszukiwacz przygód to także niektóre funkcje, takie jak możliwość wystrzeliwania strzał, na przykład możliwość skakania i
‫tak dalej.
‫Istnieją jednak inne rzeczy, które mogą być przedmiotami.
‫Na przykład, możemy reprezentować rzeczy w świecie rzeczywistym, na komputerze, takie jak odtwarzacz, i
‫możemy przechowywać odpowiednie właściwości odtwarzacza, na przykład czy odtwarzacz używa kontrolera?
‫Czy gracz jest numer jeden czy numer dwa?
‫Tego rodzaju fragmenty danych i odpowiednie funkcje, takie jak pobieranie ich bieżących danych wejściowych.
‫Czy na przykład przytrzymują spację, aby uzyskać poziom umiejętności gracza, a następnie możesz
‫mieć całkowicie abstrakcyjne obiekty, takie jak lista.
‫Możesz więc mieć listę zawierającą pozycje jeden, dwa, trzy, cztery.
‫I jest, a może może zawierać dowolne przedmioty, które ci się podobają.
‫Dane mogą ulec zmianie, ale mogą również mieć pewne funkcje, takie jak usunięcie ostatniej pozycji z listy
‫lub dodanie na koniec listy.
‫Widać więc, że obiekty są bardzo, bardzo elastyczne.
‫Mogą być używane do reprezentowania niezliczonych różnych rzeczy.
‫Zauważysz, że funkcjonalność na dole tych obiektów jest w rzeczywistości tym, czym są te węzły lub
‫jak wiele węzłów znajduje się w Blueprint.
‫Zaczynają więc trochę mapować między obiektami a funkcjonalnością.
‫Dobra.
‫Wprowadziliśmy więc kilka nowych koncepcji, które po prostu trochę przypomnijmy.
‫Powiedzieliśmy więc, że obiekty to zbiory danych i funkcjonalności.
‫Być może nie zdawaliśmy sobie sprawy, że aktorzy są w rzeczywistości przedmiotami.
‫Aktorzy to obiekty, które mogą przejść poziom i możesz to zobaczyć, jeśli wejdziesz na swój
‫poziom, wybierzesz sześcian, zobaczysz, że jest cała masa szczegółów, namalujesz ładunek danych.
‫Jak zobaczymy za chwilę, w formie węzła i schemacie jest mnóstwo funkcji.
‫Następnie są komponenty.
‫Teraz komponenty, których wcześniej nie omawialiśmy, ale oto one.
‫Są to obiekty, które mogą przejść na aktora, podczas gdy aktorzy wchodzą na poziom, komponenty trafiają na samego
‫aktora.
‫Tak więc po wybraniu sześcianu możesz zobaczyć w górnej części panelu szczegółów, że istnieje ten statyczny
‫komponent siatki.
‫Jeśli faktycznie to klikniesz, zobaczysz, że okienko szczegółów otrzymuje ograniczony zestaw szczegółów.
‫Pokazuje nie wszystkie właściwości dostępne w aktorze kostki, ale tylko podzbiór właściwości należących do
‫statycznego komponentu siatki, który jest zasadniczo komponentem odpowiedzialnym za informowanie nas,
‫jak narysować kostkę.
‫Teraz te obiekty mogą często mieć o wiele więcej danych niż to, co oznacza, że mogą
‫stać się dość trudne do manipulowania przez twój komputer, a na pewno, jeśli będzie musiał kopiować te obiekty.
‫Więc zamiast tego, używamy sprytnej struktury zwanej referencją, która jest zasadniczo tylko
‫adresem lub gdzie mam znaleźć ten obiekt w pamięci komputera, żebym nie musiał cały
‫czas go przesuwać?
‫Omówimy trochę więcej o tym, jak to faktycznie działa w pamięci, kiedy przejdziemy do C++, ale na razie
‫wystarczy wiedzieć, że to tylko adres.
‫Więc co możemy zrobić, na przykład, zanurzmy się w Unreal.
‫Gdybyśmy byli na naszym głównym poziomie i chcielibyśmy użyć niektórych funkcji w naszym sześcianie, to co mogę zrobić, to wybrać sześcian
‫w scenie, a następnie przejść do planu mojego poziomu i kliknąć prawym przyciskiem
‫myszy, a następnie mogę kliknij odnośnik tworzenia do Cube, co spowoduje utworzenie nowego węzła.
‫Co to robi?
‫Cóż, to w zasadzie mówi nam, że to jest adres sześcianu.
‫Jeśli chcesz coś zrobić z kostką, oto gdzie ją znajdziesz.
‫To, co dzieje się w Blueprint, kiedy uruchamiasz grę, to szukanie tej kostki.
‫A potem możesz zadawać pytania lub używać funkcji na kostce, na przykład mówiąc: Hej, gdzie znajduje się
‫twój statyczny komponent siatki?
‫I on idzie, ok, statyczne elementy siatki tam.
‫Więc idziemy i znajdujemy komponent siatki statycznej, a potem możemy zadać pytania na ten temat, a oni mogą powiedzieć: Hej,
‫jak masz na imię?
‫Komponent siatki statycznej.
‫A składnik statyczny może powiedzieć: Hej, nazywam się Bob.
‫W ten sposób możemy wykorzystać te referencje i wykorzystać funkcjonalność wielu różnych obiektów, aby dostać
‫się tam, gdzie chcemy.
‫Teraz powiedzieliśmy, że referencja to miejsce, w którym można znaleźć obiekt.
‫A teraz coś, na co warto zwrócić uwagę, to okienko danych.
‫Co to jest.
‫TAPPIN Cóż, to odniesienie do kostki faktycznie ma jeden.
‫Ta mała niebieska okrągła rzecz po prawej stronie to pinezka danych.
‫Właściwie widzieliśmy je już wcześniej na węzłach napisów po lewej stronie i są one
‫fioletowe.
‫A czym one się różnią od innych typów szpilek, które widzieliśmy, tych białych szpilek?
‫Cóż, pin danych jest wejściem lub wyjściem danych dla węzła.
‫Więc węzeł, jeśli jest po lewej stronie, jest to dane wejściowe, z którymi węzeł może pracować.
‫Jeśli znajduje się po prawej stronie, są to dane, które generuje Node.
‫Tak więc w przypadku kostki ten węzeł tworzy odwołanie do aktora kostki, a następnie pinów wykonawczych.
‫Tak naprawdę nazywa się te białe szpilki, aby odróżnić je od szpilek danych, i
‫nadal są one, kiedy uruchomić węzeł.
‫Tak więc piny danych są tym, z czym należy uruchomić węzeł.
‫Kołki wykonawcze służą do uruchamiania.
‫Mając wszystkie te informacje, wykorzystajmy trochę funkcjonalność tych obiektów.
‫Więc mamy odniesienie do kostki.
‫Jeśli przeciągniemy pin odwołania do kostki, możesz wykorzystać wszystkie funkcje, które ma ta kostka.
‫Jak powiedziałem, mamy komponent na kostce zwany statycznym komponentem siatki i chcę iść dalej
‫i zdobyć odniesienie do tego.
‫Poszukamy więc statycznych komponentów siatki.
‫A najniższą rzeczą dla mnie jest uzyskanie statycznego komponentu siatki.
‫Mogę na to kliknąć.
‫Otrzymujemy nowy węzeł z wejściem będącym referencją do kostki, a wyjściem będącym referencją do tego.
‫To statyczny element siatki.
‫Więc jeśli przeciągniemy to, możemy poprosić o funkcjonalność statycznego komponentu
‫siatki, taką jak pobierz wyświetlaną nazwę, która otrzyma dane wejściowe odniesienia do statycznego komponentu siatki i użyje swojej funkcji pobierz
‫wyświetlaną nazwę, a następnie zwróci string lub wartość tekstową, którą możemy wydrukować za pomocą węzła print
‫string.
‫Możemy więc przeciągnąć to i wpisać print string, a następnie podłączyć uwagi dotyczące wykonania, tak aby przebiegały
‫one za pozostałymi dwoma łańcuchami print w Begin Play, zauważysz, że niektóre z tych węzłów nie mają pinów
‫wykonania i może być mylące.
‫Kiedy uciekają?
‫Cóż, uruchamiają się wtedy, gdy plany uznają to za stosowne, zasadniczo wtedy, gdy jest to potrzebne
‫węzłowi, który ma pin wykonawczy.
‫Więc jeśli pójdziemy dalej i wciśniemy play, zobaczysz, że wyskakuje z nazwą kostki statycznej komponentu siatki zero,
‫coś w tym stylu to program bitowy, może to nie jest, to nie jest Bob. Jest to trochę bardziej
‫skomplikowane.
‫Ale widzicie, że zasadniczo zakodowaliśmy ten łańcuch pytań, który miałem na slajdzie.
‫Chciałabym więc zachęcić was do pójścia naprzód i uzyskania masy naszych statycznych elementów siatki.
‫Skonfigurowaliśmy to w przeszłości.
‫Jeśli wejdziesz na poziom i spojrzysz na panel szczegółów, zobaczysz, że jedną z właściwości
‫fizycznych była masa, którą skonfigurowaliśmy jako część danych na składniku siatki statycznej.
‫Cóż, jeśli usuniesz węzeł pobierania nazwy wyświetlanej i przeciągniesz statyczny komponent siatki, powinieneś
‫być w stanie wyszukać get mass, a to powinno dać ci fragment danych o statycznej komponencie siatki i
‫sprawdzić, czy możesz wydrukować tę wartość za pomocą nasz węzeł łańcucha wydruku wstrzymuje wideo i zaczyna.
‫Dobra.
‫Witamy spowrotem.
‫Więc jeśli wrócimy do planu, po prostu usuń naszą wyświetlaną nazwę, przeciągnij statyczny komponent siatki i
‫wyszukaj get mass.
‫Następnie możemy wciągnąć ten węzeł.
‫Mamy tu wartość zwrotu i to będzie nasza wartość masy.
‫Możesz zobaczyć, czy najedziesz kursorem na to, że zwraca masę tego składnika w kilogramach.
‫A tak przy okazji, zwracana wartość oznacza po prostu dane wyjściowe, a następnie możemy przeciągnąć ten węzeł do naszego
‫ciągu in dla ciągu drukowania.
‫I widzisz, że tworzy mały węzeł konwersji, który jest w porządku.
‫Konwertuje z jakiejkolwiek tej wartości na coś, co zaakceptuje łańcuch drukowania.
‫Możemy iść dalej i nacisnąć play i widzisz, że otrzymujemy wartość 1000, która, jak wiemy, była masą, którą
‫skonfigurowaliśmy lub cokolwiek faktycznie konfigurujesz.
‫Możesz to zmienić i zobaczyć, że zmieni się również ta wartość.
‫To tyle w przypadku tego wykładu.
‫Dowiedzieliśmy się o obiektach i ich odniesieniach oraz o tym, jak używać węzłów funkcjonalności w planach.