O webu Bannery a partneři Letecké motory Popisy motorů Teorie a další články Slovník pojmů Časté otázky Srovnání motorů Převaděč jednotek Zajímavé odkazy Literatura Expozice For English readers Ruská letecká výzbroj Popis zbraní Články Pilot Súčka Technik u dopravky Jindřichův Hradec Letecké simulátory Jesenicko 2.0 ZK VFR Objects FSbox - crashboxy Přehled scenérií ČR Poznatky z tvorby Časté problémy s FS Lock On - tutorial Ka-50 Black Shark Ostatní Cyklovýlety Akce & fotky Kalendář akcí Mapa leteckým muzeí Letecké dny v ČR/SR Letecké dny a akce Aviatická pouť 2010 Aviatická pouť 2012 CIAF 2000 CIAF 2002 CIAF 2003 CIAF 2004 CIAF 2005 CIAF 2006 CIAF 2007 IFD 2008 Přerov 2005 Přerov 2006 Flying Rhino 2005 Flying Rhino 2007 Flying Rhino 2008 Flying Rhino 2009 Ramstein Rover 2012 Náměšť, Hradec 95/6 Náměšť 1995 a 1996 Náměšť 2006 Mošnov 1989 Den NATO 2006 Den NATO 2007 Dny NATO 2008 Dny NATO 2012 Čáslav 2007 Sliač 1964 Sliač 2003 Sliač 2005 Národné let. dni 2007 Malacky 2009 CSIAF 1992 Le Bourget 2007 RIAT 2009 TLP 2008 Duxford 2008 Kecskemét 2008 Kecskemét 2010 Airpower 2009 NTM 2009 Radom 2013 Cihelna 2006 Cihelna 2007 Cihelna 2010 Cihelna 2012 Den Pásovce 2009 Den Pásovec 2010 Kbely Bílý Potok Olomouc Neředín Králíky, tvrz Bouda Lešany Vyškov AirPark Zruč TM Brno Krakow 2013 Muz. Orla Bialego Świdnica Košice SPSL 2008 Messerschmitt Stif. Schleißheim Cottbus Gatow Peenemünde Sinsheim Gatčina NASM Castle Air Museum Hill Aerospace Museum Pacific Air Museum USS Hornet Planes of Fame Cradle of Aviation Kennedy Space Center Midland Museum of Flight USS Interpid Hendon De Havilland Museum Le Bourget Museum Linköping Aeroseum Ängelholm Moskva Siem Reap Bukurešť War Remnants Museum Rimini Caproni Automoto Autosalon 2005 AUTOTEC 2008 Ecce Homo 2005 Ecce Homo 2006 Ecce Homo 2007 Ecce Homo 2008 Ecce Homo 2009 FMX Brno 2010 Fotky z letů Let nad Jeseníky I Let nad Jeseníky II Let v Piper L4J Praha - Chania 2007 Ostatní Priessnitzův pohár 07 Delfín OK-ATS JAS-39 Gripen Panorama Medlánky 24.2.2008 Depozit TM Brno Dargen Ignis Brunensis 2008 aukce Mariánské Láz. California agric. mus. Petroleum museum Možnosti webu

Switch to English Přidat k oblíbeným Verze pro tisk
Spřátelené weby
L-39 Výcvikový systém ATM Online www.airbase.cz www.militarybox.cz Československá PVO další odkazy

česky english

FSBox

Program pro vizualizaci crashboxů scény vytvořené pomocí GMAX a exportované přes MakeMDL.


verze 1.3 (10.12.2005) - fsbox_1v3.zip (3070kB) nebo fsbox_1v3nomanual.zip (160kB, verze bez HTML manuálu)
  • sjednocení formátu importu/exportu v MAXScript
  • export crashboxů podle názvu nebo podle výběru
  • snížena paměťová náročnost
  • opraveno zadávání parametrů programu
  • přidání funkce pro odstranění stínů scenérie
verze 1.2 (10.9.2005) - fsbox_1v2.zip - definice vlastních crashboxů v 3dsmax/gmax, zatím jen betaverze
verze 1.1 (21.7.2005) - fsbox_1v1.zip - přidána spolupráce s 3dsmax/gmax, zatím jen betaverze
verze 1.0 (20.7.2005) - fsbox_1v0.zip

Obsah:

  1. Důvod vzniku
  2. Základní informace o programu
  3. Co je potřeba ke správnému běhu
  4. Parametry při spuštění
  5. FSBox.ms (MAXScript)
  6. Co je potřeba ke správnému běhu
  7. Grafické znázornění činnosti FSBox
  8. Zobrazení crashboxů v FS
  9. Zobrazení crashboxů v 3dsmax/gmax
  10. Nadefinování vlastních crashboxů v 3dsmax/gmax
  11. Převod DAT souborů ze staré verze na novou
  12. Známé problémy
  13. Další vývoj
  14. Copyright

Důvod vzniku:

Objekty exportované z GMAX, především ty složitější, velmi často nemají dostatečně přesně vytvořené kolizní kvádry (tzv. crashboxy). Stane se pak, že s letadlem narazíte do budovy i pokud konec křídla vašeho letounu je 15 metrů od ní. Zvláště nepříjemné je to pak na letištích - při snaze o pojíždění mezi hangáry dochází k building crash. Důvodem je způsob reprezentace crashboxů, který používá FS - vysvětleno zde, a také nedokonalost exportního programu MakeMDL. .

Základní informace o programu:

FSBox se snaží tuto situaci řešit a to zobrazením aktuálních crashboxů uživateli a především jejich ručním předefinováním. Vše je postaveno na čtení a úpravě BGLC kódu v souborech s příponou ASM. Program nemá žádné grafické uživatelské rozhraní. Záměrem bylo naopak vytvořit jednoduchou, čistě konzolovou aplikaci, která by se snadno hromadně spouštěla z dávkových souborů. Krom konzolového programu patří k FSBox ještě skript pro 3dsmax/gmax, který umožňuje spolupráci s těmito programy.

Funkce programu

  1. Zobrazení crashboxů ve FS. Na základě zadaného vstupního ASM souboru vytvoří nový ASM soubor, který po kompilaci na BGL a nainstalování zobrazí crashboxy ve FS.
  2. Zobrazení crashboxů v 3dsmax/gmax. Ze vstupního ASM souboru vygeneruje datový soubor, který po načtení přes MAXScript zobrazí v 3dsmax/gmax crashboxy.
  3. Vlastní definice crashboxů v 3dsmax/gmax. Po jejich exportování přes MAXScript, po úpravě ASM souboru pomocí FSBox a kompilaci budou kolize dané scény ve FS fungovat dle vašich představ.
  4. Vytvoření XML souboru s popisem polohy scény s vizualizovanými crashboxy. Nový XML se vytváří podle existujícío XML k dané scenérii.
  5. FSBox pomůže s vytvořením dávkového BAT souboru pro rychlejší kompilaci scenérie s vizualizovanými crashboxy.
  6. Krom práce s crashboxy program také může upravit ASM soubor tak, aby scenérie nevrhala stíny.
    Příští verze bude mít několik možností pro nastavení podmínečného zobrazení objektu - např. zobrazení pouze přes den, skrytí objektů v zimě atd.

Co je potřeba ke správnému běhu:

  • fsbox.exe - tento program
  • fsbox.dat - nutný vzor pro vytvoření ASM souboru
  • fsbox.ms - MAXScript pro 3dsmax/gmax (všechny tyto 3 soubor, jsou součástí instalačního balíku)
  • bglc.exe (bglc_9.exe) - program pro kompilaci ASM do MDL. Použití je např "bglc.exe /mdl crashboxes.asm". Základní verzi možno stáhnou v tomto SDKčku. Verze bglc_9, kompatibilní s FS2004, je zde. Pokud možno, používejte bglc_9 !!
  • bglcomp.exe - program pro kompilaci MDL a XML do BGL. Použití je "bglcomp crashboxes.xml". Stahujte zde
  • bglcomp.xsd - nutné schéma pro XML soubory, součástí předchozího SDK.
Všechny soubory (i ASM soubory) je vhodné mít v jednom adresáři. Soubor fsbox.ms doporučuji dát do instalace 3dsmax/gmax do složky Scripts.

Parametry při spouštění:

FSBox.exe je konzolová aplikace, zde jsou popsány všechny možné parametry

fsbox.exe [/i] input [/o output] [/help] [/helpcs ] [/xml [xmlfile]] [/bat [batfile]] [/noshadow] [/maxbox [datfile]] [/noasm]

fsbox.exe [/i] input /patch datfile

fsbox.exe /convert datfile


/i input

zadání vstupního ASM soubor s objekty, jejichž crashboxy zobrazit, upravit nebo této scenérii odstranit stín. Parametr /i není nutný.

/o output

výstupní ASM soubor se zobrazenými crashboxy. V případě zadávání jména výstupního souboru je parametr /o před jménem nutný. Pokud jméno výstupního souboru není zadáno, je zvoleno implicitní crashboxes.asm.

/help

anglická nápověda

/helpcs

česká nápověda

/xml xmlfile

vytvoří XML soubor s pozicí crashboxů stejnou, jako je pozice objektu.
Není-li zadáno jméno souboru, je implicitně zvolen název, odpovídající výstupnímu ASM souboru.

/bat batfile

vytvoří dávku pro snadnou kompilaci a instalaci Není-li zadáno jméno souboru, je implicitně zvolen název, odpovídající výstupnímu ASM souboru.

/maxbox datfile

vytvoří definice crashboxů pro 3dsmax/gmax MAXScript. Jméno datového souboru je možné zadat, v opačném případě je zvolen název, odpovídající výstupnímu ASM souboru.

/noasm

nebude vytvářet ASM soubor s vizualizovanými crashboxy.

/patch datfile

vstupní ASM soubor doplni o crashboxy exportovane z 3dsmax/gmax a uložené v souboru, jehož jméno je specifikováno za parametrem /patch.

/convert datfile

konvertuje zadaný DATový soubor, vytvořený starší verzí FSBox do formátu, používaného FSBox 1.3

/noshadow

Vstupní ASM soubor upraví tak, aby objekt nevrhal stíny.


FSBox.ms (MAXScript):

Toto je skript pro 3dsmax a gmax, pomocí kterého budete do těchto programů importovat a z nich exportovat crashboxy.


  1. Typ výběru objektů k exportu.
    by selection - budou exportovány pouze vybrané objekty.
    by name - budou exportovány všechny objekty, jejichž název začíná "crashbox".
  2. Zvolte program, ze kterého exportujete. Bude tím ovlivněno, zda se bude ukládat výsledek exportu do souboru nebo zda se zobrazí. Gmax MAXScript totiž neumožňuje zápis do souboru.
  3. Nastavte správně měřítko.
    Věnujte pozornost správnému nastavení měřítka. Hodnota 1.0 platí, pokud máte měřítko v programu nastaveno 1 unit = 1 metr.
    Pokud máte nastaveno 1 unit = 1 inch, nastavte spinner na 0.0254.
    Správné nastavení měřítka snadno zjistíte po exportování crashboxů a zkontrolování vrácených dat. Víte-li, že vaše crashboxy mají rozměr v řádech metrů a ve výstupním DAT souboru uvidíte hodnoty v řádech stovek metrů, bude patrně nutné nastavit měřítko na 0.0254.
  4. import - importuje datový soubor s crashboxy a v programu je zobrazí jako kvádry
    export - v programu vytvořené crashboxy exportuje (po provedení dalších kroků bodou vámi definované crashboxy fungovat v FS - viz dále)
    help - zobrazí základní nápovědu
  5. Zde se zobrazí zpráva o výsledku importu/exportu.
    FSBox v1.3 compatible data imported - byla importována data ze souboru, kompatibilního s FSBox 1.3
    FSBox v1.2 or older data imported !!! - byla importována date ze souboru, vytvořeného starší verzí FSBox. Pokud byla struktura souboru správná, byla data importována správně. Přesto doporučuji daný datový soubor konvertovat do formátu FSBox 1.3 (viz spuštění fsbox s parametrem /convert).
    Data exported via clipboard (?) - byl zvolen export z programu gmax, exportovaná data byla zobrazena ve druhém okně, uživatel je musí ručně přes schránku zkopírovat do souboru DAT.
    Created C:\gmax\airport_crashes.dat - byl proveden export z programu 3dsmax, je zobrazen název exporovaného souboru

Grafické znázornění činnosti FSBox

Pro snazší pochopení činnosti FSBox doporučuji se seznámit s postupem mezi vytvořením scenérie a zobrazením v FS.

Typy souborů:
  • ASM - zdrojový kód scenérie v jazyce BGLC (je podobný assembleru). Tyto soubory vznikají při exportu z gmax pomocí MakeMDL, ve kterém je zapnuta možnost Keep Files (ponechání ASM souborů).
  • MDL - vzniká kompilací ASM souborů pomocí programu bglc. Vzniká také při exportu z gmax pomocí MakeMDL.
  • XML - soubor s popisem polohy scenérie, je vytvořen během exportu z gmax pomocí MakeMDL
  • BGL - vzniká kompilací XML (a MDL) souborů. Je to formát, používaný Flight Simulatorem
  • DAT - soubory pro výměnu dat mezi fsbox.exe a fsbox.ms.
  • X - DirectX soubory, je možné je dát na vstup MakeMDL namísto exportu z gmax.
Obdélníkem jsou značeny programy, elipsou přípony zpracovávaných souborů, šipky jsou převody mezi datovými formáty (především kompilace).



Zobrazení crashboxů ve FS:

  1. Vytvořte scenérii v GMAX a zvolte export do MDL pomocí MakeMDL.
  2. V Options MakeMDL nastavte "Keep Files" a klikněte Start.
  3. Vzniknou dva ASM soubory - např. scenery.asm a scenery_0.asm.
  4. Teď pomocí fsbox vytvoříte jeden ASM soubor, několik příkladů, jak toho můžete docílit:
    fsbox.exe scenery.asm /o output.asm /xml /bat
    načte scenery.asm, výslednou scénu s crashboxy uloží do output.asm, na základě souboru scenery.xml vytvoří soubor output.xml a dávkový soubor output.bat
    fsbox.exe scenery.asm
    načte scenery.asm a výsledek uloží do implicitně určeného souboru crashboxes.asm
    fsbox.exe scenery.asm /o output.asm /maxbox boxes.dat
    načte scenery.asm, vytvoří output.asm, navíc ještě vytvoří soubor boxes.dat s definicemi kvádrů pro zobrazení v 3dsmax/gmax
  5. Zkompilujte nový ASM soubor do formátu MDL
    bglc.exe /mdl scenery.asm
  6. Zkompilujte MDL soubor do BGL. Musíte ale mít nejprve ručně nebo pomocí FSBox vytvořen soubor XML.
    bglcomp.exe scenery.xml
    Nebo místo předchozích dvou kroků použijte dávkový BAT soubor.
  7. Výsledkem kompilací je BGL soubor scenery.bgl, nainstalujte jej do FS a vyzkoušejte.

Zobrazení crashboxů v 3dsmax/gmax:

  1. Vytvořte scenérii v GMAX a zvolte export do MDL pomocí MakeMDL.
  2. V Options MakeMDL nastavte "Keep Files" a klikněte Start.
  3. Vzniknou dva ASM soubory - např. scenery.asm a scenery_0.asm.
  4. Necháte vytvořit soubor DAT, ve kterém jsou popsány crashboxy, které se potom zobrazí v 3dsmax/gmax
  5. fsbox.exe scenery.asm /maxbox
    načte scenery.asm a vytvoří datový soubor crashboxes.dat, navíc se ještě vytvoří soubor crashboxes.asm
    fsbox.exe scenery.asm /maxbox /noasm
    nepřejete-li si vytvářet ASM, přidejte parametr /noasm
    fsbox.exe scenery.asm /maxbox boxes.dat
    načte scenery.asm a vytvoří datový soubor boxes.dat
  6. V 3dsmax/gmax otevřete v menu MAXScript > Run Script. Vyhledejte a spusťte skript fsbox.ms
  7. Otevře se vám okno skriptu. Klikněte import, vyhledejte vytvořený DAT soubor a otevřete jej.
  8. V prostředí programu 3dsmax/gmax se vám zobrazí crashboxy. Problém může nastat s neodpovídajícím měřítkem importovaných crashboxů - v tom případě znovu importujte se změněným měřítkem v nastavení fsbox.ms (scale).

Použití parametru /maxbox a zobrazení v 3dsmax.


Nadefinování vlastních crashboxů v 3dsmax/gmax:

  1. Uživatel nadefinuje crashboxy vytvořením běžných boxů (kvádrů). Pro snazší manipulaci je všechny může sloučit pomocí modifikátoru Edit Mesh a jeho funkce Attach do jediné Editable Mesh.



  2. Spusťte skript fsbox.ms (menu > MAXScript > Run Script)
  3. Nastavte parametry exportu.
    export by selection nebo by name
    program 3dsmax nebo gmax
    hodnota měřítka scale
  4. V okně spuštěného skriptu nyní klikněte na export
    Při exportování v 3dsmax se uloží soubor s popisem crashboxů. Pokud nezvolíte jinak, vznikne vám soubor crash_export.dat.
    Při exportování v gmax se výsledek neuloží, ale zobrazí (gmaxův MAXScript neumožňuje ukládání souborů). Zobrazený text celý přes schránku zkopírujte do souboru, nazvěte jej napříkald crash_export.dat
    Může se stát, že se místo oddělovačů řádků v okně zobrazí jen tlusté svislé čáry nebo obdélníky. Pro další kroky by to nemělo mít špatný vliv.



    Fsbox.ms všechny vybrané (nebo vhodně pojmenované) objekty pro sebe rozdělí na jednotlivé elementy (subobjekty) - pracovně si tedy vámi vytvořenou Editable Mesh zpět rozdělí na jednotlivé boxy. Z kvádrové obálky každého takového elementu pak vznikne jeden crashbox. Dva elementy editable mesh nesmí sdílet žádný společný vrchol a plochu, jinak budou vyhodnoceny jako jeden crashbox.

    Crashboxy mají stěny rovnoběžné se souřadnicovým systémem scény, takže rotace boxu se projeví jen změnou velikosti jeho obálky a tím i změnou velikost crashboxu, nikoliv jeho natočením.



  5. Nyní je potřeba sloučit nové crashboxy s původním ASM souborem. Provedete to příkazem
    fsbox.exe scenery.asm /patch crash_export.dat soubor scenery.asm je doplněn o crashboxy, definované v souboru crash_export.dat



  6. Zkompilujte upravený soubor scenery.asm známým způsobem do formátu BGL (pomocí programů BGLC a BGLCOMP) a otestujte ve FS

Převod DAT souborů ze staré na novou verzi:

  1. Staré datové soubory poznáte podle dat, která obsahují
  2. 15.9243,8.57656,26.3459,27.1573,-8.57656,-30.6221 2.63285,2.26066,2.59684,-9.15751,0.0,-5.66402 16.6287,18.2878,19.3323,-47.317,0.0,16.0739
    BGL_CRASH_OCTTREE crash_end_1 dw CRASH_FLAG_BUILDING_PLANE dw 1 real4 -77.6461,0.0,11.8585 real4 23.3186,5.17386,6.64294 dw 1, 1, 1, 1, 1, 1, 1, 1 OCTTREE_NODE 255, 255, 255, 255, 255, 255, 255, 255 crash_end_1 label word
  3. Konverzi do nového formátu provedete následovně:
    fsbox.exe /convert crashdata.dat
  4. Pokud v souboru crashdata.dat byla data, vygenerovaná některou starší verzí, nyní bude vnitřní struktura vypadat nějak takto:
    ; exported from 3dsmax/gmax ; compatible with fsbox version 1.3 32.709499,3.004010,30.690399,-26.942801,0.000000,14.750400 32.574902,1.582980,22.836100,-26.954901,3.011230,18.796801 4.845850,4.215890,12.270100,-13.152900,7.720600,1.213870 0.807644,2.980200,1.043210,-12.136400,11.242300,4.872620 2.860400,2.271490,2.086410,-38.903599,0.000000,4.103980

Známé problémy:

  1. Export v gmax zobrazí chybu "Maximum string length exceeded".
    Důvodem je velký počet exportovaných crashboxů, jejich popis se nemůže zobrazit v okně k tomu určením. Přes to by mělo být možné jejich popis přes schránku zkopírovat z okna Listeneru (v gmax se spouští klávesou F11)

Další vývoj:

Odladění verze 1.3. Podmínečné zobrazení objektů.

Copyright:

Program je možno volně šířit a používat. Komerční šíření možné pouze s písemným souhlasem autora.
Pokud FSBox použijete ve své scenérii, prosím dejte vědět přes email (abych měl alespoň nějakou zpětnou vazbu).





Přístupů od 24. 4. 2002