Mam mapę, która jest generowana proceduralnie w czasie wykonywania i obecnie badam metody renderowania tej mapy. Zainteresowałem się wyglądem StarCrafta 2 i chciałbym doradzić, jakie metody wykorzystuje do jego osiągnięcia. Po drugie, chciałbym zobaczyć tutoriale, artykuły, a nawet przykłady kodu źródłowego, jeśli to możliwe.
Jest kilka głównych rzeczy, na które chciałbym uzyskać porady, ale prosimy również o zasugerowanie czegoś innego, co mogłoby mi pomóc.
Przyciągalne zestawy klocków - Typowa mapa gwiezdnych statków wydaje się składać z zestawu klocków modeli, które można połączyć, tworząc klify, rampy i inne wzniesienia. Jakie metody stosują, aby wyglądały tak naturalnie? Mam na myśli to, że bardzo trudno jest zauważyć powtórzenie.
Tekstury terenu - Tekstury terenu są tak zróżnicowane, a nawet dynamiczne (pełzanie Zergów). Jakie metody są w tym celu stosowane?
Dzięki.
źródło
Odpowiedzi:
Myślę, że częścią tego może być to, że Blizzard ma niesamowitą liczbę artystów tekstur. Ale przeformułujmy trochę pytanie:
Dobre pytanie! Oto kilka dużych narzędzi, których chciałbym użyć:
1) Dość duży zestaw wymiennych płytek . Załóżmy, że masz na siatce rozmiar tekstury 64 x 64: utwórz osiem tekstur 64 x 64, z których każda może układać się z innymi, a masz ładną grę opartą na kafelkach z dużą różnorodnością!
2) Kalkomanie lub megatekstury . Weź powtarzającą się teksturę i niewielką liczbę „smug”, „brudu” lub „zadrapań”. Spryskaj kilka z tych nakładek na tekstury. Mogą być renderowane w czasie rzeczywistym, w którym to przypadku są kalkomaniami lub upieczone w gigantyczną teksturę, w którym to przypadku nazywa się to megateksturowaniem. W obu przypadkach prawdopodobnie możesz to zrobić częściowo losowo, a otrzymasz wiele odmian z kilkoma zastosowanymi nakładkami.
3) Płytki cykady . Sprawdź to, aby uzyskać więcej informacji na temat tego, jak to działa. Podsumowując, jest to sposób na pobranie niewielkiej liczby częściowo przezroczystych, wyraźnie widocznych kafelków tła i wykorzystanie go do wygenerowania znacznie mniej oczywistego kafelkowego tła.
4) Rozpryskiwanie tekstur . Zostawiłem ten na koniec, ponieważ tak naprawdę nie chodzi o unikanie kafelkowania pojedynczej tekstury, ale o płynne łączenie wielu tekstur. Jednakże, jeśli uda ci się uzupełniać kilka dodatkowych tekstur w swoim budżecie, to może być kluczowym narzędziem - w rzeczywistości, powiedziałbym, jeśli nie to za pomocą, jesteś prawdopodobnie robi coś złego. Nie pomoże to w przypadku dużych, wyraźnie wyłożonych kafelkami sekcji jednego typu tekstury, ale właśnie tego użyjesz, aby różne tekstury wyglądały dobrze obok siebie.
źródło