Klasy vs Obiekty w Blueprints

Pojęcia „klasa” i „obiekty” mogą zmylić tych, którzy zaczynają pracę w Blueprints. Kiedy tworzymy nowy Blueprint, tworzymy klasę, która jest rodzajem szablonu, który definiuje cechy i zachowanie obiektów tworzonych z tej klasy.

Poniższy obrazek przedstawia 4 obiekty tej klasy, które zostały dodane do poziomu.

Te obiekty są również nazywane instancjami klasy „HelloUnreal”. Słowo „instancja” jest bardzo powszechne w edytorze Unreal Engine 4, dlatego warto się do niego przyzwyczaić.

W Actors są obiekty, które możemy dodać do poziomu

Każdy obiekt ma własny zestaw zmiennych oparty na klasie pochodzenia, ale z niezależnymi wartościami w stosunku do innych obiektów. Wyobraź sobie klasę typu „Osoba”, bylibyśmy obiektami tej klasy o różnych nazwach, wieku i wadze. 

W schemacie możemy stworzyć zmienną, która odwołuje się do innych obiektów, poniższy obrazek pokazuje górę listy obiektów dostępnych w wyborze typu zmiennej:

Możemy również tworzyć zmienne odwołujące się do klas:

Najczęstszym jest tworzenie zmiennych odnoszących się do obiektów. Zmienne, które odwołują się do klas, są używane tylko w bardzo szczególnych przypadkach.

Jako przykład, stwórzmy nowy Blueprint ze zmienną, która odwołuje się do innego planu obiektu, którym w tym przypadku będzie plan HelloUnreal. Pozwoli to na komunikację między planami i jest bardzo przydatne podczas tworzenia gry.

Utwórz nowy plan o nazwie „ObjRef” (lub innej wybranej przez Ciebie nazwie). Utwórz nową zmienną o nazwie „HelloObj”, wybierz opcję „Editable” iw typie zmiennej wybierz plan klasy „HelloUnreal_C”, która znajduje się w kategorii „object”.

Nazwa klas utworzonych przez blueprint ma przyrostek „_C”, który jest automatycznie wstawiany przez edytor.
Uwaga: po wersji 4.5 edytora ten przyrostek „_C” nie jest już używany, więc nazwa klasy i nazwa schematu stały się takie same )

Dodaj ten nowy schemat na poziomie. Poniższy obrazek przedstawia kartę „Szczegóły” zawierającą zmienną „HelloObj”.

Kliknij pole ComboBox znajdujące się obok nazwy zmiennej „HelloObj”. Edytor wyświetli listę aktorów na poziomie należącym do klasy HelloUnreal. Wybierz jedną z listy.

W trybie “Graph” planu “ObjRef” możemy przeciągnąć zmienną “HelloObj” do “EventGraph” używając opcji “Get”. W ten sposób możemy uzyskać dostęp do zmiennych i funkcji planu, do którego odwołuje się zmienna.


Źródło; https://romeroblueprints.blogspot.com/2014/04/class-vs-objects-in-blueprints.html