Czy można używać silnika Unreal Engine jako dużej biblioteki C ++ bez użycia edytora?

16

Chcę napisać grę w całości w C ++, ale chciałbym skorzystać z możliwości oferowanych przez silnik Unreal Engine, szczególnie w zakresie grafiki i fizyki. Niemniej jednak zdecydowanie nie lubię jego edytora wizualnego: uważam, że jest ciężki, powolny i nieintuicyjny. Wreszcie zmusza mnie do korzystania z Visual Studio zamiast mojego ulubionego C ++ IDE.

Czy istnieje sposób wykorzystania silnika Unreal Engine jako dużej biblioteki, którą mógłbym po prostu włączyć do projektu C ++, czy też jestem zmuszony do korzystania z edytora Unreal?

Powiązane pytanie do Unity: Jak mogę zbudować grę w Unity przy minimalnym / zerowym użyciu edytora wizualnego?

Czarna dziura
źródło
Możesz użyć .dll-s z „Epic Games \ 4.7 \ Engine \ Binaries \ Win64” lub podobnej ścieżki. Ale nie chcieli, abyś używał tego w ten sposób, więc będziesz miał problem z ustaleniem, jak z nich korzystać.
zoran404
1
Myślę, że może to być możliwe przy użyciu źródła Unreal Engine zamiast edytora: unrealengine.com/ue4-on-github
Kostas

Odpowiedzi:

3

Podział tego, co zapewnia edytor i jak można z boku korzystać z niego:

Kompilacja

Technicznie jest to coś, co zapewnia Visual Studio, ale nadal jest ważne. Kompilacja Unreal nie jest trywialna i polega na wywołaniu narzędzia Unreal Build Tool w celu wygenerowania kodu (obsługuje takie rzeczy jak odbicie, interfejs blueprint itp.). Wykonanie tego bez użycia programu Visual Studio jest możliwe, ale w dużej mierze nieudokumentowane. Myślę, że najlepszym miejscem na początek byłoby przyjrzenie się temu, jak opiera się on na Linuksie i naśladowanie tego.

Budowanie gry (tj. Do dystrybucji)

Teoretycznie można to zrobić za pomocą wiersza polecenia, ale miałem problemy, w których dostaję dziwne błędy kompilacji, jeśli najpierw nie uruchomię edytora. Przypuszczam, że można to rozwiązać. Ale znowu będzie to nieudokumentowane i prawdopodobnie dość podatne na błędy.

Edytor map

Format mapy jest binarny, więc tworzenie map byłoby problemem. Uważam, że Unreal Engine potrzebuje co najmniej jednej mapy do uruchomienia gry, więc prawdopodobnie będziesz musiał przynajmniej stworzyć pustą mapę. Po utworzeniu możesz odradzać rzeczy z kodu.

Co ciekawe, ponieważ edytor znajduje się w źródle, być może możesz użyć metod edytora do stworzenia pustej mapy i zapisania jej bez użycia edytora. Teoretycznie możesz nawet napisać własny prosty edytor map, chociaż w tym momencie zasadniczo wdrażasz Unreal.

Plany

Prawdopodobnie po prostu nie użyjesz żadnej z funkcji. Szkoda, bo to miłe oddzielenie danych od funkcji.

Materiały

Istnieje kilka podstawowych materiałów, których można użyć, ale znowu może to być poważny ból. Przypuszczam, że mógłbyś pisać shadery bezpośrednio, ale nie jestem pewien, jak mógłbyś użyć ich jako materiału.

Jestem pewien, że przeoczyłem pewne aspekty, ale podsumowując: prawdopodobnie, ale napotkasz wiele problemów .

Co najważniejsze, do funkcji edytora można uzyskać dostęp z kodu, więc teoretycznie można zaimplementować potrzebne części edytora. Wszystko to jednak nasuwa pytanie, dlaczego nie chcesz korzystać z edytora? Prawdopodobnie znacznie lepiej jest po prostu zminimalizować czas korzystania z edytora.

T. Kiley
źródło