Wstęp
Rozdzielczość
Rozdzielczość to jeden z parametrów wyświetlania, określający liczbę pikseli obrazu wyświetlanego na ekranie, wyraża się w postaci liczby pikseli w poziomie i w pionie, zazwyczaj przedstawiony jest jako XxY, np.: 320x240, 640x480, 800x600, 1280x720, 1920x1080, itd.
Format obrazu
Format obrazu to wymiar wyrażony ilorazem jego długości do wysokości (nie tylko dla liczby pikseli) w poziomie i w pionie, zazwyczaj przedstawiony jest jako X:Y. Popularnymi standardami są: tradycyjny 4:3 (1,33:1 dla rozdzielczości: 320x240, 640x480, itd.) i jego następca 16:9 (1,78:1 dla rozdzielczości: 1280x720, 1920x1080, itd.) Format obrazu zależy głównie od urządzenia na którym wyświetlany jest obraz, np.: monitor, TV, itd.
Rozdzielczości w Mugenie
Rozdzielczość postaci, areny, ogólnie wszystkich spritów i dodatków do Mugena to jedno, a rozdzielczość Mugena to drugie.
Rozdzielczość Mugena to końcowa rozdzielczość grafiki wyświetlana na ekranie, również rozmiar okna przy wyświetlaniu w oknie, np.: 640x480, 800x600, itd.
Rozdzielczość wszystkich spritów i dodatków to ich wymiary, które są finalnie skalowane do odpowiedniej rozdzielczości Mugena, np.: postać mogła zostać wykonana dla rozdzielczości 320x240 i zostaje przeskalowana do rozdzielczości Mugena, np.: 640x480 wyświetlanego w oknie.
Low-Res
Niska rozdzielczość, inaczej opisywana jako Low-Res lub LR. Mugen standardowo używa grafiki w standardzie 4:3 o rozdzielczości 320x240 pikseli, to była jedyna rozdzielczość obowiązująca w Dos Mugenie i Win Mugenie.
Hi-Res
Wysoka rozdzielczość, inaczej opisywana jako Hi-Res lub HR. Dla standardu 4:3 była to rozdzielczość 640x480.
Okazało się, że od pewnego czasu w kodzie Dos i Win Mugena istniało szczątkowe wsparcie dla rozdzielczości Hi-Res.
[Video Win] ;Wybór filtrów poprawiających grafikę. Zalecane dla szybszych komputerów. ; 0 - wyłączone filtry ; 1 - wygładzone i wyostrzone krawędzie ; 2 - rozmycie tekstur ; 3 - linie znane z automatów ; 4 - hi-res - podbija rozdzielczość DoubleRes = 4
Sam filtr DoubleRes w Win Mugenie polegał na podniesieniu rozdzielczości Mugena z 320x240 do 640x480, jednak powodował on głównie przeskalowanie grafiki, rozciągając ją i dodając przy okazji jakiś efekt. W wypadku DoubleRes = 4, w dużym skrócie, wsparcie to opierało się głównie na tym że: bufor grafiki wyświetlającej obraz miał wymiar 640x480, ale część rzeczy jak np.: czcionki nie były skalowane i nagle były mniejsze. Żeby wykorzystać owe podniesienie rozdzielczości, bez dodatkowych efektów, postanowiono przygotowywać grafikę pod rozdzielczość 640x480 i w kodzie sztucznie skalować ją na 50% mniejszą, czyli pasującą pod 320x240. Jakość była zauważalna ponieważ zmniejszona grafika w kodzie była i tak powiększona dwukrotnie, więc: grafika 640x480 *50% *200% dawała nadal 640x480.
Po pewnym czasie istnienia Win Mugena, jeszcze przed Mugenem 1.0, pojawiły się specjalne hacki silnika, które obsługiwały Hi-Res w większym stopniu. Finalnie na ich bazie powstał Win Mugen Plus.
HD i Full HD
HD i Full HD to wysokie rozdzielczości których standardowo w Dos i Win Mugenie nie można było używać. Pojawiły się dopiero od czasu powstania Mugena 1.0 i wprowadzenia parametru LocalCoord.
LocalCoord
Wraz z odnowionym silnikiem Mugen 1.0 z 2009 roku, pojawiło się nowe wsparcie dla różnych rozdzielczości. Skończył się konkretny podział na Low-Res i Hi-Res, ponieważ teraz każdy element może mieć własną rozdzielczość. Mugen zgodnie z wpisem LocalCoord który informuje o rozdzielczości, przeskaluje rozdzielczość obiektu odpowiednio do rozdzielczości Mugena.
LocalCoord = 320,240 – niska rozdzielczość 4:3
LocalCoord = 640,480 – wysoka rozdzielczość 4:3
LocalCoord = 1280,720 – wysoka rozdzielczość (HD) 16:9
LocalCoord = 1920,1080 – wysoka rozdzielczość (Full HD) 16:9
LocalCoord opiera się na standardzie 4:3, więc mimo tego, że można spotkać zapis w standardzie 16:9 to i tak LocalCoord traktuje wymiar jako 4:3 i dopasowuje wysokość do szerokości. Czyli: LocalCoord = 1280,720 jest traktowany jako LocalCoord = 1280,960, wartość 1280x720 jest prawidłowa bo przy formacie 16:9 góra i dół obrazu zostają przycięte. Dzięki LocalCoord można też stworzyć własną rozdzielczość która zostanie dopasowana do ekranu np.: LocalCoord = 400,300; LocalCoord = 800,600. Jeżeli LocalCoord nie zostanie użyty to Mugen przyjmie standardowe wartości, standard to: LocalCoord = 320,240.
Występowanie w postaciach, arenach i motywach:
; Player information [Info] name = "Kung Fu Man 720" ;Name of character displayname = "Kung Fu Man" ;Name of character to display versiondate = 09,30,2009 ;Version of character (MM-DD-YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N character works on (X.XX) author = "Elecbyte" ;Character author name pal.defaults = 1,2,3,4 ;Default palettes in order of preference (up to 4) ;Numbering starts from 1 localcoord = 1280,720 ;Local coordinate space width and height
;-------------------------------------------------------- [Info] ;Name of the stage. name = "Training Room 720" displayname = "Training Room" ;Name to display versiondate = 09,30,2009 ;Version date of stage (MM,DD,YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N stage works on (X.XX) author = "Elecbyte" ;Stage author name ;-------------------------------------------------------- [StageInfo] ;"Ground" level where players stand at, measured in pixels from the ;top of the screen. ;Adjust this value to move the ground level up/down in the screen. ;*** zoffset = 660 ;Leave this at 1. It makes the players face each other autoturn = 1 ;Set the following to 1 to have the background reset itself between ;rounds. resetBG = 1 ;Width and height of the local coordinate space of the stage. localcoord = 1280, 720 ;Horizontal and vertical scaling factor for drawing. xscale = 1 yscale = 1 ;--------------------------------------------------------
; Definitions of system screens ; Motif: MUGEN1 ; Optimal resolution: 1280x720 ; Supported languages: en, ja ;---------------------------- [Info] name = "MUGEN1" ;Name of motif author = "Elecbyte" ;Motif author name versiondate = 01,01,2011 ;Version date of motif (MM-DD-YYYY) (new in MUGEN 1.0) mugenversion = 1.0 ;Version of M.U.G.E.N motif is compatible with (new in MUGEN 1.0) localcoord = 1280,720 ;Local coordinate space width and height (new in MUGEN 1.0) ;----------------------------
Ale jak to LocalCoord działa ?
Jeżeli chcesz narysować jakiegoś ludzika na kartce papieru, z jakimś tłem i obiektami, bierzesz kartkę papieru o danym rozmiarze, która jest czymś w rodzaju ekranu o danej rozdzielczości. Rysując tło na tej kartce i ludzika, starasz się zmieścić całego ludzika, i odpowiednio dobrać skalę do innych obiektów z tła.
LocalCoord to rozmiar kartki papieru na której narysowana jest postać, czyli rozdzielczość tej postaci. Ustalając wszystkie parametry, odległości, wysokości, itd., należy je dobrać ze względu na tę rozdzielczość. Końcowe wymiary okna gry (rozdzielczość gry) nie mają żadnego znaczenia, bo wszystkie wymiary zostaną po przez LocalCoord przeskalowane w dół lub w górę do końcowej rozdzielczości.
Przykładowe parametry dla postaci KFM:
; Player information [Info] name = "Kung Fu Man" ;Name of character displayname = "Kung Fu Man" ;Name of character to display versiondate = 09,30,2009 ;Version date of character (MM-DD-YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N character works on (X.XX) author = "Elecbyte" ;Character author name pal.defaults = 1,2,3,4 ;Default palettes in order of preference (up to 4) ;Numbering starts from 1 localcoord = 320,240 ;Local coordinate space width and height
[Size] xscale = 1 ;Horizontal scaling factor. yscale = 1 ;Vertical scaling factor. ground.back = 15 ;Player width (back, ground) ground.front = 16 ;Player width (front, ground) air.back = 12 ;Player width (back, air) air.front = 12 ;Player width (front, air) height = 60 ;Height of player (for opponent to jump over) attack.dist = 160 ;Default attack distance proj.attack.dist = 90 ;Default attack distance for projectiles proj.doscale = 0 ;Set to 1 to scale projectiles too head.pos = -5, -90 ;Approximate position of head mid.pos = -5, -60 ;Approximate position of midsection shadowoffset = 0 ;Number of pixels to vertically offset the shadow draw.offset = 0,0 ;Player drawing offset in pixels (x, y). Recommended 0,0
Przykładowe parametry dla postaci KFM 720:
; Player information [Info] name = "Kung Fu Man 720" ;Name of character displayname = "Kung Fu Man" ;Name of character to display versiondate = 09,30,2009 ;Version of character (MM-DD-YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N character works on (X.XX) author = "Elecbyte" ;Character author name pal.defaults = 1,2,3,4 ;Default palettes in order of preference (up to 4) ;Numbering starts from 1 LocalCoord = 1280,720 ;Local coordinate space width and height
[Size] xscale = 1 ;Horizontal scaling factor. yscale = 1 ;Vertical scaling factor. ground.back = 60 ;Player width (back, ground) ground.front = 64 ;Player width (front, ground) air.back = 48 ;Player width (back, air) air.front = 48 ;Player width (front, air) height = 240 ;Height of player (for opponent to jump over) attack.dist = 640 ;Default attack distance proj.attack.dist = 360 ;Default attack distance for projectiles proj.doscale = 0 ;Set to 1 to scale projectiles too head.pos = -20, -360 ;Approximate position of head mid.pos = -20, -240 ;Approximate position of midsection shadowoffset = 0 ;Number of pixels to vertically offset the shadow draw.offset = 0,0 ;Player drawing offset in pixels (x, y). Recommended 0,0