Jedność pracująca z prefabrykatami
Prefabrykaty to specjalne zasoby, które pozwalają programistom przechowywać GameObjects wraz z ich Komponentami i innymi danymi w konfigurowalnych szablonach, które można później ponownie wykorzystać pomiędzy Scenami i innymi Projektami lub utworzyć instancje za pomocą skryptu, bez konieczności ich ponownej konfiguracji.
Przypadki, w których prefabrykaty są przydatne:
- Aktywa środowiskowe (drzewa, krzewy, skały itp.)
- NPC (postacie niezależne)
- Pociski
- Instancje graczy
- Wszelkie przedmioty, które wymagają ponownego wykorzystania w grze
Przykładowe zastosowanie
Podczas przeciągania i upuszczania modeli bezpośrednio na scenę często pojawiają się pewne problemy, takie jak:
- Brakujące tekstury
- Zła skala
- Zły obrót
Powyższe problemy można łatwo naprawić w Scenie (przypisując odpowiedni materiał(y), zmieniając skalę/obrót itp.):
Jeśli jednak planujesz używać modelu wielokrotnie i/lub w różnych scenach, powtarzanie powyższych kroków szybko stanie się żmudnym zadaniem, więc zamiast tego możemy zapisać model w prefabrykacie.
Jak stworzyć prefabrykat
- Aby utworzyć prefabrykat w Unity, po prostu przeciągnij i upuść obiekt z widoku Sceny do widoku Projektu.
- Po utworzeniu prefabrykatu można go upuścić w dowolnej scenie, tworząc dokładną kopię:
Edycja prefabrykatów
Edycja istniejących Prefabów odbywa się na 2 sposoby: modyfikując je w edytorze Prefabów lub modyfikując je w Scenie.
Modyfikowanie w Edytorze prefabrykatów
- Wybierz prefabrykat w widoku projektu, a następnie w widoku inspektora kliknij "Open Prefab"
- Prefabrykat zostanie otwarty w edytorze, gdzie będziesz mógł go modyfikować.
- Po zakończeniu modyfikacji kliknij strzałkę wstecz w widoku hierarchii, aby zakończyć edycję i zapisać zmiany.
Modyfikowanie w scenie
- Upuść prefabrykat do widoku sceny i tam go edytuj.
- W moim przypadku dodałem kolejny obiekt do hierarchii (zwróć uwagę na symbol (+) obok ikony)
- Podczas modyfikowania prefabrykatów w Scenie zmiany nie są zapisywane automatycznie, zamiast tego musisz ręcznie wybrać obiekt główny prefabrykatu i w widoku inspektora kliknij "Overrides", a następnie kliknij "Apply All", aby zapisać zmiany, lub "Revert All" aby cofnąć zmiany.
- Niektóre akcje nie są obsługiwane podczas edycji Prefabrykatu bezpośrednio w scenie, na przykład, jeśli zajdzie potrzeba zrestrukturyzowania hierarchii, zostanie wyświetlony komunikat "Cannot restructure Prefab instance" i opcje "Open Prefab" lub "Cancel".
Aby zrestrukturyzować instancję Prefab, kliknij 'Open Prefab' lub kliknij prawym przyciskiem myszy prefabrykat w widoku Hierarchii, a następnie kliknij Prefabrykat -> Rozpakuj lub Prefab -> Rozpakuj całkowicie.
Rozpakowanie Prefabrykatu usunie jego powiązanie z głównym Prefabrykatem, dzięki czemu będzie on w pełni edytowalny na Scenie.
Aby ponownie zapisać rozpakowany prefabrykat, wybierz folder, w którym znajduje się oryginalny prefabrykat, a następnie przeciągnij i upuść zmodyfikowany obiekt z widoku hierarchii do tego prefabrykatu.
Czasami, jeśli zmiany są zbyt drastyczne, zostanie wyświetlony komunikat z potwierdzeniem.
Upewnij się dokładnie, że modyfikujesz właściwy prefabrykat, a następnie kliknij "Replace Anyway", aby sfinalizować akcję lub „Nie zastępuj”, aby anulować akcję.
Nowy prefabrykat jest teraz zapisany i gotowy do użycia.