Skocz do zawartości


- - - - -

Poradnik stoczniowca amatora - czyli zrób sobie statek


52 odpowiedzi w tym temacie

#1 Vrihedd

    Pilot

  • Użytkownicy
  • PipPip
  • 132 postów
  • Rasa: Nieznana

Napisano 09 październik 2008 - 22:24

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...pic.php?t=96337.
Większa część tego tutoriala jest oparta zresztą na opisie autorstwa Observe: http://forum.egosoft...ic.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:

Dołączona grafika

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.

Dołączona grafika

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 B)

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ę B)

#2 Yacek

    Komandor

  • Gwardia
  • 9433 postów
  • LokalizacjaKraków
  • Rasa: Nieznana
  • Gram w: X: Rebirth

Napisano 10 październik 2008 - 07:15

Vrihedd napisał:

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. :(

#3 Sorkvild

    Kapitan

  • Przyjaciele
  • PipPipPipPipPip
  • 1380 postów
  • Rasa: Argon
  • Gram w: X2: The Threat, X3: Reunion, X3: Terran Conflict, X3: Albion Prelude

Napisano 10 październik 2008 - 07:49

Jestem za tym aby podwiesic ten temat. Dobry tutorial, aczkolwiek musze troche poczekac i "zalatwic" sobie 3DSmax.

#4 Vrihedd

    Pilot

  • Użytkownicy
  • PipPip
  • 132 postów
  • Rasa: Nieznana

Napisano 10 październik 2008 - 16:18

Mam lepiej bo mam 3ds z pracy, na awaryjnym lapku.

Co do kopiowania tych luźnych plików to zapomniałem, że .cat-ów i .dat nie ruszam(bo duże). Kasuję tylko ten nowy, który powstaje po instalacji statku (u mnie był to 12).

#5 OSSI

    Admirał

  • Admiralicja
  • 55 postów

Napisano 10 październik 2008 - 16:26

Bardzo przydatne :(

#6 Yacek

    Komandor

  • Gwardia
  • 9433 postów
  • LokalizacjaKraków
  • Rasa: Nieznana
  • Gram w: X: Rebirth

Napisano 10 październik 2008 - 16:27

O$$I napisał:

Bardzo przydatne :(

Poradnik czy 3DS w pracy?

#7 OSSI

    Admirał

  • Admiralicja
  • 55 postów

Napisano 10 październik 2008 - 16:39

Poradnik, jak ja robiłem kiedyś statki do sciągnołem 3ds`a ]:( aczkolwiek darmochą z pracy bym nie pogardził ;)

#8 randal

    Pilot

  • Użytkownicy
  • PipPip
  • 15 postów

Napisano 11 październik 2008 - 20:20

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 .
:(

#9 Vrihedd

    Pilot

  • Użytkownicy
  • PipPip
  • 132 postów
  • Rasa: Nieznana

Napisano 11 październik 2008 - 21:51

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.

#10 randal

    Pilot

  • Użytkownicy
  • PipPip
  • 15 postów

Napisano 12 październik 2008 - 08:49

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 :(





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych