Tworzenie i modyfikacja terenu [CE2]
Data utworzenia: 19-07-2010
Dzisiaj nauczymy się tworzyć swoją własną tropikalną wyspę oraz poddawać ją obróbce (dzisiaj tylko modyfikacja terenu).
Cały proces opiera się na heightmapach, więc możemy skorzystać z programów do generowania takowych, ewentualnie korzystać z jeszcze innych możliwości, jak na przykład stworzenie dowolnego miejsca na ziemi w skali zbliżonej do 1:1 używając Google Earth. Niestety, nie mogłem z tego sposobu skorzystać, więc pominę tę kwestię i opiszę jak stworzyć heightmapę terenu w Crysisowym narzędziu.
Na dobry początek przydałoby się uruchomić nasze narzędzie pracy. Nie będę tego opisywał, bo jeśli do tego nie dojdziesz, to z pewnością nie poradzisz sobie z obsługą naszej Piaskownicy. Po odczekaniu chwili przeznaczonej na ładowanie danych i uruchamianiu silnika naszym oczom ukaże się nasz na razie bezpłciowy edytor... (moim zdaniem interfejs sandboxa jest łudząco podobny do maxowego, w głównej mierze dzięki temu robię modele w maxie )
...jednak za chwilę wypełni się cyfrową, tropikalną wyspą. Aby rozpocząć owy proces, musimy kliknąć na File->New:
W tym miejscu wpisujemy nazwę naszego poziomu. Będzie można ją zmienić metodą "pozasandboksową", zmieniając nazwę nowo utworzonego folderu oraz znajdującego się w środku pliku .cry. Niżej ustalamy rozdzielczość heightmapy oraz liczbę metrów na piksel. Podczas ustawiania tych wartości edytor obliczy nam rzeczywisty rozmiar mapy, jednak nie zaleca się przesadzać z cyferkami, gdyż później to my sami będziemy wstawiać drzewka, krzewy, kamyczki, samochodziki czy co tam będziemy chcieli, a każda czynność kosztuje kliknięcia. Więc, żeby się nie znudzić, ja wybrałem rozmiar 256x256 metrów, gdyż taki w zupełności wystarczy do celów pokazowych:
Pokaże nam się "falujące coś". Teraz rozpoczniemy pracę nad naszym własnym terenem. Musimy kliknąć na Terrain->Edit Terrain:
Heightmapy możemy importować i eksportować, tworzyć za pomocą odpowiednich programów, albo też stworzyć w Piaskownicy. Możemy zrobić to ręcznie lub ułatwić sobie pracę i skorzystać z generatora:
File - Tutaj możemy zaimportować i wyeksportować heightmapę, albo też obejrzeć aktualną w zwiększonym podglądzie.
Heightmap - Czyścimy heightmapę i zmieniamy jej rozmiar.
Modify - Tu znajduje się cała masa narzędzi do modyfikacji i tworzenia heightmapy, począwszy od usunięcia wody, przechodząc przez zmienienie jej poziomu (standardowo 16 metrów) na różnych typach wygładzania kończąc.
Tools - Generator, opcja "Lighting", dzięki której wskażemy słońcu drogę, oraz pobawimy się czasami trwania dnia, nocy, oraz wschodów o zachodów słońca.
Dodatkowo możemy utworzyć nowe warstwy tekstur, jednak nie polecam tego robić tutaj, gdzie jeszcze nie mamy choćby terenu.
Options - Pokazujemy i chowamy wodę, oraz inne takie podobne.
Najważniejsze opcje:
Normal Brush - lewym przyciskiem myszy zwiększamy wysokość terenu, prawym zmniejszamy.
Set to height - ustalamy maksymalną wysokość terenu.
Ale my chcemy wygenerować teren, więc klikamy na Tools->Generate Terrain:
Tutaj ustalamy wartości, jakie będą uwzględniane przy generowaniu:
Feature size - rozmiar wysp;
Bumpiness/Noise (Fade) - określa jak bardzo ma być zdeformowany teren;
Detail - determinuje liczbę efektów jakie będą zaaplikowane;
variation - rozmieszczenie wysp;
Blurring - wygładzenie;
Sharpness (Exp. Base) - określa jak bardzo spiczasty ma być wygenerowany teren:
Sharpness (Freq. Step) - określa liczbę użytych filtrów Sharpness (większa częstotliwość spiczastego terenu, jaki ustaliliśmy w Exp. Base).
Ja zostawiłem wartości domyślne, czego efektem jest takie coś:
Gdy uznamy, że taki teren może być, klikamy na OK. Za chwilę pojawi się już nasz gotowy, cyfrowy teren, w moim przypadku coś takiego:
Aby zobaczyć wyspę w pełnej okazałości, klikamy na File->Generate Terrain Texture:
Wybieramy rozdzielczość tekstur podłoża:
Dla testów - 4096x4096 (będziemy to musieli robić później po każdym teksturowaniu).
Dla finalnej wersji - 16384x16384 i zaznaczamy High Quality oraz Calculate Sky Accessibility.
Za chwilę naszym oczom powinien ukazać się dużo ładniejszy teren:
Nasza wyspa wygląda bardzo brzydko, więc musimy ją zmodyfikować. Wybieramy w tym celu w RollupBarze zakładkę Terrain (jeśli go nie widzimy - View->RollupBar), a następnie modify:
Type: Wybieramy rodzaj edycji.
Flatten - Wyrównujemy teren do ustalonej w Height wysokości.
Ctrl - przypisujemy do Height wysokość punktu wskazanego przez kursor.
Shift - Wygładzamy teren.
Smooth: Wygładzamy nasze podłoże.
Rise/Lower: Podnosimu albo opuszczamy teren.
Ctrl: Ustawia wartość w Height na przeciwną (wartość dodatnia - podnosimy, wartość ujemna - opuszczamy).
Shift: Wygładzamy teren.
Ustawienia pędzla:
Outside radius - promień zewnętrzny.
Inside radius - promień wewnętrzny (nie zauważyłem żadnego znaczenia).
Hardness - siła pędzla.
Height - wysokość. We Flatten określa wysokość, na jaką zostanie poprowadzony teren, a w Rise/Lower zastępuje siłę.
Zapomniałem o nawigacji w oknie Perspective
wsad/kursory - poruszanie się;
śpm - przesuwanie widoku;
ppm - obracanie;
shift - "sprint", domyślnie mnoży aktualną prędkość przez 2, ale można zmienić mnożnik.
q - przełączanie kolizji z terenem (opcja coll na dole okna perspective).
Pomiędzy coll a kłódką, na dole okna perspective mamy okienko, w które możemy wpisać prędkość kamery.
Ja w około 10 minut doprowadziłem wygibusa do takiego stanu:
Teraz tylko zapisujemy naszą własną tropikalną wyspę:
Jeśli o mnie chodzi, to generuję sobie byle jaką heightmapę, a dopiero później mogę siedzieć nawet i kilka godzin dopieszczając ją tak, jak mi się podoba.
Jeśli coś uda się wam stworzyć, możecie pokazać mi to na pw, a może coś doradzę.
10 komentarzy
Rekomendowane komentarze