Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
1. oldal
openBVE objektumkészítés Leírás az objektumkészítéshez használható parancsokról A leírás az openBVE-hez készíthető B3D kiterjesztésű objektumokhoz használható parancsok magyarázatát írja le. A dokumentum forrása a http://openbve.trainsimcentral.co.uk/develop/object_b3d.html weboldal. Egyes elemek működése ismeretlen, vagy még nem kipróbált, vagy a leírás még hiányzik. Ezek sárga színű kiemeléssel vannak jelezve. Ezért a leírás nem teljes körű, néhol hiányos. A leírás csak a parancsok működéséhez szükséges magyarázatokat írja le. Az objektumok elkészítéséhez részletesebb magyarázatok és példák az Ajánlott leírások fejezetben található dokumentumokban olvashatók. Utolsó frissítés 2009.06.19.
Tartalomjegyzék Általános tudnivalók, fogalmak ................................................................................................ 2 origó .................................................................................................................................................................................................................. 2 alapértelmezett érték................................................................................................................................................................................. 2 szelvényezés, szelvényszám .................................................................................................................................................................... 2 sínkoronaszint .............................................................................................................................................................................................. 2 vágánytengely ............................................................................................................................................................................................... 2 alfa csatorna................................................................................................................................................................................................... 2
Parancsfelépítés ............................................................................................................................. 2 Megjegyzés ..................................................................................................................................................................................................... 2 Parancsok........................................................................................................................................................................................................ 2
Parancsok ......................................................................................................................................... 3 [Meshbuilder]................................................................................................................................................................................................ 3 Vertex ............................................................................................................................................................................................................... 3 Face.................................................................................................................................................................................................................... 3 Face2 ................................................................................................................................................................................................................. 3 Cube................................................................................................................................................................................................................... 4 Cylinder ........................................................................................................................................................................................................... 5 [Texture] ......................................................................................................................................................................................................... 6 Translate, TranslateAll .............................................................................................................................................................................. 6 Scale, ScaleAll ................................................................................................................................................................................................ 6 Rotate, RotateAll .......................................................................................................................................................................................... 7 Shear, ShearAll .............................................................................................................................................................................................. 7 Color .................................................................................................................................................................................................................. 7 EmissiveColor ............................................................................................................................................................................................... 8 BlendMode ..................................................................................................................................................................................................... 8 Load ................................................................................................................................................................................................................... 9 Transparent ................................................................................................................................................................................................... 9 Coordinates .................................................................................................................................................................................................... 9
Összefoglaló .................................................................................................................................. 10 Ajánlott leírások.......................................................................................................................... 10 Példa ............................................................................................ Hiba! A könyvjelző nem létezik.
1
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
2. oldal
Általános tudnivalók, fogalmak origó A koordinátatengelyek metszéspontját origónak nevezzük. Az openBVE-ben az objektumokat gyakorlatilag egy koordináta-rendszer szerint kell elhelyezni. A BVE-ben az origó a 0. vágány vágánytengelyének (X tengely), a sín koronaszintjének (Y tengely), és az aktuális szelvényszámnak (Z tengely) a metszéspontja. Az objektumok elhelyezését ennek megfelelően kell meghatározni.
alapértelmezett érték Amennyiben egy általános parancsot nem adunk meg a route fájlban vagy egy parancsnak bármely paraméterét nem adjuk meg, akkor mindig az alapértelmezett értéket veszi figyelembe a program. Az alapértelmezett értékek az egyes parancsoknál fel vannak tüntetve.
szelvényezés, szelvényszám A vasúti pálya helyének meghatározása a kezdőponttól mért távolságokkal történik, ez a szelvényezés. Az openBVE-ben alapértelmezésben méterben kell megadni a szelvényszámokat.
sínkoronaszint A sín felső érintősíkjának abszolút magassága (íves pályán a belső sínszálon mérve).
vágánytengely A nyomtávolság felezőpontjainak vonala. (Ívben nyombővítés esetén a külső sínszáltól mért fél nyomtávolságra fekszik.)
alfa csatorna A képeknek általában két dimenziója van. Egy szélesség és egy magasság. Ebből nyilvánvaló, hogy akármilyen képet kívánunk megjeleníteni, az a gyakorlatban mindig egy négyszögletes keretben fog megjelenni. Viszont vannak olyan esetek, ahol kimondottan nincs szükség a képek fölösleges részeinek megmutatására, csak az alakzat szabálytalan körvonalaira. Ilyen esetekben a kép ugyanúgy négyszögletes keretben jelenik meg (mondjuk egy weblapon), de az alakzat körüli fölösleges háttér hiányzik, vagyis átlátszó. Így aztán a háttér alatt átlátszik a tartalom. Ha ilyen képekkel találkozunk, akkor tudnunk kell, hogy ezek a képek egy negyedik virtuális csatornával is rendelkeznek, amelyek azokat az információkat tárolják, hogy melyik képpontnak kell átlátszónak/áttetszőnek lennie. Ezek a virtuális csatornák a gyakorlatban láthatatlanok, de azért mégis ott vannak. Ezeket hívjuk Alfa csatornáknak. Forrás: http://bonfire.blog.hu/2008/04/21/alfa_csatorna
Parancsfelépítés Megjegyzés ;Megjegyzés Egy megjegyzés/leírás írható be, ha a sor elejére pontosvesszőt írunk. A pontosvesszővel kezdődő sorokat az openBVE nem értékeli ki, azaz figyelmen kívül hagyja. ;Ez egy megjegyzés.
Parancsok A parancs a parancsnévvel kezdődik, és a paraméterekkel folytatódik: Parancsnév paraméter1, paraméter2, paraméter3, …, paramétern
A parancsnevet és az első paraméteret szóközzel kell elválasztani. Az paramétereket egymástól vesszővel kell elválasztani. A paraméter üresen is hagyható, ekkor az alapértelmezett értéket veszi figyelembe a program. Megjegyzések is írhatóak a sorok végére, amelyeket pontosvesszővel kell kezdeni.
2
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
3. oldal
Parancsok [Meshbuilder] [Meshbuilder] A parancs egy új felülethez tartozó szakaszt nyit meg. Minden felület esetén ezzel kezdődik a szakasz. Egy fájlon belül bármennyi *Meshbuilder+ szakasz kezdhető. A következőkben leírt parancsok ahhoz a *Meshbuilder] szakaszhoz tartoznak, amely legutoljára lett megnyitva.
Vertex Vertex X, Y, Z X:
Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely egy X-koordináta pontot jelent, méterben. Negatív érték esetén balra, pozitív esetén jobbra. Az alapértelmezett érték 0. Y: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely egy Y-koordináta pontot jelent, méterben. Negatív érték esetén lefelé, pozitív esetén felfelé. Az alapértelmezett érték 0. Z: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely egy Z-koordináta pontot jelent, méterben. Negatív érték esetén hátrafelé, pozitív esetén előrefelé. Az alapértelmezett érték 0. A parancs egy pontot hoz létre, amellyel felületet (oldalt) lehet létrehozni a Face vagy Face2 parancsok alkalmazásakor. Bármennyi Vertex parancs létrehozható egy [Meshbuilder] szakaszon belül. Azonban a Vertex parancsok azonosítása fontos. Az első Vertex parancs a 0 indexszámot kapja, az ezt követőek pedig mindig eggyel nagyobb indexszámot kapnak, azaz 1, 2, 3, és így tovább. Ezeket az indexszámokat kell felhasználni a Face vagy a Face2 parancs használatakor.
Face Face v1, v2, v3, ..., vmax vi: Egy Vertex parancs indexszáma. 0 és n-1 közötti érték lehet, ahol n egyenlő a Vertex parancsok számával. A parancs egy felületet (oldalt) hoz létre a Vertex parancsok tetszőleges pontjainak sorrendjéből. Az indexszám azt a számot jelenti, amely a Vertex paranccsal lettek létrehozva, így a Face parancsoknak mindig a Vertex parancsok után kell lenniük. Az első Vertex parancs a 0 indexszámot jelenti, azt ezt követő Vertex parancsok az 1, 2, 3 indexszámokat kapják, és így tovább. A pontok (indexszámok) sorrendje fontos, mert ettől függ, hogy melyik oldal jelenik meg. Az órajárásával megegyező irányban kell összekötni a pontokat (pontok sorrendjét beírni), hogy az oldal szemből látszódjon. A felület ellenkező oldala (háta) láthatatlan lesz. A Face2 paranccsal olyan felület hozható létre, amelynek mindkét oldala egyaránt látszik.
Face2 Face2 v1, v2, v3, ..., vmax vi: Egy Vertex parancs indexszáma. 0 és n-1 közötti érték lehet, ahol n egyenlő a Vertex parancsok számával. A parancs egy felületet (oldalt) hoz létre a Vertex parancsok tetszőleges pontjainak sorrendjéből. Az indexszám azt a számot jelenti, amely a Vertex paranccsal lettek létrehozva, így a Face2 parancsoknak mindig a Vertex parancsok után kell lenniük. Az első Vertex parancs a 0 indexszámot jelenti, azt ezt követő Vertex parancsok az 1, 2, 3 indexszámokat kapják, és így tovább. A pontok (indexszámok) sorrendje fontos, mert ettől függ, hogy melyik oldal jelenik meg. Az órajárásával megegyező irányban kell összekötni a pontokat (pontok sorrendjét beírni), hogy az oldal szemből látszódjon. A felület másik oldala (háta) szintén látható, azonban a megvilágítása ugyanolyan lesz, mint a szemben lévő oldalon.
3
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
4. oldal
Cube Cube SzélességFele, MagasságFele, HosszúságFele SzélességFele:
Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a téglatest szélességének felét jelenti méterben. MagasságFele: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a téglatest magasságának felét jelenti méterben. HosszúságFele: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a téglatest hosszúságának felét jelenti méterben. A parancs egy téglatestet készít, a paraméterekben megadott adatoknak megfelelően, úgy hogy a téglatest középpontja az origó (0,0,0). A kiterjedése az X-tengelyen a –SzélességFele és a Szélességfele tartományban, az Ytengelyen a –MagasságFele és a MagasságFele tartományban, a Z-tengelyen a –HosszúságFele és a HosszúságFele tartományban van. A téglatestnek mindig 8 pontja és 6 oldala van. A Cube parancs egyenértékű a Vertex és Face parancsok bizonyos összességével. Cube X, Y, Z
Ebből az X, Y, Z paraméterek felhasználásával a következő Vertex és Face parancsok kerülnek meghatározásra, ahol v egyenlő a Vertex parancsok indexszámával: Vertex x, y, -z Vertex x, -y, -z Vertex -x, -y, -z Vertex -x, y, -z Vertex x, y, z Vertex x, -y, z Vertex -x, -y, z Vertex -x, y, z Face v+0, v+1, v+2, Face v+0, v+4, v+5, Face v+0, v+3, v+7, Face v+6, v+5, v+4, Face v+6, v+7, v+3, Face v+6, v+2, v+1,
v+3 v+1 v+4 v+7 v+2 v+5
A Cube paranccsal létrehozott elemeket a Coordinates parancsokkal lehet textúrázni a fenti Vertex parancsok figyelembe vételével. Bővebben útmutató a Primitívek textúrázása c. leírásban található.
4
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
5. oldal
Cylinder Cylinder n, FelsőSugár, AlsóSugár, Magasság A paranccsal hasábot lehet készíteni. n: Egy egész szám, amely a hasáb palástjának oldalainak számát jelenti. FelsőSugár: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a hasáb felső részének sugarát jelenti méterben. Negatív szám is lehet, ebben az esetben a hasábnak felső részén nem lesz textúra, átlátszó lesz. AlsóSugár: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a hasáb alsó részének sugarát jelenti méterben. Negatív szám is lehet, ebben az esetben a hasábnak felső részén nem lesz textúra, átlátszó lesz. Magasság: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a hasáb magasságát jelenti méterben. Negatív szám is lehet, ebben az esetben a hasábnak nem a külső részén, hanem a belső részén lesz textúra. Ha a FelsőSugár és az AlsóSugár értékek egyenlőek, akkor az objektum egy hasáb lesz, melyet fel lehet használni hengerként is. Ha a FelsőSugár és az AlsóSugár értékek közül bármelyik nulla (0), akkor az objektum egy gúla lesz. Ezt az objektumot kúpként is fel lehet használni. Az X- és Z-tengelyen az elem kiterjedése a hasáb alsó részén a –AlsóSugár és az AlsóSugár tartományban, a hasáb felső részén –FelsőSugár és a FelsőSugár tartományban van. Az Y-tengelyen az elem kiterjedése a –½*Magasság és a ½*Magasság tartományban van. A hasáb palástjának oldalainak száma (n értéke) általában 6 vagy 8, amennyiben kis sugár van alkalmazva. Tekintet nélkül az n, a FelsőSugár és az AlsóSugár értékeire, a hasáb mindig 2*n számú pontból áll, és általában n+2 oldala van, ha van felső, és alsó része is. Ha a FelsőSugár vagy az AlsóSugár értéke negatív, akkor az abszolútértékkel számol a program, azonban az adott rész (felső vagy alsó) nem jelenik meg. Ha a Magasság negatív, akkor a felső és alsó részek pontjai megcserélődnek, így az oldal (palást) belülről lesz látható, kívülről láthatalan lesz. A Cylinder parancs egyenértékű a Vertex és Face parancsok bizonyos összességével. Cylinder n, r1, r2, h
A Cylinder parancs először az n értékéhez megfelelő Vertex parancsokat hozza létre, amelynek két változata van (felső rész és alsó rész pontjai): Vertex Vertex Vertex Vertex Vertex Vertex ... Vertex Vertex
cos[2*pi*0/n]*r1, h/2, sin[2*pi*0/n]*r1 cos[2*pi*0/n]*r2, -h/2, sin[2*pi*0/n]*r2 cos[2*pi*1/n]*r1, h/2, sin[2*pi*1/n]*r1 cos[2*pi*1/n]*r2, -h/2, sin[2*pi*1/n]*r2 cos[2*pi*2/n]*r1, h/2, sin[2*pi*2/n]*r1 cos[2*pi*2/n]*r2, -h/2, sin[2*pi*2/n]*r2 cos[2*pi*(n-1)/n]*r1, h/2, sin[2*pi*(n-1)/n]*r1 cos[2*pi*(n-1)/n]*r2, -h/2, sin[2*pi*(n-1)/n]*r2
Ezt követően a következő n számű Face parancs kerül hozzáadásra, amely a hasáb palástját fogja megjeleníteni: Face Face Face Face ... Face Face Face Face
2, 4, 6, 8,
3, 5, 7, 9,
2*n-6, 2*n-4, 2*n-2, 0,
1, 3, 5, 7,
0 2 4 6
2*n-5, 2*n-3, 2*n-1, 1,
2*n-7, 2*n-5, 2*n-3, 2*n-1,
2*n-8 2*n-6 2*n-4 2*n-2
Ha r2>0, akkor egy felület kerül hozzáadásra, amely a hasáb alsó részét jeleníti meg: Face 2*n-2, 2*n-4, 2*n-6, ..., 4, 2, 0
Ha r1>0, akkor egy felület kerül hozzáadásra, amely a hasáb felső részét jeleníti meg: Face 1, 3, 5, ..., 2*n-5, 2*n-3, 2*n-1
A Cylinder paranccsal létrehozott elemeket a Coordinates parancsokkal lehet textúrázni a fenti Vertex parancsok figyelembe vételével. Bővebben útmutató a Primitívek textúrázása c. leírásban található.
5
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
6. oldal
[Texture] [Texture] Ez a parancs az openBVE-ben nem használatos.
Translate, TranslateAll Translate X, Y, Z TranslateAll X, Y, Z X:
Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az X-tengelyen történő elmozgatást jelenti méterben. Negatív érték esetén balra, pozitív esetén jobbra. Az alapértelmezett érték 0. Y: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az Y-tengelyen történő elmozgatást jelenti méterben. Negatív érték esetén lefelé, pozitív esetén felfelé. Az alapértelmezett érték 0. Z: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az Z-tengelyen történő elmozgatást jelenti méterben. Negatív érték esetén hátrafelé, pozitív esetén előrefelé. Az alapértelmezett érték 0. A Translate parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően elmozgatja a koordináta értékeit, amely a parancsot megelőzően az aktuális *Meshbuilder+ szakaszban található, beleértve a Vertex, Cube, Cylinder parancsokkal létrehozott elemeket is. A parancs után beírt koordinátákat nem mozgatja el. A TranslateAll parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően elmozgatja a parancsot megelőző összes [Meshbuilder] szakaszban található elemet. Amennyiben az objektum végén alkalmazzuk a TranslateAll parancsot, akkor az egész objektumot egyszerre el lehet mozgatni. Példa: X-tengelyen 0,2 méterrel balra, Y-tengelyen és Z-tengelyen nincs elmozgatás: Translate -0.2,0,0
Példa: X-tengelyen 0,2 méterrel balra, Y-tengelyen 1,75 méterrel felfelé Z-tengelyen 10,55 méterrel előrefelé elmozgatás: Translate -0.2,1.75,10.55
Scale, ScaleAll Scale X, Y, Z ScaleAll X, Y, Z X:
Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az X-tengelyen történő arányosítást jelenti. Az alapértelmezett érték 1. Y: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az Y-tengelyen történő arányosítást jelenti. Az alapértelmezett érték 1. Z: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az Z-tengelyen történő arányosítást jelenti. Az alapértelmezett érték 1. A Scale parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően arányosítja a koordináta értékeit, amely a parancsot megelőzően az aktuális [Meshbuilder] szakaszban található, beleértve a Vertex, Cube, Cylinder parancsokkal létrehozott elemeket is. A parancs után beírt koordinátákat nem arányosítja. A ScaleAll parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően arányosítja a parancsot megelőző összes *Meshbuilder+ szakaszban található elemet. Amennyiben az objektum végén alkalmazzuk a ScaleAll parancsot, akkor az egész objektumot egyszerre el lehet arányosítani. Példa: X-tengelyen 2-szeres arányosítás: Scale 2,1,1
Példa: X-tengelyen 1.5-szeres arányosítás, Y-tengelyen 0.6-szoros arányosítás: Scale 1.5,0.6,1
6
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
7. oldal
Rotate, RotateAll Rotate X, Y, Z, Fok RotateAll X, Y, Z, Fok X:
Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az X-tengely körüli elforgatás irányát jelenti. Negatív érték esetén balra, pozitív esetén jobbra. Az alapértelmezett érték 0. Y: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a Y-tengely körüli elforgatás irányát jelenti. Negatív érték esetén balra, pozitív esetén jobbra. Az alapértelmezett érték 0. Z: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely a Z-tengely körüli elforgatás irányát jelenti. Negatív érték esetén balra, pozitív esetén jobbra. Az alapértelmezett érték 0. Fok: Egy szám (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), amely az elforgatás szögét jelenti fokban. Negatív érték esetén az óra járásával ellentétesen, pozitív esetén óra járásával megegyezően. Az alapértelmezett érték 0. A Rotate parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően elforgatja azon koordináta értékeit a megfelelő irányba, amelyek a parancsot megelőzően az aktuális *Meshbuilder+ szakaszban találhatóak, beleértve a Vertex, Cube, Cylinder parancsokkal létrehozott elemeket is. A parancs után beírt koordinátákat nem forgatja el. Bármennyi Rotate parancs használható egy *Meshbuilder+ szakaszon belül. A RotateAll parancs az X, Y, Z paraméterekben megadott értékeknek megfelelően elforgatja a parancsot megelőző összes *Meshbuilder+ szakaszban található elemet. Amennyiben az objektum végén alkalmazzuk a RotateAll parancsot, akkor az egész objektumot egyszerre el lehet forgatni. Példa: X-tengely körül balra elforgatás, 90 fokkal: Rotate -1,0,0,90
Példa: Y-tengely körül jobbra elforgatás, 45 fokkal: Rotate 0,1,0,45
Shear, ShearAll Shear dX, dY, dZ, sX, sY, sZ, Ratio ShearAll dX, dY, dZ, sX, sY, sZ, Ratio Nincs leírás.
Color Color Vörös, Zöld, Kék, Alfa Vörös: Az átlátszósághoz használt szín vörös összetevő száma. 0 (fekete) és 255 (vörös) közötti érték lehet. Az alapértelmezett érték 255. Zöld: Az átlátszósághoz használt szín zöld összetevő száma. 0 (fekete) és 255 (zöld) közötti érték lehet. Az alapértelmezett érték 255. Kék: Az átlátszósághoz használt szín kék összetevő száma. 0 (fekete) és 255 (kék) közötti érték lehet. Az alapértelmezett érték 255. Alfa: Az alfa csatorna (átlátszósághoz használt szín) összetevő száma. 0 (átlátszó) és 255 (nem átlátszó) közötti érték lehet. Az alapértelmezett érték 255. A parancs egy színt határoz meg az aktuális *Meshbuilder+ szakaszhoz tartozó összes felülethez. Ha nincs felhasználva textúra, akkor a felületek a Vörös, Zöld, Kék értékeknek megfelelő színűek lesznek. Ha textúra használva van, akkor a textúra a megadott színnel együtt jelenik meg, ahol a fekete szín (0) feketeként jelenik meg, a fehér szín (255) azonban változatlanul hagyja az eredeti textúra színét. A két érték között a textúra egyre jobban sötétedik a 255-től kezdődően a 0-ig terjedő tartományban. Ha a pályában világítást használnak, akkor a világítás függvényében változhat a szín, de általában sötétebb lesz.
7
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
8. oldal
EmissiveColor EmissiveColor Vörös, Zöld, Kék Vörös: Az átlátszósághoz használt szín vörös összetevő száma. 0 (fekete) és 255 (vörös) közötti érték lehet. Az alapértelmezett érték 255. Zöld: Az átlátszósághoz használt szín zöld összetevő száma. 0 (fekete) és 255 (zöld) közötti érték lehet. Az alapértelmezett érték 255. Kék: Az átlátszósághoz használt szín kék összetevő száma. 0 (fekete) és 255 (kék) közötti érték lehet. Az alapértelmezett érték 255. A parancs egy sugárzó színt határoz meg az aktuális *Meshbuilder+ szakaszhoz tartozó összes felülethez. A Color és az EmissiveColor parancs közötti különbség, hogy a Color a parancsra hat a pályában a megvilágítás, az EmissiveColor parancsra azonban nem hat. Az EmissiveColor parancsot olyan felületekre célszerű használni, amelyek fényt bocsátanak ki, például fényjelzők, lámpák, stb. A felületek színének eredménye az alapszín és az EmissiveColor színének összessége lesz.
BlendMode BlendMode KeverésMód, IzzásFelénekTávolsága, IzzáscsillapításMódja Nincs leírás.
8
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
9. oldal
Load Load NappaliTextúra, ÉjszakaiTextúra NappaliTextúra: Az elemhez használt nappali verziójú textúra fájl neve, ahhoz a mappához viszonyított relatív útvonalon megadva, amelyben az objektumfájl jelen van. ÉjszakaiTextúra: Az elemhez használt éjszakai verziójú textúra fájl neve, ahhoz a mappához viszonyított relatív útvonalon megadva, amelyben az objektumfájl jelen van. A parancs betölt egy textúrát, és azokhoz a felületekhez használja fel, amelyek az aktuális *Meshbuilder+ szakaszban szerepelnek. PNG kiterjesztésű képeket is lehet használni, amely támogatja az alfa csatornát. Olyan képek használatakor, amelyek az alfa csatornát nem támogatják, a Transparent parancsot célszerű használni az átlátszónak szánt részek eltüntetéséhez. Ha ÉjszakaiTextúra is meg van adva, akkor ez a textúra az éjszakai megvilágításban jelenik meg, a NappaliTextúra a nappali megvilágításban jelenik meg. A textúrák keveredhetnek egymással, így azonosakat kell készíteni. Ha ÉjszakaiTextúra meg van adva, akkor kötelező a NappaliTextúra fájlt is megadni. Ha ÉjszakaiTextúra nincs megadva, akkor a NappaliTextúra sötétebb lesz az éjszakai megvilágításban.
Transparent Transparent Vörös, Zöld, Kék Vörös: Az átlátszósághoz használt szín vörös összetevő száma. 0 (fekete) és 255 (vörös) közötti érték lehet. Az alapértelmezett érték 0. Zöld: Az átlátszósághoz használt szín zöld összetevő száma. 0 (fekete) és 255 (zöld) közötti érték lehet. Az alapértelmezett érték 0. Kék: Az átlátszósághoz használt szín kék összetevő száma. 0 (fekete) és 255 (kék) közötti érték lehet. Az alapértelmezett érték 0. A parancs egy színt határoz meg, amely átlátszóként fog megjelenni az összes felületben. A Load paranccsal betöltött textúrában azok a pixelek lesznek átlátszóak, amelyek pontosan megegyeznek az ebben a parancsban megadott színnel.
Coordinates Coordinates VertexIndex, X, Y VertexIndex:
A Vertex parancs indexszáma. 0 és n-1 közötti érték lehet, ahol n egyenlő a Vertex parancsok számával. X: A textúra X-koordinátája. Az egész számok a textúra bal/jobb szélét jelentik. Törtszámok esetén (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), a 0-hoz közelebbi érték a textúra bal oldalához közelebbi értéket jelent, 1-hez közelebbi érték a textúra jobb oldalához közelebbi értéket jelent. Y: A textúra Y-koordinátája. Az egész számok a textúra felső/alsó szélét jelentik. Törtszámok esetén (tizedesjegyek is alkalmazhatók, amelyet ponttal kell elválasztani), a 0-hoz közelebbi érték a textúra felső oldalához közelebbi értéket jelent, 1-hez közelebbi érték a textúra alsó oldalához közelebbi értéket jelent. A parancs egy koordinátát társít a textúrához a VertexIndex paraméterben megadott Vertex-ponthoz. A VertexIndex mutatja, hogy mely Vertex parancshoz kapcsolódik az adott koordináta, így a Coordinates parancsoknak mindig a Vertex parancsok után kell lenniük. Az X és Y paramétereknek nem kell kötelezően 0 és 1 közé esniük, más értékeket is kaphatnak. Ekkor a megfelelő irányban a textúra többszöröződik az értékeknek megfelelően, az egész számok mindig a textúra szélét jelentik.
9
Leírás az openBVE-vel kompatibilis objektumkészítéshez használható parancsokról
10. oldal
Összefoglaló [Meshbuilder] Vertex X, Y, Z Face v1, v2, v3, ..., vn Face2 v1, v2, v3, ..., vn Cube SzélességFele, MagasságFele, HosszúságFele Cylinder n, FelsőSugár, AlsóSugár, Magasság Translate X, Y, Z TranslateAll X, Y, Z Scale X, Y, Z ScaleAll X, Y, Z Rotate X, Y, Z, Fok RotateAll X, Y, Z, Fok Shear dX, dY, dZ, sX, sY, sZ, Ratio ShearAll dX, dY, dZ, sX, sY, sZ, Ratio Color Vörös, Zöld, Kék, Átlátszóság EmissiveColor Vörös, Zöld, Kék BlendMode { Normal | Additive }, IzzásFelénekTávolsága, { DivideExponent2 | DivideExponent4 } Load NappaliTextúra, ÉjszakaiTextúra Transparent Vörös, Zöld, Kék Coordinates VertexIndex, X, Y
Ajánlott leírások A leírás bővebb megértéséhez javasolt a következő leírások tanulmányozása: Leírás Írta Link http://www.bveklub.hu/informaciok/bve-objektumkeszites.pdf BVE objektumkészítés Krisz http://www.bveklub.hu/informaciok/primitivek-texturazasa.pdf Primitívek textúrázása Alex http://www.bvemetro.hu/04leirasok/0410_openBVE_objektumpelda.htm Alappéldák Bvemetro
http://www.bveklub.hu/ http://www.bvemetro.hu/ © 2009
10