Skocz do zawartości

Poradnik stoczniowca amatora - czyli zrób sobie statek


Vrihedd
 Udostępnij

Rekomendowane odpowiedzi

Mały poradnik dla całkiem początkujących inżynierów.

W związku z tym, że sam jestem początkującym stoczniowcem poniższy tutorial zdecydowanie nie wyczerpuje tematu a wręcz wymaga wielu uściśleń, uzupełnień i, pewnie, eliminacji błędów. Osoby szukające bardziej szczegółowych rozwiązań powinny skorzystać z forum egosoftu http://forum.egosoft.com/viewtopic.php?t=96337.

Większa część tego tutoriala jest oparta zresztą na opisie autorstwa Observe: http://forum.egosoft.com/viewtopic.php?t=130330

Narzędzia potrzebne do tworzenia własnych modeli do X3:

X2BC - kompilator/dekompilatro plików .bob i .bod autorstwa Doubleshadow http://www.doubleshadow.wz.cz/x2bc/

Mod Manager autorstwa Doubleshadow: http://www.doubleshadow.wz.cz/x3mm/ - przydatny przy wypakowywaniu zawartości plików .cat

DBOX – plugin do 3ds max i Gmax umożliwiający import/eksport plików .bod: http://www.doubleshadow.wz.cz/dbox/

Doubleshadow's X3 Editor – umożliwia edycję plików gry – bywa przydatny na pewnym etapie i warto go mieć: http://www.doubleshadow.wz.cz/x3e/

Plugin manager – zawiera Ship creatora.

3DS max lub Gmax

Następnie trzeba zrobić backup katalogu z grą. A w zasadzie tylko katalogów:

„mods”

„ship install”

i garści skryptów z katalogu „scripts” (najłatwiej je zidentyfikować po pierwszej instalacji statku – będą miały najświeższy czas modyfikacji).

Ja na wszelki wypadek kopiuję jeszcze wszystkie luźne pliki z katalogu gry (nie wiem po co ale to robię).

1.Pierwszy krok to wypakowanie przy użyciu mod managera zawartości plików .cat (od 01.cat do końca) do jakiegoś katalogu.

2.Odnajdujemy jakiś plik statku, np. argońska Nova: Twój katalog\data\objects\ships\argon\argon_M3.bob i przy użyciu X2BC dekompilujemy go do formatu .bod (plik .bob jest skompresowaną wersją pliku .bod podobnie jak np. .zip może być skompresowanym plikiem .txt).

3.Odpalamy 3ds maxa (lub Gmaxa) uruchamiamy skrypt DBOX i importujemy plik argon_M3.bod. Pojawia nam się coś takiego:

4.Nad kabiną widać taki mały sześcian ubrany w teksturkę Novy – zostawiamy go a resztę modelu kasujemy i tworzymy własny model. Nazwijmy go dla przykładu Apollo – w nazwę obiektu wpisujemy ships\argon\Apollo_M4. Przy okazji warto w ustawieniach skryptu skontrolować ścieżkę do wypakowanych wcześniej zasobów gry.

5.Wybieramy obiekt ships\argon\Apollo_M4 i w menu „Utilities” klikamy komendę „Reset Xform”, która usuwa z pamięci obiektu wszelkie informacje o pierwotnym położeniu – dzięki temu unikniemy błędów przy eksporcie modelu – jeśli tego nie zrobimy czasem może się okazać, że wyeksportowany model będzie obrócony o 90 stopni lub zmieni skalę.

6.Małemu sześcianowi pozostałemu po Novie nadajemy nazwę „cockpit” i ustawiamy jako obiekt potomny względem Apolla. Usuwamy z niego tekstury Novy.

7.Zaznaczamy obiekt ships\argon\Apollo_M4 i w menu skryptu DBOX przewijamy do pozycji „Components”, sprawdzamy czy jest podana ścieżka do pliku components.txt (twój katalog\data\types\components.txt) i naciskamy „Export” - ta operacja dopisuje do pliku components.txt informację o położeniu kokpitu statku – czyli tej pozycji z jakiej oglądamy wszechświat X3 – pod koniec pliku powinien pojawić się wpis w stylu: ships\argon\Apollo_M4 i garść koordynatów.

8.Używając pluginu DBOX eksportujemy wszytko (Body) do: objects\ships\argon\Apollo_M4.bod. Nowy plik kompilujemy poprzez X2BC do formatu .bob (plik .bod zostawiamy sobie do dalszego wykorzystania).

9.Resetujemy 3DS i importujemy plik: objects\ships\argon\argon_M3_scene.bod. Opcja „Detach parts” musi być odznaczona (w zasadzie chyba nigdy nie powinna być zaznaczana w naszej pracy). Klikamy na model Novy i zmieniamy mu nazwę na: Bships\argon\Apollo_M4_1b

10.Eksportujemy scenę (wszystko) jako: objects\ships\argon\Apollo_M4_scene.bod. Reset sceny i import wyeksportowanego przed chwilą pliku (sceny). W centrum sceny powinien pojawić się zamiast Novy nasz model. Jeśli tak jesteśmy w domu i możemy działać dalej.

11.Oprócz modelu na scenie mamy trochę różnych obiektów, różnie ponazywanych. Część (lub nawet wszystkie) są przedstawione w postaci dummy boxów. Jest to efekt tego, że obiekty te są zapisane w formacie bob, nie obsługiwanym przez skrypt (lub tego, że w ustawieniach skryptu nie podaliśmy właściwej ścieżki do wypakowanych zasobów gry). Zanim coś z tym zrobimy zobaczmy co to za obiekty.

12.

- Obiekty weapondummy zostawiamy – to są działka.

- Obiekt fx_engine_argon_M3 możemy skasować – to jest strumień z dysz silników, wydłużający się wraz ze wzrostem prędkości statku (mi nie udało się zrobić własnego, nie znalazłem też na to przepisu).

- fx_engine_emitter możemy zostawić (to jest taki mały wąski ślad, który zostaje za lecącym statkiem (jak kilwater na wodzie).

- turretdummy – wieżyczka – w zależności od potrzeb

- cameradummy – kamera przypisana do wieżyczki – z tej pozycji obsługujemy wieżyczkę do której jest podpięta – jeśli usuniemy to nie postrzelamy 🙁

- obiekty 566... - jest ich 16 – są to silniczki manewrowe. Ich pracę możemy obserwować np. w Novie podczas zwrotów – są pięknie je widać z kokpitu – nie są niezbędne do działania modelu a na początek nieco utrudniają modelowanie – ja się uparłem i dodałem je do pierwszego modelu – efekt jest taki, że na statku kilkukrotnie większym od Novy prawie ich nie widać.

13.Jak już oczyściliśmy scenę z niepotrzebnych obiektów oglądamy co nam zostało i jest przedstawiane przez zielony sześcian dummy box. Nazwa obiektu wskazuje nam gdzie go szukać w katalogu z naszymi plikami. Znajdujemy np.: object\ships\props\turretdummy.bob i przy użyciu X2BC dekompilujemy go do formatu bod. To samo robimy z pozostałymi obiektami dummy.

14.Resetujemy scenę i wczytujemy od nowa. Jeśli wszystko już gra ustawiamy wszystkie obiekty na potrzebnych pozycjach względem statku, kasujemy nadliczbowe, klonujemy brakujące (pamiętając o nadawaniu im stosownych nazw czyli np. Bships\props\turretdummy_2b – gdzieś wyczytałem, że istotne jest po nazwie obiektu dopisanie podkreślnika i numeru – nie pamiętam co to daje ale jak kazali tak robię, przynajmniej mam porządek 😉. Ważne jest, żeby kamera obsługująca wieżyczkę miała taką samą literę na końcu. Na koniec przed eksportem dobrze jest na każdym obiekcie sceny użyć komendy Utilities\Reset Xform.

15.Eksportujemy scenę (wszystko) do pliku: objects\ships\Apollo_M4.bod i gotowe. Możemy jeszcze kontrolnie zresetować 3ds i ponownie importować scenę. Jeśli wszytko gra to odpalamy Text Editor z X3 Editora

16.Otwieramy plik Tships.txt mieszczący się w katalogu types.

17.Kopiujemy i wklejamy Argońską Novą. Zmieniamy nazwę na coś w stylu SS_SH_0001. W zakładce „Model” w linii „Ship scene” wpisujemy „Ships\argon\Apollo_M4_scene” i zapisujemy plik.

18.Uruchamiamy „Ship Creator” i klikamy przycisk „Load Ship Data”. Otwieramy plik „Tships.txt” i ładujemy dane naszego statku – powinien być na dole listy.

19.Główny ekran podzielony jest na garść zakładek. Pierwszą jest „Main”. Wypełniamy puste pola i zaznaczamy rasę, w której stoczniach ma być dostępny nasz statek.

20.Przeskakujemy do zakładki „Text”, klikamy prawym na pustym białym polu i z menu kontekstowego wybieramy „Add language”. Wypełniamy pola.

21.Przełączamy na zakładkę „Scenes”. Pole „Ship Scene” mamy już wypełnione więc w polu niżej podajemy ścieżkę do pliku sceny na naszym dysku.

22.W zakładce other models dodajemy (poprzez menu kontekstowe) plik modelu statku i ew. inne pliki modeli (np. własnoręcznie modyfikowanych wieżyczek itp.).

23.W zakładce „Other files” dodajemy resztę plików, przede wszystkim grafiki własnych tekstur.

24.W „Components” klikamy na guzik: „Import from Components file”, znajdujemy plik Components.txt, jedziemy na koniec i wybieramy pozycję „ships\argon\Apollo_M4”. Właśnie wgraliśmy pozycję kokpitu.

25.Teraz klikamy przycisk „Customize Ship”. Wyskakuje nam nowe okienko. Wypełniamy pola zakładek: „Info”, „Performance”, „Weapons” (w „Info” mamy pole „Docking slots” - zostawiamy wartość 0 – dodanie punktu dokowania to odrębny temat). Zakładkę „Model" możemy zostawić bez zmian. W zakładce "Lasers/Weapons" ustalamy dostępną broń.

26.Zakładka „Turrets”. Żeby się nią pobawić potrzebujemy otworzyć w jakimś edytorze tekstowym plik sceny: objects\ships\argon\Apollo_M4_scene. Każdy obiekt sceny ma na końcu linii dopisany indeks np. „idx 6”.

- sprawdzamy jaki indeks ma model statku a w Ship Creatorze sprawdzamy czy Main Cockpit ma wpis z tym samym numerem na końcu np. „ships\argon\Apollo_M4:0". Jeśli nie, rozwijamy listę i wybieramy potrzebną pozycję.

- klikamy „Add Turret” i wybieramy pozycję wieżyczki, zatwierdzamy. Teraz klikamy dwa razy na nowozałożonej wieżyczce i z rozwijanej listy wybieramy kamerę (cameradummy), która ją obsługuje (zwracamy uwagę na indeks). Jeśli wieżyczka ma obsługiwać inne bronie niż działka dziobowe kopiujemy standardowy kokpit co uaktywnia nam listę broni wieżyczki.

27.Teraz przechodzimy do zakładki „Guns”. Klikamy na wybraną wieżyczkę i naciskamy guzik „Add gun”. W niższym okienku pojawia nam się wpis. Po kliknięciu na nim uaktywnia nam się lista „Primary body”. Rozwijamy i wybieramy pozycję pasującą do danej wieżyczki (kamery, którą wcześniej wybraliśmy) – tu przydaje się jednolite oznaczanie kamer i wieżyczek.

28.Na koniec zapisujemy statek i jesteśmy gotowi do testów 😉 Plugin Managerem wgrywamy statek i jazda... poprawiać błędy 😎

Mam nadzieję, że o niczym nie zapomniałem.

Jakby co proszę o wszelkie uwagi, szczególnie od osób, które lepiej ode mnie znają temat ale wrodzona skromność dotychczas powstrzymywała je przed udzielaniem się 😎

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 52
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Cytat

Ja na wszelki wypadek kopiuję jeszcze wszystkie luźne pliki z katalogu gry (nie wiem po co ale to robię).

Dobrze robisz. Pierwsza instalacja dodatkowego statku tworzy dodatkowe pliki .cat i .dat w katalogu gry z kolejnymi numerami. Tu są zapisywane informacje o instalowanym statku. Instalacja kolejnych statków dopisuje te statki do wcześniej stworzonych plików .cat i .dat

Co do instrukcji, to niezła. 🙁

Odnośnik do komentarza
Udostępnij na innych stronach

Vrihedd niezły tutorial .

Ja mam pewien problem , odnośnie punktu 2 twego poradnika nie potrafię załadować pliku .bod do 3d studio (oczywiście mam DBOX-a i napewno jest on dobrze ustawiony). Pliki bob znalazłem w rozpakowanym X archiwum 03

d:\katalog\ X˛ archive 03\objects\ships\argon\argon_M3.pbb no i tu wątpliwości czy plik pbb to bob.

Gdy go skompilowałem do pliku bod przez x2bc no to się już go nie dało załadować do 3d studio .

🙁

Odnośnik do komentarza
Udostępnij na innych stronach

Czy podczas importu masz zaznaczone "body" czy "scene"? Żeby skrypt zaimportował model statku musi być "body" w przeciwnym wypadku zgłasza błąd.

Jeśli to nie pomoże to po nieudanym imporcie w lewym dolnym rogu ekranu jest takie małe okienko, w którym będzie "DBOX ...". Kliknij na nim prawym myszy i odpal "Open listener window" - tam powinna być informacja w czym leży problem.

P.S. Skąd wziąłeś plik .pbb? U mnie po rozpakowaniu .cat-a wszystkie modele są w formacie .bob a sceny w .bod. Przyznaję, że sam dotychczas nie miałem okazji dekompilować .pbb więc nie wiem co z tego wychodzi.

Odnośnik do komentarza
Udostępnij na innych stronach

Pliki pbb wziąłem z rozpakowanego archiwum 03 tam są katalogi: objects , s , tex , textures.

W katalogu objects wybrałem ships a tam były wszystkie możliwe rasy : argon, boron itp.

A plików bob nie znalazłem choć przeszukałem wszystkie pozostałe rozpakowane archiwa.

Może ma to coś wspólnego z wersją gry ja mam 2.5.

Przyznam wyczerpują mi się możliwości.

P.S.

Już rozwiązałem problem .

Źle rozpakowałem cat.

Teraz już wszystko gra 🙁

Odnośnik do komentarza
Udostępnij na innych stronach

Mam kolejny problem 🙁

Mianowicie wg. p.9 importuje plik argon_M3_scene.bod. (zaznaczona opcja scene)i pojawiają mi się takie czerwone boxy bez tekstury , a ty piszesz że mam zaznaczyć model argon nowy a go tam niema , jest tylko box o takiej nazwie.

No to zmieniam nazwe tego boxu na Bships ..itd.

P 10. Następnie eksportuje (export all , zaznaczone scene) całość.

No i importuje to samo jako co body czy scene ?

Odnośnik do komentarza
Udostępnij na innych stronach

Importujesz scenę.

Nova powinna była się wgrać, jeżeli w katalogu na kótry wskazuje nazwa obiektu novy (czyli ships\objecys\argon...) masz plik w formacie .bod. Jeśli się nie pojawia w okienku "Listener window" powinno być wyjaśnienie dlaczego tak jest. To samo dotyczy innych boxów - jeżeli są. Z tego co wiem, nazwy obiektów odnoszą się do ścieżek dostępu do plików w strukturze katalogów gry.

Odnośnik do komentarza
Udostępnij na innych stronach

No wszystko w porządku kończę na razie pierwszy statek, już odbyłem loty próbne na razie bez zaprogramowanych wieżyczek

i laserów .

Natomiast mam inny problem . Gdy chcę zaimportować większy statek niż nowa np. argon m2 to wyskakuje mi okienko:

"--Rutime error : Out of scripter memory - use options to increase"

Gdzie i jak mogę zwiększyć tą pamięć w skrypcie , co mogę z tym zrobić?

P.S.

Czy można zastosować własne tekstury np.jpg ?

Odnośnik do komentarza
Udostępnij na innych stronach

Cytat

No wszystko w porządku kończę na razie pierwszy statek, już odbyłem loty próbne na razie bez zaprogramowanych wieżyczek

i laserów .

Natomiast mam inny problem . Gdy chcę zaimportować większy statek niż nowa np. argon m2 to wyskakuje mi okienko:

"--Rutime error : Out of scripter memory - use options to increase"

Czy masz zaznaczoną opcję "Load highest LOD"? Jeśli nie to bywa, że wyskakuje ten komunikat.

Jeśli masz zaznaczoną to nie wiem jak zwiększyć ustawienie pamięci. Za mało o tym wiem 🤔 .

Cytat

Czy można zastosować własne tekstury np.jpg ?

Można. Mój statek w używa z powodzeniem dwóch .jpg. Chociaż, z tego co wiem, .dds-y są efektywniejsze z powodu obsługi wielu warstw i przezroczystości.

Odnośnik do komentarza
Udostępnij na innych stronach

Mam problem z ustawieniem widoku z kokpitu.

Po zaimportowaniu novy mam novę i sześcian .

Wywalam novę wklejam własny statek odpowiednio go nazywam, ustawiam sześcian jako obiekt potomny.

Korzystam też oczywiście z polecenia Reset XForm do obydwu obiektów następnie eksportuje do pliku Component

ustawienie cockpitu.( eksportuje do pliku 04cat/types/component )

W ship creator ustawiam ścieżkę do mego pliku component i wgrywam swój statek.

Mimo to zawsze kamerę z kokpitu mam centralnie w środku statku .

W rozpakowanych folderach cat. component występuje kilka razy : cat 04, cat 05 i cat 06

Czy wszystko jedno z którego components korzystam jeżeli nie tu robie błąd to już nie wiem gdzie

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem tak jak mi poradziłeś LeWaR ( wszystkie pliki do jednego katalogu, a plik component z cat 06, wyższego nie ma) ale nie pomogło.

Czy w takim bądź razie mogę prosić Szanownych Panów Stoczniowców o podesłanie mi pliku bob któregokolwiek z waszych

statków na maila: <!-- e -->Jarobos@wp.pl<!-- e -->

Będę miał porównanie i może dojdę gdzie tkwi błąd.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem polega na tym, że tworząc plik. xsp w "Ship creatorze" powinieneś zaimportować plik components.txt (opcja jest w odpowiedniej zakładce). Jak to zrobisz twój "punkt widzenia" powinien być umieszczony we właściwym miejscu.

Plik .bob ani .bod nie ma tu nic do rzeczy. Sprawdziłem, że nawet eksport modelu bez sześcianu kokpitu daje właściwy punkt widzenia, jeśli w pliku components.txt ręcznie wpiszę właściwe koordynaty.

// Generated by DBOX2 at 2008-10-06 00:13:27
 
// Automatically generated components file
// Delete this file and run the game to regenerate from body/cut data
 

SCTYPE_COCKPIT; 1;

ships\argon\Dionizos_MTS; 1;
NULL; -0.000000;0.077995;0.949416; 0.000000;0.000000;0.000000;

Tak wygląda ten plik w przypadku mojego Dionizosa.

Skopiuj sobie taki plik w odpowiednie miejsce, wyeskportuj z maxa położenie kokpitu a potem zedytuj plik kasując wszystkie statki poza Twoim własnym i zmień liczbę po "SCTYPE_COCKPIT" na "1". Taki plik każ zaimportować "creatorowi" - powinno pomóc.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie martw się. Sam to przechodziłem. Wgrywałem statek do gry wiele razy zanim wyeliminowałem wszystkie błędy 🤔

P.S. Niedawno zainstalowałem sobie XTM 0.7.4 i przestały mi się wgrywać własne statki - mój i ściągnięte 😀 Patch 0.7.5 nie pomógł. Cycrow pisał, że jest to wina skryptów, które się zmieniły dla nowej wersji moda. Czy ktoś z Was ma ten sam problem?

Odnośnik do komentarza
Udostępnij na innych stronach

Ja instalowałem statek w XTM 0.7.4. Bassiliska z własnymi przeróbkami i zauważyłem że mimo iż miał on ustawione dwie rasy: Argonów i Przyjacielską Rasę to nie pojawił się w żadnej stoczni Argonów, natomiast bez problemów był dostępny w stoczni XTM-a i wszystkich stoczniach dodawanych prze Gildie. Może to jest rozwiązanie waszych problemów, dodanie przed instalacją statku Przyjacielskiej rasy, jako rasy w stoczniach której ma się ten statek pojawić.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij


×
×
  • Dodaj nową pozycję...