W sekcji kredytów w grach, w które gram, są nazwiska programistów graficznych . Jeśli użyli silnika gry, dlaczego potrzebują programisty graficznego ? Czy silnik gry nie spełnia swojej roli?
W sekcji kredytów w grach, w które gram, są nazwiska programistów graficznych . Jeśli użyli silnika gry, dlaczego potrzebują programisty graficznego ? Czy silnik gry nie spełnia swojej roli?
Odpowiedzi:
Nawet z silnikiem wyświetlanie czegoś na ekranie tak, jak chcesz, nie zawsze jest banalne. Będzie wiele przypadków, w których do prawidłowego wyświetlania grafiki wymagany jest ktoś ze znajomością programowania. Osoby te można nazwać programistami grafiki w napisach (programista grafiki nie jest certyfikowanym ani chronionym tytułem, a różnica między różnymi tytułami może się bardzo różnić w zależności od firmy).
Podajmy konkretny przykład. Potrzebujemy animowanego obracającego się koła:
Niektóre z naszych opcji to:
1 Umieść okrąg na tablicy, napisz skrypt, aby obrócić billboard.
2 Użyj animowanego gif jako źródła.
3 Zrób wszystko w shaderze, który pozwala na 2 różne opcje:
W 1. ktoś musi napisać ten skrypt, który jest rodzajem zadania programistycznego związanego z grafiką. Do 2. nie potrzebujemy programisty, chyba że silnik - jak większość - nie obsługuje importu animowanych gifów, w którym to przypadku ktoś musi zaprogramować tę część. W 3. ktoś musi zaprogramować moduł cieniujący, którym może być artysta lub programista.
EDYCJA w celu uwzględnienia głosów negatywnych:
Wydaje się, że głosy negatywne wynikają z tego, że efekt jest zbyt prosty i dlatego nie zostałby zaimplementowany przez „prawdziwego” programistę graficznego. Naprawdę nie wiem, kto jeszcze byłby zaimplementowany, gdyby w zespole był dedykowany programista grafiki, i czasami implementuję takie efekty rotacji w shaderach - chociaż zwykle rotacja jest tylko częścią większej całości, jak w ten przykład .
Silniki gier są jak kuchnie, a programiści (tj. Programiści) są jak kucharze.
Silniki gier oferują możliwości, a programiści wykorzystują te możliwości do potrzeb gry.
Firmy produkujące gry potrzebują zatem programistów graficznych, aby dostosować możliwości graficzne silnika do potrzeb gry.
Gdyby silnik gry zarządzał wszystkim bez modyfikowania, wszystkie gry produkowane przez ten silnik wyglądałyby, jakby wychodziły z tej samej formy: artyści mogą produkować różne modele 3D i grafiki 2D dostosowane do wizji projektantów, ale dostosowanie w grze tych grafik będzie ograniczone do tego, co silnik oferuje od razu po wyjęciu z pudełka.
Pamiętaj, że chociaż pozwalają one zmienić używaną grafikę , niektóre silniki gier nie oferują możliwości dostosowania innych aspektów graficznych do potrzeb gry. Myślę RPG Maker było tak: to niech pan zmieni sztukę , ale były ograniczone pod względem tego, jak można dostosować swoją grę, aby nadać mu bardzo charakterystyczny akcent. Mogło się to zmienić w ostatnich latach, ponieważ przez jakiś czas nie dotykałem tego oprogramowania.
Specyficzne znaczenie większości tytułów w branży gier jest bardzo zróżnicowane w poszczególnych studiach, więc miej to na uwadze. To, co stanowi „programowanie grafiki” w jednym studiu, może naprawdę oznaczać po prostu modyfikację cieniowania lub materiału, podczas gdy w innym studiu może to oznaczać wykonanie względnie niskiego poziomu optymalizacji w pobliżu bazowego API grafiki i tak dalej.
To powiedziawszy, w większych studiach stosunkowo rzadko bierze się oprogramowanie pośrednie silnika i używa się go bez wprowadzania jakichkolwiek modyfikacji. Przez większość czasu trzeba będzie ulepszyć określone aspekty silnika, ponieważ nie do końca spełnia on wymagania, lub ponieważ w tej wersji występuje błąd, a firma nie może jeszcze zaktualizować do nowszej wersji, która może naprawić błąd, itp. Cetera.
Grafika jest jednym z takich obszarów, w którym ludzie często robią drobną poprawkę. Może nie obejmować przepisywania użycia Direct3D lub podobnego w silniku, ale nadal może wymagać pracy polegającej na dostosowywaniu lub optymalizacji shaderów, ulepszaniu zarządzania zasobami graficznymi w celu lepszego uwzględnienia profili użytkowania konkretnej gry, dodawaniu nowych funkcji lub opcji renderowania, usprawnianiu potok zasobów graficznych, aby lepiej pasował do przepływu pracy w studio, i tak dalej.
Ponadto istnieje wiele przypadków, w których studio będzie chciało przeprowadzić integrację dodatkowego oprogramowania pośredniego związanego z grafiką. Istnieją pakiety oprogramowania pośredniego, takie jak Granite, Enlighten i TrueSky, które oferują różne funkcje związane z grafiką (strumieniowanie tekstur, globalne oświetlenie, symulacja i renderowanie nieba itp.). Wszystkie te pakiety oprogramowania pośredniego integrują się z Unreal, ale ich integracja wymaga pracy. Niektóre z nich mogą kolidować ze sobą lub wymagać drobnych poprawek, aby dobrze współpracować, ponieważ wszystkie zostały opracowane przez różne firmy. Programiści grafiki prawdopodobnie będą również zaangażowani w tego rodzaju prace.
Możesz wysyłać gry bez programisty graficznego całkiem łatwo teraz z dnia na dzień dzięki wszystkim silnikom. Na ogół potrzebujesz programisty graficznego
optymalizacja
Programista grafiki znałby i / lub nauczył się, jak działa dany silnik, i byłby w stanie kierować artystami lub modyfikować materiały, łączyć modele lub stosować inne techniki itp. W celu uzyskania lepszej wydajności z silnika.
zrozumienie i instrukcje
Artysta chce osiągnąć określony efekt. Programista grafiki, który rozumie, jak działa silnik, może wyjaśnić, jak osiągnąć ten efekt.
dostosowania i efekty
Niektóre efekty mogą wymagać programowania. Duża część renderowania Bound jest niestandardowa.
Nie różni się to od filmów. Przy setkach programistów, dużym budżecie i złym pisaniu możesz dostać Star Wars: The Phantom Menace. Bez programistów i dobrego pisania możesz dostać Primer. Programiści (lub inne osoby techniczne) mogą pozwolić na nowe rzeczy. Programiści przenieśli błoto CG do Shreka, włosy CG do Monsters Inc, Bullet Time to The Matrix itp. Ale w filmach nie chodzi o efekty i jest w pełni możliwe tworzenie niesamowitych filmów bez efektów lub nowej niestandardowej technologii.
To samo dotyczy mniej więcej gier. Programiści graficzni mogą zezwalać na płyny w grze Pixel Junk Shooter lub na całą dynamiczną geometrię Bound, ale można tworzyć wiele gier przy użyciu standardowej technologii silnika i bez programistów graficznych.
Wiele razy silniki gier nie spełniałyby 100% wymagań i specyfikacji projektu gry. Jest to szczególnie prawdziwe w przypadku potrójnych tytułów, które zawsze przekraczają granice technologii gier. Jeśli część graficzna silnika gry nie jest zgodna z tym, co artyści i projektanci chcą osiągnąć po wyjęciu z pudełka, mogą zatrudnić programistę / specjalistę ds. Grafiki, który może pomóc im ustalić, czy ich oczekiwania są wykonalne, i jeśli tak, to jak to osiągnąć. Może to obejmować ulepszenie zasobów modułu cieniującego / graficznego lub przerobienie części renderowania, a nawet użycie oprogramowania pośredniego. Lub ich kombinacja.
Większość standardowych technik zostanie zaimplementowana w każdym przyzwoitym silniku komercyjnym, takim jak FXAA, oświetlenie, cieniowanie, normalne mapowanie itp., Ale nie wszystkie.
W przypadku, gdy projektant gry określił, że musi wystąpić konkretny efekt, albo zbudujesz go z tego, co już istnieje, albo kodujesz nowy moduł cieniujący, albo modyfikujesz silnik graficzny, aby na to pozwolić. W obu przypadkach wymagany jest programator grafiki.
Zdefiniuj silnik, a następnie silnik grafiki. Jeśli używasz istniejącego silnika do tworzenia gry, to nie jest to samo, co pisanie gry od podstaw w kodzie. Jeśli za pomocą kodu można zdefiniować, co to jest grafika lub silnik, nie ma znaczenia, jak go nazwiesz, jeśli kod jest silny. Tworzenie gier we wspomnianym silniku, jego limitach i / lub mocnych stronach opiera się wyłącznie na umiejętnościach programisty. Używanie czegoś takiego jak Unity, a nawet Unreal lub jakikolwiek inny silnik pro nie definiuje twoich umiejętności, silniki gier to tylko abstrakcje kodujące, mówiąc, że czysty C ++ nie. Możesz na przykład zatrudnić programistów do piekła, nawet artystów, ale byłbyś ograniczony wizją lub ograniczeniami silnika. Lepiej więc napisać kod od zera niż użyć czegoś, co już istnieje. Problem w tym, że wygrałeś znaleźć odpowiedzi online, takie jak Stackexchange. Wątpię, aby wiele osób zadało sobie trud, aby napisać grę, a co dopiero ukończyć projekt 2D. Po prostu trochę zwlekam, co oznacza, że niewiele samolubnych odpowiedzi to wyjaśnia. Najlepszym sposobem jest studiowanie i ćwiczenie!