W tym tygodniu przedruk tutoriala jaki napisałem dla sourcesdk.pl (możecie go znaleźć tutaj). Podobno scena modderska pod Source’a upada. Ja tymczasem co chwila dostaję sygnały od ludzi, że robią jakieś fajne rzeczy, albo pytają się jak coś zrobić. Według mnie scena (także ta polska) ma się całkiem nieźle.
Ja tam się za jakiegoś specjalistę w sprawach map nie uważam. Trochę się znam na jednym edytorze, ale jeszcze więcej rzeczy jest dla mnie czarną magią 🙂 Mimo to co jakiś czas dostaję prośby i propozycje co bym to nie napisał, jakiegoś, nawet prostego poradnika, zarówno dotyczącego spraw technicznych jak i bardziej estetycznych. No cóż, od czasu, do czasu próbuję coś skrobnąć. W najbliższy czasie też postaram się wstawić kilka tego typu artykułów. Nie chce żeby to wyglądało jak jakaś prawda objawiona, a raczej jak spojrzenie na level design moimi oczami, moje potyczki z hammerem, pomysły, a także błędy 🙂
—————————————————————
3D skybox
Tutorial przedstawia, w pewnym sensie, sytuację ekstremalną aby pokazać, że 3d skybox można idealnie dopasować do właściwej geometrii levelu, nawet gdy jest ona bardzo skomplikowana. W praktyce, łączenie skyboxa z właściwym levelem zawsze powinno odbywać się poza zasięgiem wzroku gracza (być odpowiednio zamaskowane).
Zademonstruję to tym prostym schematem (widok z góry):

1. Przygotowanie poziomu
Stare góralskie przysłowie mówi, że: „Skybox robi się na samym końcu tworzenia mapy, hej!”… ale warto jest zawczasu przewidzieć to i owo. Akurat na potrzeby tutka, zbuduję całą mapę z myślą o skyboxie.
Więc, powiedzmy, że tak wygląda podłoga (layout mapy). Oczywiście ja tu trochę zaszalałem, bo na potrzeby tutka wystarczy zrobić kwadrat, będzie o wiele prościej.

Teraz robimy taką dziwną rzecz, że obudowujemy nasz level dosyć grubymi klockami pokrytymi teksturą nodraw. Po co? Te klocki właśnie pozwolą nam później idealnie wpasować 3d skybox do mapy.

Następnie kopiujemy brushe z nodrawem, podnosimy je do góry, pokrywamy teksturą skybox i rozciągamy do góry (wysoookoo, wedle uznania), to są po prostu ściany graniczne naszego levelu. Potem kopiujemy podłogę, znów nakładamy teksturę skybox i mamy sufit. Mamy przestrzeń mapy.


2. Tworzymy skybox
Teraz kolejny bardzo ważny krok. Wstawiamy byt sky_camera. Wstawiamy go dokładnie w centrum siatki w hammerze (środek bytu musi pokrywać się ze środkiem siatki). Nie w centrum mapy, tylko w centrum siatki, może być to poza naszą mapą (nawet kilometr). Środek siatki jest w miejscu gdzie stykają się 3 kolorowe odcinki (czerwony, zielony i niebieski).

Dlatego też najlepiej robić mapy zaczynając na środku obszaru roboczego, będzie wygodniej.
Teraz zaznaczamy razem, wszystkie nasze bloki pokryte nodrawem oraz byt sky_camera (przytrzymując ctrl) i kopiujemy je (przesuwamy z shiftem) gdzieś obok naszego levelu.

Następnie wchodzimy do narzędzia Transformation (ctrl+M) i skalujemy wszystko (razem ze sky_camera). Ponieważ w skyboxie wszystko jest domyślnie pomniejszone 16 razy, tyle razy musimy pomniejszyć nasze zaznaczone byty. W tym celu w okienku zaznaczamy „scale” i we wszystkich 3 polach wpisujemy .0625. Tak, tam jest kropka na początku. To po prostu dziesiętny zapis 1/16.

Teraz możemy (a właściwie musimy) już usunąć pierwotny byt sky_camera (ten w samym centrum siatki).
Sam 3D skybox tak samo jak właściwy level musi być otoczony solid brushami (również pokrytymi teksturą „skybox”). Ich wielkość jest sprawą dowolną. Im większa tym efekt będzie bardziej naturalny, ale to też zależy od charakteru mapy. Jeśli mapa otoczona jest wysokimi budynkami, to skybox nie musi być duży, bo i tak to co będzie daleko, będzie zasłonięte.

Czytaj dalej ‚ZDR#4 – 3D skybox’