Część I
Modelowanie - Blender
Wstęp
Witam wszystkich. Na początek kilka słów wstępu. Mam nadzieje, że nie tylko ja na tym forum mam czasami nadmiar czasu i bawię się w kerbalach w coś więcej niż tylko budowanie z ostukanych już części dostępnych w stocku czy też we wszystkich dobrze znanych modyfikacjach. Ile razy mieliście tak: Mam pomysł na tę część, którą bym zastosował w tym miejscu. Niestety ani stock ani dostępne mody takiej nie oferowały. No właśnie! Wiem ze było tak wiele razy. Po tym przychodził drugi krok, desperacji i załamania bo nie wiedziałeś jak taką część wykonać i na tym etapie się poddałeś. Jeżeli tak było ten poradnik jest właśnie dla Ciebie żebyś się nie poddawał.
Etap I
Co potrzebujemy do wykonania modyfikacji w KSP?
-Chęci;
-odrobinę czasu;
-pomysłu, lub przymusu np. braku czegoś w stocku.
To są elementy bez, których żaden mod nigdy nie zaistnieje.
Kolejne elementy są również absurdalne bo potrzebujesz:
-KSP (kupione i poprawnie zainstalowane);
-internet;
-szczątki intelektu pozwalające na kreatywną obsługę komputera.
Tak, tak komputer nie służy tylko do gry i przeglądania internetu, dla wielu ludzi jest elementem pracy dla Ciebie natomiast będzie elementem rozrywki i nauki, który chociaż na chwilę pozwoli Ci się poczuć jak jeden z bogów który właśnie stworzył swój zamysł.
Jak już ustaliśmy potrzebujesz internetu. Po co? Własnie po to, że musisz wejść w posiadanie kilku programów, które pozwolą nam edytować i tworzyć pliki, które gra będzie rozumiała.
Dla stworzenia prostej modyfikacji, o której będziemy rozmawiać w tym poradniku KSP potrzebuje kilku rodzajów plików. Kilku twu co ja powiedziałem raptem trzech. Stworzymy sobie prostą modyfikację dodającą wszystkie podstawowe części występujące w KSP. Na jej potrzeby musisz nauczyć się tworzyć i edytować wspomniane wyżej pliki czyli plik .mu - odpowiedzialny za model naszej cześci, plik .mbm (KSP obsługuje też inne, ale ten daje najlepszą jakość i jest domyślnym w PartTools) to pliki graficzne, które zrobią nam tekstury na naszej cześci i na sam koniec .cfg czyli plik konfigurujący naszą część nadający jej właściwości pożądane przez Ciebie.
Do edycji tych plików potrzebujemy kilku programów, w które musisz przysposobić swój komputer. Programy te są wszystkie w pełni darmowe i nie obawiaj się z nich korzystać:
Unity 5 -
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘBlender -
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘNotepad ++ -
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘGimp -
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘJeżeli chodzi o Blender możesz go zastąpić jakimkolwiek innym programem do tworzenia modeli 3D, jeśli jednak nie umiesz go obsługiwać to skorzystaj z Blendera, w poradniku będę omawiał również pewne elementy jego obsługi. Notepad ++ możesz natomiast zastąpić każdym innym edytorem tekstu dla mnie po prostu jest on najwygodniejszym narzędziem do edycji plików z KSP.
Jeśli pobrałeś i zainstalowałeś poprawnie te programy, aby móc pracować nad modyfikacją musisz pobrać jeszcze przynajmniej jedną paczuszkę plików i zainstalować ją według instrukcji dostępnej przy niej.
Tymi plikami są PartTool magiczne narzędzie, które pozwoli Ci eksportować pliki z Unity do Twojej instalki KSP.
Odnośnik do pobrania znajdziesz w pierwszym poście na tej stronie:
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘMożna jeszcze by zainstalować odpowiednią wtyczkę dla Blendera, która pozwoliłaby na importowanie części z KSP i ich edytowanie, ale Ty chcesz stworzyć w pełni własną modyfikację.
Etap II
Na początek otwieramy sobie Blendera. Pierwsze co widzimy to pseudo reklama, którą zamykamy kliknięciem PPM. Na scenie mamy już umiejscowione sześcian, kamerę oraz światło. Elementy te nie będą nam do niczego potrzebne, a więc klikamy "A" w celu zaznaczenia wszystkich elementów znajdujących się na scenie następnie klawisz "Delete" lub "X" wyskoczy nam okienko na które klikamy PPM potwierdzając usuniecie obiektów. Zapamiętuj uważnie klawisze i skróty, których używamy bo może się zdarzyć, że w dalszym etapie nie omówię ich ponownie.
Mamy już czysta scenę. Ok! Pierwszy krok uczyniłeś. Dziś nauczę Cię jak zrobić prosty silnik na paliwo ciekłe. Większość części jest inspirowana jakimiś ze świata realnego. Ja postaram się zainspirować rosyjskim silnikiem RD 843, co też wpisałem w wyszukiwarce grafiki i pobrałem sobie pierwszy przekrój jaki mi się wyświetlił. Skorzystam z niego jako wzorca. Aby to zrobić musisz wykonać kilka następujących kroków:
Krok 1 Dodanie płaszczyzny w blenderze:
Krok 2 Jesli masz już dodaną płaszczyznę teraz pora zmienić jej wymiary. Naciśnij klawisz "N" i w oknie, które się pojawiło znajdź linijki zatytułowane Dimension. Są tam trzy wymiary domyślnie ustawione na 2.0, 2.0, 0.0. Są to wartości w metrach opisujące wymiary zaznaczonego obiektu. Zmień teraz wartości tak aby wynosiły: 1.0, 2.0, 0.0. Po tej zmianie pora nanieść pobraną wizualizację silnika na naszą płaszczyznę w tym celu naciśnij klawisz "Tab" i przejdź do trybu UV Editing. Po otworzeniu nowego okna otwórz przy pomocy koperty z dolnego paska menu dodawania grafik. Wyskoczy Ci okno dialogowe w którym musisz znaleźć swoją wizualizacje silnika. Ja domyślnie zapisałem ją na pulpicie:
Krok 3 Po wybraniu grafiki automatycznie naniesie się ona na naszą płaszczyznę i utworzy nam bazę do budowy naszego silnika. Co prawda płaszczyzna nie jest jeszcze w odpowiednim położeniu do rozpoczęcia pracy, ale już się tym zajmujemy. Aby to zrobić wracamy do widoku podstawowego okno Default. Teraz kliknij ponownie "Tab" aby wyłączyć tryb edycji. Następnie na pasku, w którym zmieniałeś wymiary płaszczyzny znajdź linijki Rotation, które domyślnie ustawione są na 0, 0, 0 zmień je na 90, 0, 90. Wartości te podawane są w stopniach. Następnie kliknij klawisz "3" a następnie "5" aby uzyskać centralny widok na płaszczyznę następnie zmień widok na widok Texture:
Krok 4 Budowę silnika rozpoczniemy jego dyszy. Zaczniemy to od dodania stożka ale dość nietypowego.Umieść stożek taką samą sekwencją jak płaszczyznę wybierając zamiast Plane -> Cone. Dodaj go według ustawień zaprezentowanych poniżej. Patrz Lewy dolny róg zakładka Add Cone:
Krok 5 Jak zauważyłeś wyszedł nam pierścień. Bardzo dobrze, taki był zamiar. Teraz ponownie przechodzimy do trybu edycji ("TAB"). I umieszczamy nasz obiekt na samym dole naszej grafiki. Przesuwaj go bądź strzałką bądź wpisując zakładce Transform pożądaną wartość:
Krok 6 Teraz kilka uciążliwych elementów które warto opanować. Mianowicie ustawianie kamery. Przytrzymanie Rolki myszki pozawala na swobodne obracanie kamery, klawisze "4","6" obracają kamerę w poziomie "8","2" w poziomie obrót Rolki lub + i - przybliżenie i oddalenie. Do tego są jeszcze kombinacje z klawiszem "Shift" i "Alt" ale na razie nie będą potrzebne. Pozostając w trybie edycji przechodzimy do modelowania części. Tutaj też jest kilka ważnych klawiszy ale o tym podczas budowania, które zaczynamy. Ustaw sobie kamerę tak aby wyraźnie widzieć prostokąty z których składa się nasz pierścień. Następnie przytrzymując "Alt" kliknij PPM pomiędzy punktami tworzącymi wewnętrzny okrąg. Jeśli zaznaczyłeś cały okrąg brawo jeśli nie spróbuj ponownie. Wciśnij klawisz "E" który doda nowy okrąg. Następnie podnosimy zaznaczony okrąg tak aby zamknąć wewnętrzną część dyszy silnika. Ja podniosłem go do położenia 0.0, 0.0, -0.1. Następnie naciśnij klawisz "S" który odpowiada za skalowanie i ruchem myszy do przodu zmniejsz jak najbardziej nasz okrąg. Zakończ skalowanie klikając PPM:
Krok 7 Zapoznałeś się z podstawą budowy w trybie edycji teraz wykorzystując nabytą wiedzę zbuduj resztę dyszy silnika. Zacznij od odznaczenia klawiszem "A" zaznaczonych punktów i tak jak zaznaczyłeś wewnętrzny okrąg zaznacz zewnętrzny i przy pomocy klawisza "E" dodawaj kolejne. Podnoś okrąg tak aby podzielił całą dyszę na kilka równych elementów a przy pomocy skalowania wyrównuj jego średnicę do linii na naszej płaszczyźnie:
Krok 8 Dysza jest już gotowa pora jeszcze dodać kilka elementów, a przy okazji poznać kilka funkcji blendera. Zajmiemy się teraz "Płytką" która będzie przyłączała nasz silnik do innych części. Warto tu pamiętać o standardowych wymiarach KSP 1.25, 2.5, 3.75m mogą one się przydać aby ładnie się łączyły nasze części. Wyłączamy tryb edycji ("Tab"). Następnie dodajemy nowy Cylinder. Ustawiłem jego średnicę na 85 cm a wysokość na 15cm później zajmiemy się dostosowanie do Stockowych wymiarów. Teraz klikając na lewym pasku Duplicate powielamy nasz cylinder i zmniejszamy średnicę nowo dodanego na 60 cm a wysokość na 20cm. Następnie od pierwszego z naszych cylindrów trzeba odjąć ten drugi czyli dodać do niego funkcje Boolean w następujący sposób:
Po wyskoczeniu zakładki mamy domyślnie Intersect zmieniamy na Diference (różnica) i wybieramy w okienku obok Cylinder.001 czyli figurę którą chcemy odjąć. Następnie klikamy Apply aby potwierdzić. Następnie zaznaczamy Cylinder.001 klikając na niego PPM i usuwamy go. Brawo właśnie wyciąłeś pierwszą dziurę w blenderze.
Krok 9 Jak zapewne zauważyłeś silnik posiada też takie elementy jak siłowniki czy inne dziwadła. Są one symetryczne więc wystarczy wykonać tylko jeden model aby mieć wszystkie. Wymodelujemy teraz trzymadło przy użyciu podstawowych elementów dostępnych w blenderze. Wystarczą nam do tego Cylindry i sześciany. Co prawda obrazek jest w perspektywie w której widzimy nasze elementy pod kątem ale to nie jest przeszkoda. Dodajmy sobie więc na początek cylinder. Przy pomocy strzałek i klawisza "R" (rotacja) ustaw go w odpowiednim miejscu i sam oczywiście dobierz jego wymiary. Do tej operacji warto płynnie przechodzić między dwoma widokami Texture oraz Solid zmianę masz pokazaną na jednym ze wcześniejszych screenów. Nastepnie dodamy charakterystyczne przegrubienia. Można zrobić to na kilka sposobów. Pokaże Ci ten najprostszy. W trybie edycji naciśnij klawisz "W" i wybierz opcję Subdividie:
Powtórz tę operację jeszcze raz. Następnie na dolnym pasku znajdź ikonki trzech sześcianów i zaznacz ostatni (przełączają one tryby zaznaczania obiektów pomiędzy punktami, krawędziami i ścianami). Po przełączeniu na tryb ścian zaznacz jeden ze środkowych fragmentów przytrzymując "Alt" kliknij PPM następnie kombinacją "Alt + Shift" i PPM zaznacz kolejny fragment:
Następnie podobnie jak robiłeś to przy dyszy kliknij klawisz "S" i skaluj zaznaczone elementy do uzyskania odpowiedniego przegrubienia.
Następnie dodaj odpowiedniej wielkości sześciany i odpowiednio je umieść. Na koniec wykonamy jeszcze uchwyt cylindra z przegrubieniem. Potrzebne nam będą do tego trzy cylindry dwa ułożone równolegle i jeden łączący je prostopadły. Pamiętaj ich szerokość nie może być większa od szerokości sześcianów, które przed chwilą dodałeś. Gdy już je odpowiednio ustawisz zaznacz te trzy elementy przytrzymując "Shift" a następnie na lewym pasku kliknij Join by połączyć je w jeden element:
Połączone elementy ustaw w odpowiednich miejscach tak aby utworzyły uchwyty.
Tak stworzone uchwyty trzeba jeszcze zduplikować. Powtarzając czynność z stworzenia uchwytów połącz wszystkie elementy Sześciany Cylindry które tworzą trzymadła. Następnie tak samo jak wszystkie elementy dodaj 4x Plain Axes - znajduje się ona pod ikoną trójramiennej gwiazdy z napisem Empty. Upewnij się że wszystkie Plain Axes mają współrzędne 0.0, 0.0, 0.0. Po tej czynności zduplikuj trzymadła tak aby było ich w sumie cztery. Teraz musisz uczynić każde trzymadło "dzieckiem" odpowiedniej Plain Axes robi się to bardzo prosto. W okienku w prawym górnym rogu masz wszystkie elementy. Plain Axes pojawiają się jako trójramienne gwiazdy natomiast twoje trzymadła to trojkąty. Oczywiście elementów jest więcej więc musisz wybrać te które są faktycznie trzymadłami. Możemy w tym momencie zrobić od razu porządek z nazwami. Jak już ustalisz co jest co w prawym górnym rogu klikasz PPM na odpowiedni element i z wyskakującego okienka wybierz rename i nazwij elementy tak aby ułatwić sobie pracę. Teraz uczyń trzymadła dziećmi Plain Axes. Jak to zrobić? W prawym górnym rogu przytrzymując LPM na odpowiednim obiekcie przeciągnij go na ikonę odpowiedniej Plain Axes. Jeżeli zrobiłeś to poprawnie powinieneś otrzymać taki widok po naciśnięciu plusa przy ikonie Plain Axes:
Jeżeli to ukończyłeś to zostało nam tylko ustawić trzmadła w odpowiedniej pozycji. Wybierz pierwszą Plain Axes i zmień jej parametry w zakładce Rotation na 0, 0, 45. Powtórz tą operację z pozostałymi zmieniając kąt o 90 stopni.
Krok 10 Jeżeli twój model w widoku Solid wygląda tak jak mój to mamy problem bo większości ścian nie będzie widać. Rozwiązanie tego jednak jest bardzo proste. Zapewne zauważyłeś, że ściany dyszy są ciemniejsze od pozostałych. Zrobiłem to specjalnie aby ukazać Ci rozwiązanie problemu który często się przydarza. Jak go rozwiązać? W trybie edycji trzeba zaznaczyć wszystkie ciemniejsze ściany:
Następnie po ich zaznaczeniu wciskamy spację i w okienku które wyskoczyło wpisujemy Flip Normals i kliknieńciem zatwierdzamy tę opcję.
Jak widzisz wszystkie ściany są już jednakowej barwy, a więc będą tak samo widziane.
Krok 11 Na sam koniec przygody z modelowaniem usuń płaszczyznę którą dodałeś na samym początku. Dodaj także jeszcze jedną Plain Axes o współrzędnych 0.0, 0.0, 0.0, i uczyń wszystkie elementy jej "dzieckiem".
Została nam jeszcze jedna ostatnia poprawka. Mianowicie dopasowanie silnika do wymiaru 1.25m. W tym celu dodaj cylinder o tejże średnicy i ustaw go tak aby jego dolna ściana była na wysokości naszego cylindra z dziurą. Następnie zaznacz Cylinder z dziurą przejdź do trybu edycji, zmień ustawienie z zaznaczania ścian na zaznaczanie punktów i zaznacz górny zewnętrzny okrąg naszego Cylindra z dziurą. Na koniec przeskaluj go tak aby był tej samej wielkości co cylinder dodany na miarę.
To już końcowy koniec usuń jeszcze tylko cylinder na miarę i modelowanie mamy za sobą.
W następnej części poradnika zajmiemy się teksturowaniem naszego silnika i wszystkim co związane z Unity 5. Z mojej strony dzisiaj to tyle. Nastepna część już niebawem.
[Post scalony: Śro, 18 Maj 2016, 12:41:29]
Część II
Teksturowanie Blender + Gimp
Wstęp
Jak pewnie zauważyłeś na koniec naszego poprzedniego poradnika nie zapisaliśmy naszego silnika. Jeżeli to zrobiłeś brawo dla Ciebie jeżeli nie niczym się nie martw. Blender posiada funkcję autozapisu więc bez problemu na nowo wczytasz nasz ostatni projekt. Jak to zrobić? Odpal blendera, oczyść scenę i na górnym pasku wybierz File, a w tej zakładce opcję Recover Last Sesion i brawo. Dzisiaj nauczysz się jak wykonać proste tekstury dla twojego silnika przy użyciu Gimpa oraz jak wyeksportować model do Unity i co z nim zrobić po tej czynności.
Etap I
Mam nadzieje, że instalacja gimpa nie przyniosła Ci żadnych kłopotów i z powodzeniem wczytałeś nasz model z poprzedniego poradnika. Jeśli tak to możemy zacząć pierwszy etap dzisiejszych prac. Model jest już przygotowany, gotowy do teksturowania. Wszystko czego będziesz potrzebował z poprzedniego poradnika to metody zaznaczania ścian, krawędzi i punktów oraz przechodzenie do okna UV Editing. Więc zaczynamy!
Krok 1 Odpalamy gimpa i tworzymy nowy obraz. Warto żeby wcześniej się rozejrzeć w teksturach ze stockowych częściach aby zorientować się jaką rozdzielczość powinna mieć nasza tekstura. Po wykonaniu tegoż sprawdzenia warto przyodziać się jeszcze w jedną wtyczkę dla gimpa i ją zainstalować. wtyczka ta pozwoli nam na tworzenie wypukłości i innych dziwnych rzeczy bez zmian w naszym modelu. Nasz silnik jest w rozmiarze 1.25m sprawdzamy sobie więc rozmiar tekstury jakiegokolwiek silnika w tym rozmiarze. Ja sprawdziłem silnik NERVA. Tekstura tego silnika ma rozdzielczość 1024 x 1024px. Taki też tworzymy nowy obraz. Oczywiście robimy to przez kliknięcie na szarfie Plik, a następnie Nowy. (Jeżeli twój gimp nie otwiera tekstur KSP rozejrzyj się za wtyczką do plików DDS
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ ). Po stworzeniu nowego obrazu masz białe tło. Coś by wypadało z nim zrobić, ale malowanie teraz czegokolwiek jest bez sensu. Proponuję Ci abyś otworzył zakładkę Warstwa -> Przezroczystość -> Zmiana koloru na alfę... Otworzy Ci się nowe okno w którym wybieramy kolor który ma zostać zamaskowany. Domyślnie jest biały takie też jest nasze tło więc akceptujemy. Powinieneś otrzymać obraz w kwadraty w szarych kolorach:
Utwórz na pulpicie najlepiej folder z nazwą swojego silnika i wyeksportuj do niego obraz jako plik .PNG Jego nazwa nie jest istotna.
Krok 2 Teraz przechodzimy z powrotem do blendera i zaczynamy zabawę. Zaznacz naszą dyszę silnika i przejdź do trybu edycji. Teraz zaznacz ściany które chcesz wyteksturować. W moim wypadku będzie to część dyszy do zgrubienia:
Krok 3 Przejdź do widoku UV Editing. Na prawym środkowym pasku przełącz z zakładki Tools na zakładkę Shading/UVs. Wyskoczą Ci dwie zakładki. Nas interesuje niższa z nich zatytułowana UVs masz w niej opcje UV Mapping. Przy prostych modelach jak nasz interesuje nas tylko przycisk Unwrap. Znajdują się pod nim magiczne narzędzia, które postaram się omówić pokrótce. Wszystkie te opcje pozwolą nam przenieść trójwymiarowy model na siatkę którą będzie można pokolorować. Pierwsza jest opcja Unwrap rozwija ona nam siatkę w dość nieforemny sposób. Jednak drugie narzędzie Smart UV Project jest już dużo bardziej przydatne rozcina ono siatkę według krawędzi, które są ustawione jako Seems. Z tym jednak przy silnikach raczej nie będziemy się bawić. Kolejnych dwóch narzędzi jeszcze nigdy nie używałem w moddingu także ich nie omówię. Najciekawsze jest kilka następnych narzędzi. Pierwsze z nich to Project from view. Bardzo przydatne narzędzie które mapuje nam tak jak widzimy nasz obiekt. Z cylindra tworzy ono dwie siatki (przód i tył) które są nieco skurczone po bokach, po zniwelowaniu tych zniekształceń bardzo ładne odwzorowanie uzyskujemy. Project From View Bounds to takie samo narzędzie tylko że rozciąga naszą siatkę na cały obraz. Narzędzie Sphere Projection jest idealne do mapowania kuli i daje nam rozciągnięcie które znamy np z mapy świata. Cylinder Projection to narzędzie które jest idealne do mapowanie cylindrów i z niego będziemy korzystać najwięcej przy teksturowaniu silnika. Cube Projection narzedzie wykorzystywane głównie w mapowaniu sześcianów i tym podobnych. Jak widzisz mapowanie wcale nie jest proste. Cała sztuka polega na dobraniu odpowiedniego rozłożenia siatki tak aby nigdzie nie była ona rozciągnięta ani skurczona. Zmapuj teraz naszą dysze przy użyciu funkcji Cube Projection. Powinieneś otrzymać dwie siatki które są nałożone na siebie. Na prawym widoku masz je wyświetlone jeżeli są obydwie pomarańczowe to znaczy, że są zaznaczone i po naciśnięciu klawisza "G" możesz je dowolnie umiejscowić na dostępnym obszarze. Pierw jednak wczytam nasz obraz który przyszykowaliśmy wcześniej. Otwieramy kopertę i szukamy naszego obrazka. Po wczytaniu powinno się zmienić nasze tło. Teraz umieść naszą siatkę w dogodnym miejscu przenosząc ją po naciśnięciu klawisza "G".
Krok 4 Wybierz z dolnego paska zakładkę UVs i z samej jej góry wybierz komendę Export UV Loyaut i zapisz obrazek np na pulpicie. Następnie na naszym obrazie w gimpie w zakładce Warstwa dodaj nową przezroczystą warstwę o takich samych wymiarach. Otwórz teraz wyeksportowaną siatkę w gimpie i przy pomocy klwiszy Ctrl+A i Ctrl+C skopiuj siatkę następnie przełącz okno na nasz obrazek który utworzyliśmy wcześniej i w którym dodaliśmy warstwę wklej naszą siatkę Ctrl+V. Następnie zakotwicz wklejenie Ctrl+H. Następnie otwórz Warstwa -> Stos-> Najniższa Warstwa. W ten sposób możesz malować pod wzorem naszej siatki.
Krok 5 Ja swoje malowanie już wykonałem. Następnie wejdź w zakładkę Warstwa->Stos->Podnieś Warstwę po czym zapisz zmiany. I wczytaj ponownie w Blenderze nasz obrazek.
Krok 6 Jak zauważyłeś nasz napis na połowie jest dobry na drugiej zaś jest lustrzanym odbiciem. Dlatego w Gimpie skopiujemy sobie obok jeszcze raz nasz rysunek dyszy. Zaznaczamy obszar rysunku, następnie Ctrl+c, Ctrl+V i przesuwamy go obok a następnie Warstwa-> Przekształcenie-> Odbij w pionie. Ctrl+H zakotwiczamy obrazek, zapisujemy i ponownie wczytujemy go w Blenderze. Teraz klawiszem "L" zaznaczamy jedną z siatek i przesuwamy ją na dodany rysunek obok przy pomocy klawisza "G" a następnie wyrównujemy go z tym drugim zmieniając położenie liczbowe w zakładce UV Vertex na środkowym lewym pasku. Czynność tą powtarzamy jeszcze raz namierzając drugą siatkę która jest lustrzanym odbiciem do uzyskania ładnej tekstury:
Krok 7 Powtórz powyższe czynności z pozostałymi elementami dyszy próbując użyć Cylinder Projection oraz Project From View. Punkty na oknie UV editing zaznaczasz PPM lub zbiorowo po wciśnięciu klawisza "B" możesz dowolnie zmieniać ich położenie w zakładce UV Vertex dla uzyskania lepszego teksturowania. Możesz również zaznaczać wszystkie punkty klawiszem "A" a także skalować siatki przy użyciu "S" oraz dowolnie je obracać przy użyciu "R". Pamiętaj, że po dokonaniu mapowania za każdym razem musisz ponownie wybrać obrazek. Wystarczy że na dolnym pasku rozwiniesz strzałki i wybierz z już wczytanych.
Krok 8 Tak wyteksturowany silnik jest już prawie gotowy jak zauważyłeś zostały jeszcze do zrobienia trzymadła. Jest ich cztery ale tak naprawdę tylko jedno. Tak więc usuń trzy z nich i pozostaw jedno którego teksturowaniem się zajmiemy. Korzystając z tych samych zasad który użyłeś do teksturowania dyszy wykonaj teksturę dla trzymadeł. Po ich teksturowaniu powiel je tak samo jak w poprzednim poradniku.
Krok 9 Jeżeli ukończyłeś teksturowanie to jeszcze warto dodać kilka elementów aby nasz silnik nie był nudnie gładki. Zajrzyj do zakładki Filtry w gimpie i poszukaj odpowiednich dla twojego pomysłu. Ja nałożę Szum HSV na kilka elementów. Do tego celu zaznaczę tylko kolory które chce pokryć tym efektem. Efekt ten pozwala uzyskać chropowatą powierzchnie. Przed stworzeniem mapy wypukłości usunę napis gdyż chcę aby pozostał on gładki a nie wklęsły ani wypukły. Następnie otwórz zakładkę Filtry-> Odwzorowanie->Normal Map. Wyskoczy Ci okno w którym możesz dopasować ustawienia odwzorowania do swoich potrzeb ja wybrałem opcję Sobel 3x3. Wyeksportuje teraz ponownie obraz również jako .PNG a do jego nazwy dodaj człon _NRM dla odróżnienia, że jest to mapa wypukłości. Teraz wybierz po kolei każdy element składowy i wybierając z lewgo paska opcję Smooth wygładź go. Następnie po wygładzeniu dodaj do każdego z elementów funkcję Edge Split (tak samo jak Boolean) jest ona domyślnie ustawiona na 30 stopni więc możesz ją od razu zatwierdzić. Po tym wszystkim zapisz swój model do tego samego Folderu w którym zapisałeś Obrazy. Domyślnie plik zapisze się jako plik Blendera i tak może pozostać gdyż Unity 5 bez problemu wczytuje takie pliki.
Etap II
Krok 10 Mam nadzieje, że poradziłeś sobie z instalacją Unity 5 oraz PartTools. Jeżeli tak to super. Teraz jeszcze musisz tylko wybrać swój folder GameData z gry, ale o tym też jest mowa w wątku z którego pobrałeś PartTools. Jeżeli już poprawnie ustawiłeś swój folder GameData to teraz utwórz w nim Folder o nazwie twojego moda. Teraz już możemy zająć się tylko i wyłącznie praca w Unity. (Jeżeli masz problemy z Unity i Part Tools pytaj niżej). Unity ma troszkę inny układ niż Blender. Dlatego w lewym dolnym rogu wybierz folder Assets po jego otwarciu w oknie obok kliknij PPM ->Creat -> New Folder. Nazwij folder jak chcesz najlepiej nazwą swojego moda.
Krok 11 Wejdź do utworzonego folderu i utwórz kilka nowych. Ja proponuję utworzenie następujących: Engines, Fuel Tank, Command, Utility etc. Czyli wszystkich folderów według których dzielone są części w KSP. Jeżeli np zamierzasz stworzyć tylko silniki to nie warto robić takiego podziału tylko twórz folder z nazwami Silników. W ten sposób do Folderu RD 843 przeciągam trzy pliki Model oraz dwa obrazy.
Krok 12 Jak zauważyłeś powstał jeden dodatkowy folder Materials. Otwórz go i kliknij na ikonę kuli. W po prawej stronie otworzy Ci się okno. Na jego górze masz zakładkę domyślnie Standard. Otwórz ją i wybierz w niej KSP->BumpedSpecularar.
Krok 13 Po wyborze rodzaju materiału. Wyskoczą ci u góry dwa okna na obrazki jedno jest wybrane domyślnie drugie - mapę wypukłości - musisz ustawić. Kliknij na pusty slot i w oknie które wyskoczy wybierz obraz_NRM. Następnie zatwierdź mapowanie przyciskiem Fix który znajduje się pod slotem NormalMap. Teraz wróć do folderu RD 843 i przenieś model na scenę przeciągając go z paska na nią. Po czym wyzeruj go położenie w zakładce Transform po prawej stronie.
Krok 14 Model został zaimplementowany jak możesz zauwazyć jest nawet nieco chropowaty. Teraz z górnego paska wybierz GameObject -> CreatEmpty. I powtórz tą czynność jeszcze trzykrotnie. Następnie zaznacz wszystkie przytrzymując Shift i wyzeruj ich położenie.
Krok 15 Zmień nazwy powyższych obiektów tak abyś je odróżniał. Ja przykładowo dwa nazywam Collider jeden RD 843 nazwa ostatniego jest bardzo istotna może być inna niż moja ale będziesz musiał ją zapamiętać. U mnie ostatni nazywa się thrustTransform. Następnie uczyń model dzieckiem RD 843 przeciągając Model na RD 843.
Krok 16 Do obiektów które nazwałem Collider trzeba dodać komponent. Zaznacz jeden z obiektów i w prawym oknie kliknij klawisz Add Component->Phisics->MeshCollider. Pojawią Ci się opcje Collider co ważne zaznacz okienko Convex a następnie dodaj Mesh czyli siatkę która będzie siatką kolizji.
Jak widzisz trzeba jeszcze zmienić ustawienia w oknach transform przestaw rotację na -90, 0, 0. Powtórz tą czynność wybierając jako drugą siatkę bazę naszego silnika. Po czym uczyń Collider dziećmi Rd 843.
Krok 17 Po ustawieniu siatki kolizji przyszła pora na sprawienie by KSP wiedziało skąd mają lecieć płomienie. Posłuży nam do tego obiekt thrustTransform. Zaznacz go i trzymając kursor na scenie wciśnij klawisz "R" wektory powinny zmienić się na sześciany. W okienku transform ustaw obiekt tak aby był poniżej poziomu dyszy silnika, a niebieski sześcian aby wskazywał w dół. Po tym uczyń thrustTransform dzieckiem RD 843.
Krok 18 Zaznacz objekt RD 843 i dodaj do niego komponent KSP->PartTools Nastepnie w okienku ustaw nazwę modelu który zostanie zapisany w formacie .mu oraz wybierz format w jakim mają być zapisane obrazy. Na koniec wybierz lokalizację gdzie mają być zapisane pliki. Będzie to folder który utworzyliśmy po zdefiniowaniu GameData w którym bedą zapisywane nasze zmodowane pliki.
Po wybraniu powyższych parametrów kliknij przycisk Write. I gotowe twoje pliki zostały zapisane w formacie który zrozumie KSP.
Etap III
Krok 20 W folderze w którym zapisałeś pliki z Unity utwórz nowy dokument tekstowy o nazwie RD834.cfg. Teraz przejdźmy do edycji tego dokumentu. Taki dokument składa się z kilkudziesięciu linijek tekstu. Poniżej masz je opisane.
PART
{
name = RD843 // uniwersalna nazwa twojej części nie może powtarzać się z żadną inną
module = Part
author = Sobol // chyba nie muszę tłumaczyć
mesh = model.mu //definiuje siatkę kolizji
rescaleFactor = 1.0 // definiuje skalowanie modelu w grze wraz z node stack
scale = 1.0 // definiuje skalowanie modelu
node_stack_top = 0.0, 0.705, 0.0, 0.0, 1.0, 0.0, 2 // górny wezęł zaczepienia
node_stack_bottom = 0.0, -0.945, 0.0, -1.0, 0.0, 2 // dolny wezęł zaczepienia
mass = 2.0 // masa silnika
emissiveConstant = 0.8
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
breakingForce = 400
breakingTorque = 400
crashTolerance = 22 // współczynnik wytrzymałości
maxTemp = 2000 // maksymalna temperatura
TechRequired = veryHeavyRocketry // technologia do odblokowania w karierze
entryCost = 115000 // koszt odkrycia cześci
cost = 18000 // koszt części
category = Propulsion // kategoria cześci
subcategory = 0
title = RD 843 // nazwa cześci
manufacturer = Sobkos COMPANY //Firma
description = // Opis cześci
attachRules = 1,0,1,1,0 // opcje montażu części
bulkheadProfiles = size1 // profil nagrzewania
Resztę pliku konfigurującego warto podmienić z któregoś z silników w grze.
Dla ustawiania parametrów silnika które interesują Cię podczas jego dodawania zmień następujące linijki w dalszej części pliku:
minThrust = 0 // minimalny ciąg
maxThrust = 600 // maksymalny ciąg
heatProduction = 140 //emitowane ciepło
fxOffset = 0, 0, 1.5
EngineType = LiquidFuel // typ silnika
PROPELLANT
{
name = LiquidFuel // rodzaj paliwa
ratio = 0.9 // współczynnik paliwa w mieszance
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer //rodzaj utleniacza
ratio = 1.1 //współczynnik utleniacza w mieszance
}
atmosphereCurve
{
key = 0 330 // wydajność silnika w próżni
key = 1 300 // wydajność silnika w atmosferze
key = 5 0.001 // wydajność silnika pod wodą
}
}
MODULE
{
name = ModuleGimbal
gimbalTransformName = Nozzle
gimbalRange = 6.5 // wektorowanie silnika
}
Ostatnia linijka którą wymienię to to o czym wspominałem. Czyli zmiana objektu który odpowiada za wylot płomieni. Jeżeli zamiast thrustTransform użyłeś innej nazwy to musisz ją zmienić w tej linijce:
thrustVectorTransformName = thrustTransform
Brawo własnie skończyłeś i dodałeś swoją pierwszą część do KSP.
W razie wątpliwości pytaj. Będę starał się pomóc.