Tworzenie i modyfikacja terenu 5067 0

O temacie

Autor eto

Zaczęty 19.07.2010 roku

Wyświetleń 5067

Odpowiedzi 0

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ

eto

Tworzenie i modyfikacja terenu
2010-07-19, 14:04(Ostatnia zmiana: 2011-08-22, 15:12)
Siedząc na dupie i nawijając jaki to Sandbox jest fajny nic nie wskóram, więc...

...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 :D )


...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 - nie wiem;
variation - rozmieszczenie wysp;
Blurring - wygładzenie;
Sharpness (Exp. Base) - określa jak bardzo spiczasty ma być wygenerowany teren:
Sharpness (Freq. Step) - tego też nie wiem :(

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ę.

Kolejne tutoriale będą prawdopodobnie ciągami dalszymi ulepszania mapy, więc folder "wyspa" proszę zachować :)
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry