deepsite / textures.md
Mara6's picture
Upload 5 files
db0177d verified
|
raw
history blame
25 kB
# **Stylová dokumentace a šablony Star Dust Voyager**
## **Terminály a CRT obrazovky**
* **Styl rozhraní**: CRT-heavy retro-futuristický design s analogovým vzhledem (opalovaný plast, kov).
* **Rozlišení**: Pevné násobky pixelů (např. 320times200, 640times480).
* **Pixelart rastr**: Viditelné pixely, ostré hrany bez antialiasingu.
* **Barvy**: Omezená paleta (monochromatická nebo několik základních barev \- např. zelená, jantarová, červená). Používají se barevné režimy zelený fosfor, jantarový žlutý, sytě červený.
* **Scanlines**: Vrstva jemných horizontálních pruhů mezi řádky pixelů. Intenzita 50-70% (simulace rasteru CRT).
* **Záře (Glow)**: Slabá záření u jasných prvků (text, LED). Implementována jako rozostřený poloprůhledný obrys (kuželoidní bloom).
* **Kovový rámeček**: Terminály mají robustní rám z INDUSTRIAL\_METAL s opotřebovaným lakem. Tlumené odstíny, s drobnými oděrkami a korozí v rozích.
* **Obsah obrazovky**: Terminály zobrazují blokový text, jednoduchou vektorovou grafiku nebo statické obrázky (schémata). Animace omezena na 15-20 FPS pro retro dojem.
* **Zvuk a animace**: Interakce způsobuje krátké zablikání obrazem (flicker) a pulzování kontrolek. Simulovat analogové chvění jasu.
* **Ghosting**: Při rychlém přepínání ponechat slabý „závoj" předchozího obrazu (simulace luminiscence).
* **Tearing efekt**: Náhodné horizontální posuny pixelů (drobný obrys, rušení) při přetížení.
* **Šum**: Přes obrazovku přidat jemný pixelový šum (grain) s nízkou neprůhledností.
* **Zakřivení**: Lehká barelová deformace (barrel distortion) simulující zakřivený tvar obrazovky CRT.
**Příklad**
TerminalPanel { \[cite: 21\]
resolution: (320, 200\) \[cite: 22\]
palette: "green\_phosphor" \[cite: 23\]
scanlineIntensity: 0.6 \[cite: 24\]
glowRadius: 1.0 \[cite: 25\]
frameMaterial: "INDUSTRIAL\_METAL" \[cite: 26\]
cornerRadius: 4 \[cite: 27\]
content: \[ \[cite: 28\]
TextBox(font="RetroConsole8", color="green\_phosphor", text="SYSTEM READY"), \[cite: 29, 30\]
IndicatorLight(color="amber", state="on") \[cite: 31\]
\]
}
## **Přepínače a ovládací prvky**
* **Vzhled**: Mechanické spínače a tlačítka s výraznými 3D detaily \- kovové knoflíky, opotřebovaný plast, nýtové spoje.
* **Stavy**: Každý prvek má stavy Normal, Hover, Active (pressed), Disabled, Alert. Pro každý stav definovat změnu jasu, barvy nebo stínu.
* **Hover**: Při najetí kurzorem zvýšit mírně jas a přidat jemný glow (zdůraznění aktivního prvku).
* **Active**: Při stisku se objekt posune o pár pixelů, jeho barva ztmavne, zvýrazní se vnitřní stín (efekt zatlačení).
* **Disabled/Alert**: Neaktivní stav šedý nebo ztlumený. Alarmový stav má blikavé červené světlo, případně invertované barvy.
* **Zvuk**: Mechanické cvaknutí při potvrzení, žádné digitální pípy. Použít originální kovové kliky.
* **Sprite Textury**: Používat spritesheety s vícestavovými obrázky (např. off/on), aby bylo snadné přepínat stav.
* **Mřížka**: Komponenty umisťovat do pixel-perfect mřížky (např. krok 16px).
* **Feedback**: Na kliknutí krátké bliknutí nebo puls animace (ripple) kolem tlačítka.
**Příklad**
ToggleSwitch { \[cite: 46\]
size: (48, 16\) \[cite: 47\]
offStateTexture: "switch\_off.png" \[cite: 48\]
onStateTexture: "switch\_on.png" \[cite: 49\]
onHover: enableGlow(intensity=0.2) \[cite: 50\]
onClick: playSound("click\_metal.wav") \[cite: 51\]
}
## **HUD a mapy**
* **HUD panely**: Průhledné nebo kovové rámečky, integrované analogové ukazatele a LED pruhy. Indikátory jako segmentové displeje a ručičky.
* **Fonty**: Monospace pixelové fonty (8times8 nebo 8times16). Barva kontrastní (typicky neonově zelená, žlutá nebo červená na tmavém pozadí).
* **Minimap / Galaktická mapa**: Pozadí tmavé (black), hvězdné pole animované s mírným pohybem (parallax). Body zájmu (planety, hvězdy) neonově zvýrazněné.
* **Ikonografie**: Jednoduché ikonky (8times8 nebo 16times16) pro objekty, barevné podle typu. Malé animace (blikání, pulsování) pro pozornost.
* **Grid pro HUD**: Používat hrubou mřížku 32px pro hlavní elementy a jemnou 8px pro umisťování textů/ikon.
* **Interaktivní prvky**: Kliknutí/hover na ikonky zobrazí tooltipy s efektem zeleného obrysu. Hranice kolmo na mřížku.
* **Navigace**: Horní nebo dolní ovládací prvky pro zoom a posun (LED tlačítka, kolečka).
* **Indikátory**: Digitální čítače (pixel-art) a analogové metry pro stavy. Např. tahomer, radarové lokátory.
**Příklad**
HUD\_GalaxyMap { \[cite: 64\]
size: (800, 600\) \[cite: 65\]
background: Texture("starfield\_static.png") \[cite: 66\]
waypoints: \[ \[cite: 68\]
{id: "Sol", pos: (150,120), icon:"icon\_star.png", tooltip: "Sol System"}, \[cite: 69, 70\]
{id: "Alpha", pos: (500,400), icon: "icon\_planet.png", tooltip: "Alpha Centauri"} \[cite: 71, 72\]
\]
font: "PixelFont8x8" \[cite: 73\]
colorMode: "neon\_green\_on\_black" \[cite: 74\]
}
## **Hierarchie vrstev a grid systém**
* **Vrstvy UI**: Rozdělit prvky do úrovní (background, UI, overlay, efekty). Vrstvy určeny podle z-indexu (pozadí \= 0, UI \= 1-2, efekty \= 4-5, varování \= 6).
* **Grid systém**: Hlavní mřížka 32px (moduly, panely), sekundární 8px (text, ikony). Vše pixel-perfect \- přesné násobky pixelů.
* **Rozlišení**: Navržené pro pevný poměr stran (např. 4:3 nebo 16:9). Při škálování vždy dělat celočíselnou změnu (beze ztráty ostrých hran).
* **Zarovnání textu**: Všechny texty na 8px baselinu. Řádky textu přesně 8px od sebe.
* **Focus a modální stavy**: Aktivní okno/komponenta je zvýrazněna. Ostatní prvky lze „zasvětlit" (snížit opacity) pro dohled.
* **Responsivita**: Přizpůsobení na nižší rozlišení: skrýt méně důležité panely, zmenšit písmo, zachovat velikost v krocích po pixelech.
**Příklad**
UILayout { \[cite: 86\]
gridMajor: 32 \[cite: 87\]
gridMinor: 8 \[cite: 88\]
layers: \[ \[cite: 89\]
{name: "background", zIndex: 0}, \[cite: 90\]
{name: "ui", zIndex: 1}, \[cite: 91\]
{name: "overlay", zIndex: 4}, \[cite: 92\]
{name: "alerts", zIndex: 6} \[cite: 93\]
\]
anchors: \["top-left", "center", "bottom-right"\] \[cite: 95\]
align: "pixel-perfect" \[cite: 96\]
}
## **Barevné režimy a fonty**
* **Paleta**: Omezené palety připomínající CRT. Obvykle 1-4 barvy na element. Typické barvy: neonově zelená, smaragdově modrá, oranžový jantar.
* **Kontrast**: Vysoký kontrast text/pozadí (text\~80-90% jasu, pozadí \~10-20%). Umožňuje čitelnost i při nízkém rozlišení/skenování.
* **Fonty**: Ručně malované pixelové fonty s artefakty (drobná nepravidelnost v liních). Žádné vyhlazování. Např. PixelFont8x8, RetroConsole.
* **Fallback znaky**: Pro neznámé znaky použít vyplněný blok (blacksquare) nebo prázdný modul. Zajistit čitelné symboly.
* **Inverze**: Pro varování/informace přepínat na inverzní zobrazení (bílé texty na černém pozadí nebo červené na černé).
* **Materiál textu**: Indikátory (LED, indikátory) využívají vlastní úroveň jasu a barvy (červená, oranžová, neon zelená) oddělené od main palety.
**Příklad**
StyleSheet { \[cite: 108\]
colorScheme: { \[cite: 109\]
primary: "\#00FF00", // neon green \[cite: 111\]
secondary: "\#002244", // deep blue \[cite: 112\]
alert: "\#FF4444" \[cite: 113\]
}
font: { \[cite: 114\]
name: "PixelFont8x8", \[cite: 117\]
size: 8, \[cite: 118\]
spacing: 2 \[cite: 119\]
}
terminalEffect: "scanline\_overlay" \[cite: 120\]
}
## **Terminálové efekty (Scanlines, Glow, Glitch)**
* **Scanlines**: Přidat horizontální 1px pruhy mezi řádky. Intenzita \~0.5 (50% opacity).
* **Bloom/Glow**: Jasné objekty (text, LED) rozmazat do okolí (malý radius). Např. jasný pixel nabobtná na \-2px rozostřenou záři.
* **Deformace CRT**: Mírná barelová deformace obrazu (zakřivení rohů) simulující realitu.
* **Glitch**: Občasné náhodné posuny (offset) některých řádků o pár pixelů. Barevné poruchy (RGB oddělení) pro dramatický efekt.
* **Šum**: Krátkodobý statický šum \- celý obraz lehce „zavibruje" bíločerným šumem.
* **Pořadí aplikace**: Shader efekty aplikovat v pořadí: základní obraz → scanlines → bloom → glitch.
**Příklad**
Effect ApplyCRTFilters { \[cite: 129\]
enableScanlines(opacity=0.6) \[cite: 130\]
enableBloom(threshold=0.7, radius=1.0) \[cite: 131\]
if (state \== ERROR) { \[cite: 132\]
applyGlitch(offsetX=3, duration=0.2) \[cite: 133\]
applyColorDrift(rShift=+5, gShift=-5) \[cite: 134\]
}
}
## **Interaktivní stavy a responsivita**
* **Stavy UI**: Definovat stavy Normal, Hover, Active, Disabled, Alert. Pro každý stav specifikovat vizuální změny (jas, barva, posun).
* **Animace**: Přechody \-0.1s (ease-in-out). Např. lehké vyjasnění při hover.
* **Zpětná vazba**: Akce (click, select) generuje krátký pulz (zvýšení jasu/změna barvy) nebo zvukový efekt.
* **Klávesové zkratky**: Podtrhnout odpovídající písmeno (např. Enter) a detekovat Alt+\[Key\].
* **Responzivní layout**: Při změně rozlišení měnit velikost prvků po celých pixelech. Na menších rozlišeních skrýt pomocné prvky.
* **Zdůraznění**: Vybraný prvek orámovat neonovou barvou (např. zelenou). Zvýraznění může pulsovat.
**Příklad**
Button { \[cite: 146\]
normal: {bg: "\#333333", text: "\#00FF00"} \[cite: 147\]
hover: {bg:"\#444444", glow:0.2} \[cite: 148, 149\]
active: {offsetY: 2px, shadow: 0.5px, text:"\#99FF99"} \[cite: 150, 151\]
onHover: animate(duration=0.1s) \[cite: 152\]
onClick: playSound("button\_press.wav") \[cite: 153\]
}
## **Příklady layoutů**
### **Výzkumná konzole**
* **Rozvržení**: Levý panel \- textové logy, střední panel \- 3D holografická mapa, pravý panel \- datové statistiky. Vše zarovnáno do 32px mřížky.
* **Komponenty**: Terminálové obrazovky s textem, analogové ručičkové měřiče a LED indikátory. Barvy \- zelené a modré akcenty.
* **Interakce**: Levý panel scrolluje logy, na mapě lze přemisťovat kameru (otáčet), pravý panel filtruje data.
Layout ResearchConsole { \[cite: 161\]
panels: \[ \[cite: 163\]
{name: "log\_panel", size: (200x400), position: (0,0)}, \[cite: 165\]
{name:"3d\_display", size: (400x400), position: (200,0)}, \[cite: 166\]
{name:"stats\_panel", size: (200x400), position: (600,0)} \[cite: 167\]
\]
grid: 32 \[cite: 168\]
font: "PixelFont8x8" \[cite: 169\]
colorMode: "monochrome\_green" \[cite: 170\]
}
### **Mapa galaxie**
* **Rozvržení**: Celá obrazovka pokryta hvězdným polem. Ikony planet a hvězd jsou barevné a blikají.
* **Navigace**: Šipky nebo kolečko pro zoom vlevo/pravý. Ikony pro posun vlevo/vpravo/horní/dolní.
* **Grafika**: Spojnice mezi hvězdami neonově zelené, hvězdy pulsují. Pozadí statické se slabým pohybem (parallax).
Layout GalaxyMap { \[cite: 175\]
background: StarField(texture="stars\_noise.png", parallax=0.6) \[cite: 176\]
waypoints: \["Sol", "Alpha", "Vega"\] \[cite: 179\]
icons: {star: "star\_icon.png", planet: "planet\_icon.png"} \[cite: 180\]
zoomControls: {position:"bottom-right", size: 48} \[cite: 180\]
textFont: "PixelFont8x8" \[cite: 180\]
highlightColor: "neon\_green" \[cite: 181\]
}
### **Inventář**
* **Rozvržení**: Mřížka 5x4 slotů na předměty na tmavém kovovém pozadí, dolní panel s detailem položky.
* **Sloty**: Každý slot hranatý, rámeček kovový. Vybraný slot má zářivě zelený rámeček a lehce pulzuje.
* **Ikony**: Pixelové ikony položek se stínem. Konstantní velikost (např. 48x48 px).
* **Text**: Vedle vybraného slotu se zobrazí název a popis pixelfontem.
Layout Inventory { \[cite: 187\]
grid: {columns: 5, rows: 4, cellSize:64, gap:8} \[cite: 189\]
slotFrame: Texture("inv\_slot\_frame.png") \[cite: 189\]
selectedBorder: {color:"neon\_green", thickness:2} \[cite: 190\]
itemIconSize: (48, 48\) \[cite: 191\]
infoPanel: {size: (400x100), position: "bottom"} \[cite: 192\]
font: "PixelFont8x8" \[cite: 192\]
}
## **Šablony assetů**
* **Lodě**: Modulární design \- trup, křídla, kokpit, motory. Povrch z INDUSTIAL\_METAL s nátěrem, viditelné šrouby a panely. Barevné akcenty (červené/žluté).
* **Stanice**: Rozsáhlé kubické bloky, robustní vazby. Textury RUSTED\_STEEL pro exteriér, panely s WORN\_PLASTIC v interiéru.
* **Vnitřní moduly**: Chodby a kabíny. Stěny z INDUSTRIAL\_METAL s opotřebovaným nátěrem, ozdobné OSD panely z WORN\_PLASTIC.
* **Panely (control panels)**: Vnější rámečky z INDUSTRIAL\_METAL, tlačítka z WORN\_PLASTIC. Povrch 2D textury s dekály (štítky, šrouby).
* **Trupy**: Zakřivené kovové části z INDUSTRIAL\_METAL. Opotřebení hlavně na hranách a styčných místech.
* **Generátory**: Robustní válce a žebra. Použít RUSTED\_STEEL pro části vystavené žáru (skvrny spáleného kovu), kablíky z CABLING\_BUNDLE.
**Příklad**
AssetTemplate Ship\_X { \[cite: 203\]
modules: \["cockpit", "engine", "wing\_left", "wing\_right", "hull"\] \[cite: 204\]
style: "retro\_futuristic" \[cite: 205\]
defaultMaterials: \["INDUSTRIAL\_METAL", "RUSTED\_STEEL"\] \[cite: 206\]
textureLayers: \[ \[cite: 207\]
{material: "INDUSTRIAL\_METAL", normalMap: "metal\_norm.png"}, \[cite: 211\]
{material: "WORN\_PLASTIC", decal: "panel\_scratch.png"} \[cite: 212\]
\]
}
### **INDUSTRIAL\_METAL**
* **Barva**: Tmavě ocelová se studeným odstínem. Lehce zelenkavá nebo šedá patina.
* **Textura**: Jemné kovové zrno, škrábance. Přidat šmouhy oleje/maziva.
* **Specular**: Nízký, povrch matný (roughness \~0.7). Lesklejší prvky na okrajích škrábanců.
* **Opotřebení**: Okraje a hřeby světlejší. Použít masku pro odřeniny a odlupování laku.
* **Normálová mapa**: Zvýraznění promáčklin a škrábanců pro realistické odlesky.
* **Použití**: Trupy, nosníky, exteriér lodí a stanic.
**Příklad**
Material INDUSTRIAL\_METAL { \[cite: 220\]
baseColor: \#5A5D61 \[cite: 221\]
roughness: 0.7 \[cite: 222\]
normalTexture: "industrial\_metal\_norm.png" \[cite: 223\]
scratchTexture: "metal\_scratches.png" \[cite: 224\]
}
### **WORN\_PLASTIC**
* **Barva**: Tmavě šedá nebo olivová, matný plast. Povrch původně lakovaný.
* **Opotřebení**: Oděry a škrábance odhalující světlejší plast v hloubce. Místy odštípnutý lak.
* **Struktura**: Jemná granulace (simulace výlisku). Škrábance jako drobné čáry.
* **Lesk**: Velmi nízký (průmyslový mat, roughness \~0.9).
* **Použití**: Kryty ovládacích panelů, madla, interiérové obklady.
**Příklad**
Material WORN\_PLASTIC { \[cite: 233\]
baseColor: \#4B4B4B \[cite: 234\]
roughness: 0.9 \[cite: 235\]
normalTexture: "worn\_plastic\_norm.png" \[cite: 236\]
decalTexture: "plastic\_dents.png" \[cite: 237\]
}
### **RUSTED\_STEEL**
* **Barva**: Rezavě hnědá/oranžová. Na podkladu tmavý kov (tmavě hnědý).
* **Koroze**: Hluboké mapy rzi na exponovaných místech. Nerovnoměrné flíčky rezu.
* **Povrch**: Matný (rust není lesklý). Odlupuje se s mírou (podklad obnažen).
* **Detaily**: Vypálené či zašpiněné oblasti (okolo šroubů, hran).
* **Použití**: Exteriér stanic, potrubí, generátorů, části kde je vlhkost/chemická zátěž.
**Příklad**
Material RUSTED\_STEEL { \[cite: 247\]
baseColor: \#664433 \[cite: 248\]
rustIntensity: 0.8 \[cite: 249\]
rustMask: "rust\_blots.png" \[cite: 250\]
normalTexture: "rusted\_steel\_norm.png" \[cite: 251\]
}
### **CABLING\_BUNDLE**
* **Barva**: Mix kabelů \- základem černá/gumová izolace. Varovné žluté/červené proužky.
* **Textura**: Zřetelné spojovací prvky (dráty, konektory). Praporkovité izolace navinuté okolo.
* **Opletení**: U většiny kabelů spirálový pruhový vzor (světlejší linky).
* **Detaily**: Namáčení na spojích, pájené spoje. Mírně lesklé koncové konektory.
* **Použití**: Elektrické trasy, moduly s elektronikou, spotřebiče.
**Příklad**
Material CABLING\_BUNDLE { \[cite: 260\]
baseColor: \#222222 \[cite: 261\]
wireCount: 6 \[cite: 262\]
insulationPattern: "spiral\_stripes.png" \[cite: 263\]
connectorTexture: "metal\_connector.png" \[cite: 264\]
}
## **Vrstvení a efekty opotřebení**
* **Základní vrstvy**: Používat sekvenci base \> dirt \> scratch \> edgeHighlight. Nejprve nanést čistý základní materiál, potom vrstvy nečistot, škrábanců a nakonec krajové opotřebení.
* **Parametrická patina**: Použití Perlinova šumu či Voronoi pro generování koroze a škrábanců s náhodným seedem.
* **Ovládací parametry**: hustota škrábanců, velikost flíčků, směr degradace.
* **Hrany**: Kraje dílů zvýraznit světlejší barvou (simulace obrusu). Maskovat podle vzdálenosti od okraje.
* **Kombinování efektů**: Smíchat celoplošné (základní patinování) s drobnými (bodové škrábance, kapky).
* **Maskování**: Použít grunge masky k umístění efektů (okraje, rohy). Zachovat pixelart ostrost (masky high-contrast).
* **Automatizace**: Procedurálně generovat drobné detaily (čárky, tečky) skripty (např. náhodné 1px linky).
**Příklad**
LayeredTexture WallModule { \[cite: 276\]
baseLayer: Material("INDUSTRIAL\_METAL") \[cite: 277\]
addLayer(type="DIRT", opacity=0.3, seed=42) \[cite: 278\]
addLayer(type="SCRATCHES", density=0.5, angle=45) \[cite: 279\]
applyEdgeMask(intensity=0.8) \[cite: 281\]
}
## **Texturovací modely**
* **Panely (Control Panels)**: Velikost obvykle malé (32times32 až 128times128 px). Rozděleny do sekcí (knoflíky, obrazovka). Použít uniformní rám a textury šroubů a štítků.
* **Zařízení (Devices)**: Kulatá nebo válcová tělesa (motory, baterie). Povrch rozdělen na segmenty s různými materiály (kov, plast, zářivka).
* **Přepážky (Partitions)**: Rovné plochy stěn. Použít opakující se modulární vzor (geometrická mřížka, ventily).
* **Pozadí**: Technologické pozadí s jemnými detaily (potrubí, cívky, perforace). Nízká kontrast, aby nepřehlušilo primární objekty.
* **Normal mapy**: Vypočíst z vysoko-kontrastních základních vzorů (šrouby, prolisy).
* **UV layout**: Šablony pro standardní tvary (1times1 panel, 2times1 krychle apod.) pro konzistentní texturování.
**Příklad**
TextureModel ControlPanel { \[cite: 292\]
size: (64, 64\) \[cite: 293\]
segments: 4x2 \[cite: 294\]
baseTexture: "panel\_base.png" \[cite: 295\]
detailOverlays: \["screws.png", "buttons.png"\] \[cite: 296\]
normalMap: "panel\_norm.png" \[cite: 297\]
}
## **Příklady generování modulu**
* **Tvar modulu**: Definovat základní geometrii (např. krychle, válec). Nastavit UV-mapping odpovídající rozměrům.
* **Hlavní materiál**: Aplikovat primární materiál (např. INDUSTRIAL\_METAL) na všechny plochy.
* **Doplňkové vrstvy**: Nad hlavní materiál přidat vrstvy opotřebení: WORN\_PLASTIC pro oděrky, RUSTED\_STEEL pro korozi na okrajích, CABLING\_BUNDLE pro elektrická vedení.
* **Detaily**: Generovat dekorativní části \- větrací otvory, šrouby, světla \- samostatně a integrovat jako transparentní mapy nebo 3D prvky.
* **Kombinace textur**: Vrstvy spojit do výsledné textury (displacement map). Při velkém rozlišení zachovat pixelovou ostrost (více mipmap, žádné bilineární rozmazání).
**Příklad**
ModuleTexture EngineBay { \[cite: 307\]
shape: "Cylinder" \[cite: 308\]
baseMaterial: "INDUSTRIAL\_METAL" \[cite: 309\]
addLayer(material="RUSTED\_STEEL", amount=0.4, region="edges") \[cite: 310\]
addLayer(material="WORN\_PLASTIC", amount=0.2, region="center") \[cite: 311\]
addDetail(type="CABLING\_BUNDLE", position=(32,64)) \[cite: 311\]
finalize() \[cite: 311\]
}
## **Výbuchy a fléry**
* **Frame-by-frame**: Sekvence 8-12 snímků. Začíná jasným explozním středem (white-hot), postupně se rozrůstá oblak (oranžovo-žlutý) a končí šedivým kouřem.
* **Expanze**: Každý další snímek mírně zvětší průměr exploze. Simulace rozptylu částic (jiskry) v pozadí.
* **Barvy**: Počáteční snímek bílý/yellow, následují oranžové a tmavnoucí červené tóny, nakonec šedý/černý kouř.
* **Částice**: Kromě hlavního plamene emulovat drobné jiskry a úlomky (2D pixel particle system).
* **Loop**: Jednorázová animace (loop \= false). Po dokončení spustit event (např. audio „boom").
* **Světelný flash**: První snímek může být o jeden stupeň jasnější (přesvětlený).
**Příklad**
Animation EngineExplosion { \[cite: 324\]
frames: 10 \[cite: 325\]
frameRate: 12 \[cite: 326\]
sprites: \["exp0.png", "exp1.png", ... ,"exp9.png"\] \[cite: 327\]
loop: false \[cite: 328\]
onComplete: emit("ExplosionDone") \[cite: 329\]
}
## **Glitch efekty**
* **Horizontální posuvy**: Náhodně posunovat některé řádky obrazu o několik pixelů (offset glitch). Častá frekvence krátkodobě (např. 5-10Hz).
* **Chromatická aberace**: Mírný posuv RGB kanálů (červený a modrý rozestup) pro digitální šum.
* **Šumové linie**: Vertikální a horizontální lineární šum (blikající bíločerné pruhy).
* **Frekvence**: Epizodicky, ne konstantně \- glitch se objevuje v intervalech (např. 2-5 sekund trvající burst).
* **Selektivní aplikace**: Aplikovat na specifický prvek (monitor, HUD) nebo celou vrstvu obrazovky.
**Příklad**
Effect ScreenGlitch { \[cite: 338\]
horizontalJitter(intensity=2px, frequency=10Hz) \[cite: 339\]
verticalNoise(strength=0.3) \[cite: 340\]
onAlert: colorShift(r=+10, g=-5, b=+10) \[cite: 341\]
}
## **Parallax a ambientní efekty**
* **Parallax**: Více vrstev pozadí s různou rychlostí posuvu. Např. vzdálené hvězdy pomalu, blízké rychleji.
* **Ambientní světla**: Statické kontrolky a světelné panely, které občas bliknou (blinking) nebo plynule mění jas (pulsování).
* **Šum**: Jemný celoplošný šum (grain) přidán na vrstvu, simulující statický signál.
* **Částice**: Drobná animovaná částice prachu nebo kouře v popředí pro hloubku (nízká transparentnost).
* **Kamera**: Při akcích (výbuchu, letu) aplikovat lehký pohyb kamery (shake, slewing) pro dynamiku.
**Příklad**
ParallaxScene {
layers: \[
{asset:"stars\_far.png", speed:0.2},
{asset:"stars\_near.png", speed:0.5},
{asset:"space\_dust.png", speed:0.8}
\]
ambientLights: \[
{color:"red", pattern:"blink", interval:1.0},
{color:"green", pattern:"pulse", interval:0.5}
\]
noiseOverlay: {strength:0.05}
}
## **Simulace starého terminálu**
* **Textový výstup**: Postupné „psaní“ znaků s pauzami (typewriter effect). Každý znak doprovázen krátkým pípnutím.
* **Varovné stavy**: Při chybě střídavě blikat celé slovo nebo řádek (červeně) – invertovat barvy textu nebo použít efektní blikající pozadí.
* **FIFO buffer**: Na obrazovce se text vykresluje po řádcích z fronty. Každý nový řádek se posouvá nahoru.
* **Kursor**: Blikající podtržítko nebo blok ukazující aktivní pozici textu (blinking cursor \~2Hz).
* **Tónové efekty**: Nahrát charakteristický šum pro každé odeslané písmeno a varovné syčení.
**Příklad**
TerminalAnimation {
textLines: \["Accessing system...", "Loading data...", "WARNING: OVERLOAD"\]
charDelay: 0.05s
onWarning: flashText(color="red", duration=0.5)
cursor: blink(rate=2Hz)
}
## **Příklady efektů**
### **Výbuch motoru**
* Frame-by-frame animace motorového výbuchu: rychlý počáteční blesk, oblaka kouře do strany.
Animation EngineExplosion {
frames: 12 \[cite: 357\]
frameRate: 15 \[cite: 357\]
sprites: \["eng\_exp0.png","eng\_exp1.png",...,"eng\_exp11.png"\] \[cite: 357\]
loop: false \[cite: 357\]
onComplete: spawnDebris() \[cite: 357\]
}
### **Glitch monitoru**
* Post-procesní glitch efekt na obrazovce: náhodné rovnoběžné posuvy a barevný šum.
Effect MonitorGlitch {
horizontalShift(intensity=3px, frequency=8Hz)
noiseOverlay(strength=0.2)
colorDrift(r=+20, g=-10, b=+20)
}
### **Přechod obrazovky**
* Stylizovaný přechod mezi obrazovkami: z černé do neonové barvy s přídavným scanline efektem.
Transition ScreenFade {
fromColor: "black"
toColor: "green"
duration: 0.8
overlayScanlines: true
soundEffect: "static\_burst.wav"
}