Engine

Herní engine, scene graph, komponenty, skriptování, fyzika, PBR pipeline, editory světa a nativní buildy pro desktop a mobil.

V jedné větě#

Plnohodnotný herní engine v prohlížeči: postavte scénu, dejte jí chování, stiskněte play, a exportujte ji na web nebo do nativního binárního souboru pro desktop a mobil.

Je to zdaleka největší studio v aukimi. Tato stránka ho mapuje stejně jako rozhraní: podle zásuvky, ve které každý panel žije, místo aby vypisovala funkce abecedně.

Rozvržení#

Engine, se scene graph, viewportem, inspektorem a konzolí

Menu barFile · Edit · View · Windows · Run · Plugins
Toolbarnázev projektu, zpět/znovu, přepínač režimu viewportu (3D · 2.5D · 2D · TXT), volič scény, čtyři tlačítka panelů, FX Master, HUD, políčko rozlišení, transport (play, pause, stop) a Build
Leftikonová lišta, scene graph, list, audio, console, a panel, který otevírá
Centreviewport, s vlastní lištou gizma (translate, rotate, scale, world/local, grid, snapping, framing) a voličem kvality
Rightinspektor pro vybranou entitu
BottomConsole a Profiler, vedle sebe
Status barmode, rozměr viewportu, počet entit, stav mřížky

Čtyři tlačítka panelů#

Toolbar Engine: jméno scény, undo, přepínač režimu viewportu, čtyři tlačítka panelů a transport

Nechovají se všechny stejně, a ten rozdíl stojí za to znát dřív, než se pustíte hledat něco konkrétního:

TlačítkoChování
Systemsotevře zásuvku
Toolsotevře stejnou zásuvku, Systems a Tools se navzájem zavírají
Assetspřepíná trvalý dok
Scriptsotevře modal

Systems a Tools sdílí jeden slot záměrně; jsou umístěné vedle sebe, aby bylo vidět, že to tak je.

Systems#

Vlastní subsystémy enginu: věci, které scéna , spíš než věci, se kterými tvoříte.

SkupinaPanely
Pluginsprohlížeč pluginů
RenderingRendering · Rendering Pipeline · Look Presets · Shader Lab · Render Style · Shadows · Mesh LOD · Post Process Volumes
GameplayMultiplayer room · Physics · AI & Navigation · Gameplay Zones
WorldScene Graph · Level Streaming · Baking · Light Probes · Decals

Rendering#

Přepínač FX Master na toolbaru zapne a vypne celou post pipeline jedním kliknutím: nejrychlejší způsob, jak zjistit, co vás to stojí. Jednotlivě: bloom, depth of field, SSR, SSAO, GTAO, SSGI, temporal AA, FXAA, motion blur, volumetric fog, contact shadows, color grading, film grain, chromatic aberration, vignette a tonemapping, plus geometrie ve stylu Nanite a Hi-Z occlusion.

Look Presets jsou celé konfigurace toho výše. Render Style mění rejstřík, stylizovaný místo fotografického. Shader Lab je místo, kde si píšete vlastní. Mesh LOD a Post Process Volumes jsou ty dva, které se vyplatí na velké scéně: level-of-detail na mesh, a post-processing, který se aplikuje jen uvnitř volume.

Renderer je Babylon.js. Startuje na WebGL a sám se přepne na WebGPU, když ho prohlížeč má, a padá zpátky sám od sebe, pokud to selže.

Gameplay systems#

Physics pokrývá jak 3D solver (Havok), tak i ten 2D. AI & Navigation je navmesh a agenti na něm. Gameplay Zones jsou trigger volumes s připojeným chováním. Multiplayer room propojí scénu se serverem Colyseus (viz níže).

World systems#

Level Streaming nahrává a odnahrává části levelu, jak se hráč pohybuje. Baking předpočítá osvětlení; Light Probes zachytí nepřímé světlo a odrazy v bodech prostoru. Decals promítnou detail na povrchy, aniž by přidaly geometrii.

Tools#

Věci, se kterými tvoříte.

SkupinaPanely
EditorsScripts · Blueprint Editor · UI Editor · Tilemap
WorldSky Studio · Terrain · Water · Tree Generator · Plant Generator · Rock Generator · Kitbash
GameplayInventory · Data tables · Dialogue Trees
AnimationTimeline · Cinematic Sequencer · Camera Tools
AudioAudio Manager
DebugProfiler

Generátory světa#

Terrain, water, sky a čtyři generátory obsahu, stromy, rostliny, kameny a kitbash díly. Mají vlastní kapitolu níže.

Tvorba gameplaye#

Inventory, Data tables (Tools → Data) a Dialogue Trees jsou tři editory, které dovolí, aby hra měla obsah, aniž by ten obsah žil v kódu podrobněji níže.

Animation#

Timeline pro animaci entit, Cinematic Sequencer pro záběry, a Camera Tools pro kadrování. Viz Animace a kamera.

Editory světa#

Sedm panelů pod Tools → World. Jsou to rychlý způsob, jak zaplnit scénu, a důvod, proč level nemusí začínat modelovací session.

Terrain#

Scéna může držet víc terénů; každý je řádek v seznamu Terrains a vytváří se v jednom ze tří rozlišení, 128² (rychlé), 256² (vyvážené) nebo 512² (detailní).

Panel má deset režimů, a všechny sdílí jednu věc: maska namalovaná v Masks omezuje každý z nich.

RežimCo dělá
Sculptsedmnáct štětců na height field
Paintaž osm texturových vrstev, napříč dvěma splatmapami
Generatešum, auto-texturování, a import reálné elevace
Sketchnakreslete hřebeny a údolí, terén se dosyntetizuje podle nich
Masksomezí každý jiný režim na část povrchu
Waterhladina moře, a volba mezi terénní vodou a FFT oceánem
PathsBézierova cesta zapečená do terénu
Vegetationrozmisťování štětcem nebo podle pravidel
SDFraymarchovaný terén, vyrenderovaný místo vymeshovaného
Biomespůda, rostliny, stromy a kameny v jednom průchodu

Sculpt. Raise 1, Lower 2, Smooth 3, Flatten 4, Pinch 5, Inflate 6, Noise 7, Sharpen 8, Stamp 9, Terrace 0, Erode E, Fill F, Clone C (klik s Alt nastaví zdroj), Blur B, Ramp R, plus dva vodní nástroje: River nakreslí koryto, Lake vyplní bod.

Samotný štětec má dynamiku: pressure curve, lazy mouse, falloff, symmetry, pattern, a jitter na size i strength. Stamp nese šest tvarů: crater, mountain peak, plateau, river valley, dome, noise hill. Eroze přichází ve dvou formách: štětec E je lokální, zatímco Adjustments pustí hydraulic, thermal a wind erozi přes celý terén.

Paint. Osm vrstev, protože dvě RGBA splatmapy drží každá čtyři kanály. Knihovna materiálů je řazená podle kategorie, grass, dirt, forest, rocks, roads and surfaces, cliffs, sand, snow, volcanic, wetland, fantasy, a vaše vlastní, a každá vrstva nese UV scale, displacement, detail mapu, a surface relief (bump strength a parallax depth). Break texture tiling (cell bombing) je nastavení, které zabrání tomu, aby se opakovaná textura terénu četla jako mřížka.

Generate staví ze šumu, pak Generate Textures přiřadí materiály podle výšky a sklonu, s variací stínu sever/jih a pískovými nebo oblázkovými pobřežími tam, kde je voda. Real World importuje veřejné dlaždice elevace NASA/USGS: vyberte landmark nebo napište souřadnice, zvolte zoom, a panel nahlásí rozsah elevace, který přinesl.

Sketch je druhá cesta dovnitř. Nakreslete tahy hřebenů a údolí na 2D mapě, vyberte až tři skutečné zdrojové krajiny, a terén se dosyntetizuje podle náčrtu, volitelně prolnutý s tím, co už tam je, auto-texturovaný a erodovaný v jednom průchodu.

Masks se malují štětcem a pak se editují jako celek: clear, invert, blur, grow, shrink. Smart masks odvodí masku ze samotného terénu, podle výšky, podle sklonu, podle vrstvy nebo podle cavity.

Paths. Klikněte pro umístění kontrolních bodů a hladká křivka jimi proběhne; táhněte za jantarové body, abyste je posunuli, za azurové úchyty, abyste ohnuli křivku. Bake Path zplošťí terén pod cestou, namaluje texturu a zvedne náspy.

Vegetation má dvě poloviny. Štětec umísťuje a odebírá instance ručně; scatter rules je umísťují podle podmínky, vah vrstev, seedu, min/max scale, a pásma výšky a sklonu, které každý asset přijímá. Tráva a květiny mizí za nastavitelnou draw distance, a Export to Scene promění instance na objekty scény.

Biomes je jednoklikací verze všeho výše: vyberte biome, zaškrtněte kategorie, které chcete (soil, trees, plants and grass, flowers, algae near water, rocks), nastavte density, a Apply Biome namaluje terén a rozmístí všechno, s hlášením, kolik instancí od každé věci umístil. Age variety stromů míchá sazenice až po prastaré, místo aby všude razítkoval stejný strom, a ground blend (RVT) sloučí základnu každého kamene s barvou terénu pod ním.

SDF je jiný renderer, ne jiný nástroj: terén je raymarchovaný z distance field, tvarovaný pomocí octaves, lacunarity a persistence, texturovaný přes grass/rock/snow s snow line a slope threshold, a s vlastními měkkými stíny, ambient occlusion a mlhou.

Velké terény mají LOD systém se skirt geometry (což je to, co zavírá mezery mezi úrovněmi), hladké přechody mezi úrovněmi, frustum culling a stats overlay. Heightmapy se importují a exportují jako 16-bit PNG, 8-bit PNG nebo RAW 16-bit; splatmapy jako jedno RGBA PNG nebo jeden soubor na vrstvu; a celý terén, nebo jen jeho nastavení, jako preset.

Sky Studio#

Atmosféra. Čtyři typy oblohy, solid, gradient, HDRI, a physical atmosphere s Rayleighovým a Mieho rozptylem, Mieho absorpcí, ozónem, ground albedo, turbidity, planet radius a atmosphere thickness.

Všechno visí na time of day, který umí běžet sám od sebe: slunce podle elevation, azimuth a intensity, s vlastní shadow intensity; měsíc podle phase; hvězdy s twinkle; a polární záře. Volumetric clouds mají thickness, erosion, noise scale a curl distortion, a světlo přes absorption, scatter, ambient a powder term; cirrus a Belt of Venus jsou zvlášť. Aerial perspective je opar, který houstne se vzdáleností a rozpouští vzdálenou geometrii do horizontu, a je to nastavení, díky kterému krajina čte jako velká.

Deset přednastavení, ze kterých začít: clear day, dawn, sunset, dusk, night, overcast, stormy, desert, arctic a space.

Water#

Dvě karty: Ocean (FFT) pro otevřené moře, Shore & lakes pro všechno ostatní.

⚠️ Voda se vytváří v editoru Terrain: nástroji river a lake, nebo přes Show Water, a dolaďuje se tady. Otevření tohoto panelu na scéně bez vody vám dá nastavení, na které nemáte co aplikovat.

Shore water nese barvu, opacitu, wave strength a speed, choppiness, foam width a Fresnel, se screen-space odrazy a refraction blur. Pod tím je samotný WGSL shader: dvě normal scales s vlastními směry a rychlostí scrollu, foam threshold a softness, refraction strength a index lomu, a světlo uvnitř vody, absorption, turbidity, scattering a translucency.

Tree Generator#

Dva režimy, Tree a Trunk. Strom je listnatý nebo jehličnatý, má věk od sazenice po prastarý, a může být živý, mrtvý, suchý pahýl nebo padlý kmen. Všechno je seedované, takže Randomize seed je nejrychlejší způsob, jak dostat jiný strom se stejným charakterem.

Tvar je definovaný po úrovni větve: children, length, radius, taper, gnarliness, twist, sections, segments, angle a start height, plus přirozená variace, phototropism a gravitropism: ty dva, díky kterým se strom naklání ke světlu a povoluje pod vlastní vahou, a globální síla s vlastní silou. Základna má root flare (lobes a height) a buttress.

Listy jsou billboardy, jednostranné nebo oboustranné, s count, size, angle, variance, clump, curl, droop, sheen a zaoblenými normálami. Kůra přichází v šesti stylech: ridged, aspen, pine, birch, smooth, palm, s relief, moss, vlhkou základnou, sun bleach, canopy ambient occlusion a podzimním obratem. Čtyři roční období přepnou celý vzhled naráz.

Forest rozmístí mnoho naráz: count, spread radius, scale variance, a age mix (single, natural, young, old, even). Add age progression umístí všech pět životních fází do řady, což je nejrychlejší způsob, jak je posoudit vedle sebe. Strom odchází jako entita scény nebo jako GLB, a jakékoli nastavení lze uložit jako preset.

Plant Generator#

Pět druhů, flower, cluster, herb, fern, grass, sdílejících stem (count, height, thickness, curve, colour) a leaves (count, size, width, angle). Kapradiny (fern) přidávají leaflet pairs, leaflet sweep a frond arch; tráva přidává blade count a arch.

Květ je volitelný u kterékoli z nich: petals, petal rows, length, width, curl, tip sharpness, bloom, centre size, a tři barvy, petal, petal tip a centre, s translucency a roughness pro to, jak světlo prochází listem. Přidejte jeden do scény, rozmístěte mnoho, nebo exportujte GLB.

Rock Generator#

Tři druhy, rock, stone, cliff, ve třech stylech: realistic, toon, nebo low poly s obrysem.

Tvar je šum přes kouli: scale, strength, octaves, persistence, warp a možnost ridged, plus strata s vlastní frequency a facet cuts s depth a sharpness pro hranatý kámen. Radius, detail, flatten, shape variance a plochý spodek rozhodují o siluetě, a čtyři přednastavení eroze, fresh, weathered, natural, eroded, pohnou vším naráz.

Povrch má colour variation, mineral veins, lichen a moss, detail texturu s tiling a strength, triplanar blending a parallax relief. Ve výchozím stavu používá přibalený materiál Stone; pošlete materiál z Matter do Engine, abyste ho přepsali.

Kitbash, stejná knihovna jako Sculpt#

Kitbash je sdílený se Sculpt: tento panel a Edit Forge Sculpt čtou jednu knihovnu. Díl postavený tam se umístí sem, a díl namalovaný tady se dá uložit zpátky do ní.

To, co scéna ukládá, je díl a jeho rozměry, ne jeho vrcholy, což je důvod, proč kitbashovaná budova stojí v souboru skoro nic a dá se později aktualizovat ze svého zdroje.

Vyzbrojte díl z katalogu a každé levé kliknutí ho umístí. Tři režimy snappingu rozhodují, kam dopadne: on terrain (díly sledují výšku terénu pod sebou), on water (build plane sedí na úrovni vody), a snap to sockets, zamiřte na connection point na umístěném dílu a nový se otočí, aby se s ním setkal. Řetěz roste od svého volného konce, obsazené sockety vypadnou z kandidátů, a každé kliknutí je vlastní krok pro undo. Ctrl/Cmd zůstává vyhrazený pro výběr a Alt pro rotaci. Kolekce si drží svůj zdroj a verzi, takže instance se dá aktualizovat, když se originál změní.

Ostatní editory#

Editory světa zaplní scénu; tyto jí dají rozhraní, mapu, tabulky obsahu a nástroje na kontrolu toho, co stojí.

Editor HUD#

Tools → Editors → UI. Šest karet, Templates, Elements, Layers, Preview, Style a Script, nad náhledem, který přepíná mezi třemi velikostmi zařízení: desktop 960×540, tablet 768×432, mobile 375×667.

Elements přicházejí ve třech skupinách (Display, Data, Input) a zanořují se: panel a flex drží children, takže karta Layers je skutečný strom, ne plochý seznam. Historie je hluboká padesát kroků.

⚠️ Karta Style je CSS-podobná, a ten rozdíl je důležitý. HUD je vykreslený na canvas přes Babylonovo GUI, a skutečné CSS se k němu nedostane. Pravidla, která tady píšete, se mapují na GUI properties; selektory jsou #name pro jeden element, .type pro druh (.text, .panel) a * pro všechno.

Karta Script je druhý způsob, jak ho postavit: API ui.*, createText, createPanel, createProgress, createButton, se dvěma způsoby spuštění. Build Layout ho spustí design-time a nechá vám skutečné elementy k ručnímu doladění; Run Live ho spustí ve hře.

Dvě propojení ven: obrazová práce pro HUD se otevírá v Inkwell nebo Vectra a propojuje se zpátky místo kopírování, a dokument Vectra lze importovat jako HUD elementy. Element minimap je vlastní věc, s range, grid, a markery pro player, enemies, allies, items a objectives.

Editor tilemap#

Jedenáct nástrojů, brush, eraser, fill, rectangle, select, eyedropper, stamp, autotile, prop, zone a path, na čtyřech projekcích mapy: orthogonal, isometric, staggered isometric a hexagonal.

Autotiling obsahuje čtyři šablony, a číslo v každém jméně je počet dlaždic, které očekává: Blob 47 (plné rohy a hrany), Wang 16 (podle hran), Simple 4 (NSEW), a RPG Maker A2 (48 dlaždic, kompatibilní s mapami vytvořenými tam).

Nad samotnými dlaždicemi sedí dvě vrstvy. Zones malují herní význam: buildable, water, forest, road, farm, residential, commercial, blocked, a props umísťují objekty podle kategorie: trees, rocks, buildings, vegetation, water, paths. Mapy žijí ve vlastní databázi prohlížeče, takže neuložená přežije reload.

Inventory, datové tabulky a dialogy#

Tři editory, které dovolí, aby hra měla obsah, aniž by ten obsah žil v kódu.

Inventory edituje katalog a aplikuje ho na scénu. Item nese actions, a action je trigger: use, equip, unequip, plus jeden z osmi types: message, heal, damage, grant, remove, event, toast, scene. Samotný panel má tři layouty (grid, list, compact), tři přednastavení vzhledu (graphite, midnight, warm), a čtyři vizuální sloty, background, slot, equipment, tooltip, které se otevírají v jiném modulu pro pořádné překreslení.

Data tables jsou typované: sloupec je text, number, bool nebo ref. CSV jde dovnitř i ven. Každá úprava běží přes čisté funkce, což je to, co drží tabulku, kterou zapíše export, identickou s tabulkou, kterou čte build.

Dialogue trees jsou uzly s speaker a line. Uzel buď pokračuje na jeden next, nebo se větví do choices, každá s vlastním textem a vlastním cílem, přepínač větvení je jediné strukturální rozhodnutí v editoru.

Animace a kamera#

Cinematic Sequencer staví sekvence s duration a loop flag, jednu stopu na entitu, a keyframy zachycené na playheadu, Add Key vezme aktuální hodnotu entity, místo aby vás žádal ji napsat. Graph editor pod tím ukazuje čas proti progresu, s kulatými úchyty pro easing: sklon je rychlost. Záběry mají vlastní durations, a kadrování Cinemascope (1.422:1) je k dispozici pro letterbox.

Camera Tools pokrývá FOV, position, target, mode a speed, plus bookmarks pro úhly pohledu, ke kterým se pořád vracíte, a camera layers.

Audio#

Audio Manager drží audio events, stopy a mixer s channels a categories. Efekty na zdroj jsou low-pass, high-pass a reverb send; režim random vybírá mezi několika klipy, aby se opakovaný zvuk přestal číst jako smyčka. Scrubbing přehrává zvuk, zatímco táhnete za playhead.

Profiler#

Rozpad snímku, ne počítadlo snímků: camera render, mesh evaluation, particles, sprites a shader compilation, každý označený jako real, nebo estimated, takže číslo, které pochází z měření, se nikdy neplete s tím, které pochází z modelu. Počítadla vedle toho: meshes a active meshes, lights, cameras, physics bodies.

Nahrávání je explicitní, a končí na seznamu Issues, ne na grafu k interpretaci: low FPS, high draw calls, high triangles, high memory, proti cílové snímkové frekvenci, kterou nastavíte.

Stavba scény#

Entity#

Viewport Engine, s gizmem na vybrané entitě

Nová scéna přichází s Main Camera, Directional Light, Skybox a Ground Plane.

Scene graph, se čtyřmi entitami, se kterými nová scéna začíná

Co můžete přidat: Empty, Cube, Sphere, Cylinder, Plane, Light, Camera, Script, Mesh, plus dvě rodiny, které přicházejí předzapojené:

  • Characters: Third-Person, First-Person (FPS), Top-Down, Platformer, Basic.
  • Props: Pickup (heal) a Hazard (damage).

Scene graph vyhledává, filtruje podle typu, a přidává, duplikuje nebo maže; entity se zanořují, a přeřazení rodiče je jedno přetažení. Umísťování má snapping a scatter brush pro rychlé zalidnění terénu.

Inspektor#

Transform (position, rotation, scale), přepínač Enabled, a komponenty entity: přidávané, konfigurované a odebírané tady, s Add Script dole. Vyberte víc entit najednou a inspektor přepne na hromadnou editaci, takže jedna změna políčka dopadne na všechny.

Konzole#

Není to jen log. Filtruje podle úrovně (all, logs, info, warning, error), propojí zprávu zpátky s entitou, která ji vytvořila, a nese expression prompt: napište výraz, Enter ho spustí proti živé scéně, šipky procházejí historii.

Dejte tomu chování#

Tři cesty, a koexistují.

Scripts#

JavaScript s lifecycle hooks, a vlastní referencí:

function start() {}                     // once, when the entity starts
function update(dt) {}                  // every frame
function fixedUpdate(dt) {}             // fixed timestep, for physics
function onCollisionEnter(other) {}     // first frame of contact
function onCollisionStay(other) {}      // every frame while touching
function onCollisionExit(other) {}      // contact just ended
function onTriggerEnter(other) {}       // entered a trigger volume
function onTriggerExit(other) {}
function onMessage(msg, data, senderId) {}   // entity-to-entity messaging
function onAnimationEvent(name, data) {}
function onDestroy() {}

Kolize a triggery se spouští v 2D i 3D obojím, a každá strana dostane svůj vlastní kontaktní normál: other.contact.normal míří od druhé entity směrem k této. To je to, co dovolí skriptu rozeznat „přistál jsem na tom" od „to přistálo na mně": platformerový dupanec (stomp) čte other.contact.normal.y > 0.5.

Editor skriptů#

F2, nebo Add Script na entitě. Editor Monaco s kartami, několik skriptů otevřených naráz, každý uložený ve vlastní databázi prohlížeče místo v souboru projektu, takže neuložený buffer přežije reload.

Pět dialektů, jeden program. Přepínač jazyka nabízí JavaScript, BASIC, Python, C# a Rust. Co to dělá, není to, jak to vypadá: JavaScript je zdroj pravdy, a zbylé čtyři jsou pohledy přepsané z uloženého JS. Přepnutí z Pythonu do Rustu nepřeloží Python, vrátí se to zpátky k JS, ze kterého byl Python vygenerovaný, a přeloží tamto. Vícekrokový překlad je to, co poškodí program, a editor to odmítá dělat.

Třináct templates v pěti kategoriích, každá označená obtížností:

KategorieTemplates
Basicsprázdný skript s lifecycle stuby
Movementauto-rotate · WASD · pohyb ve 3D podle os · fyzikální skok s detekcí terénu · sledování kamerou z pohledu třetí osoby
Gameplaytrigger zone · ukazatel zdraví s poškozením a léčením · časovaný spawner
AIhlídkování s upozorněním na blízkost hráče
Advancedasynchronní cutscéna ve stylu Verse · strukturovaná konkurence · test celého povrchu API

Přednastavení character-controlleru a startovací props hry (pickup, hazard) se objevují ve stejném seznamu, což je praktický způsob, jak nasadit funkční controller na importovanou postavu.

Spouštění a ladění. F5 spustí, F9 nastaví breakpoint. Debugger se zastaví na řádku, krokuje po jednom snímku, a hlásí živé hodnoty přes watch expressions. Script Lab spustí program úplně bez připojené entity, poznámkový blok pro API místo komponenty na objektu.

Vedle kódu: API reference, seznam symbolů pro otevřený soubor, a knihovna snippetů s favorites a recents. Ctrl+S uloží, Ctrl+F najde, Ctrl+H nahradí, a editor obsahuje osm témat.

Blueprints a chování#

Vizuální graf, knihovna hotových chování, a stavový automat vrstvený nad zásobníkem chování.

Graf nese 267 uzlů ve dvaceti dvou skupinách, Math, Scene, Entity, Animation, Flow Control, String, Events, Physics, UI, Array, Vector, Transform, Debug, Input, Utility, Game, Boolean, Camera, Tween, Variables, Audio a rodiny 2D a 3D. Odlišují je tři vlastnosti, a z nich je graf postavený: 17 event uzlů spouští vykonávání, 117 pure uzlů spočítá hodnotu bez vedlejšího efektu a bez execution pinu, a 9 latent uzlů dokončí později: to jsou ty, díky kterým lze zpoždění nebo tween vyjádřit bez vlastního stavového automatu.

Čtyři nástroje: select V, pan H, comment C, reroute R, nad canvasem, který zoomuje od 0.1× do 3× s minimapou. Variables přichází v šesti typech, boolean, integer, float, string, vector3 a object. Popis každého uzlu je na jeho tooltipu, což je jediné místo, kde se knihovna té velikosti může sama vysvětlit.

Stavový automat#

Vlastní panel, a záměrně ne ten od Animatoru: podmínky Animatoru jsou plochý enum s ručně psaným UI pro každý případ, zatímco tyhle jsou strukturované a mluví o světě.

Sedm podmínek, a každá je otázka o scéně: sees (otagovaný cíl v dosahu, volitelně v rámci úhlu a na přímou viditelnost), lost (žádný cíl po N sekund), distance proti prahu, health, message received, timer (čas strávený v aktuálním stavu), a flag (hodnota na sdíleném blackboardu). Dva kombinátory, and a or, jsou uvedené oba, i když or už implicitně existoval, dva přechody do stejného stavu jsou or, ale pro „vidí mě A pořád mám zdraví" neexistovala vůbec žádná forma.

⚠️ Health se porovnává jako zlomek maxima, nikdy jako absolutní hodnota. Práh „below 30 HP" nepřežije re-balancing; „below 0.3" ano.

Při vstupu do stavu nebo výstupu z něj, čtyři efekty: send zprávu, set klíč na blackboardu, play animační klip, nebo spusťte named effect. Žádný z nich nic nehýbe, pohyb zůstává u behaviours, a automat rozhoduje, které chování je aktivní.

Přechod může začínat z *, což znamená libovolný stav. Validátor vrátí seznam problémů, místo aby spadl na prvním, takže napůl napsaný automat se pořád vykreslí a uvidíte všechno špatně naráz. Pozice uzlů jsou součástí dat: graf, jehož layout žije mimo scénu, se vrátí přeházený dalšímu člověku, který ho otevře.

BASIC#

Režim viewportu TXT je prostředí klasického BASICu s přibalenými demo programy, a jazyk má vlastní referenci. Je to tady skutečný jazyk, ne hračka: vícesouborové moduly (#INCLUDE), typované numeriky (signed a unsigned 8/16/32/64-bit, float32 a float64), zanořené záznamy, metody objektů se SELF, reference (REF/BYREF), strukturované TRY/CATCH/FINALLY, podmíněná kompilace, coroutines, typované handles, a WebGPU compute se storage buffery a syrovým WGSL.

OPTION EXPLICIT je volitelné; klasické implicitní proměnné zůstávají výchozí, takže importované programy dál běží.

Hraní a vydání#

Play#

Play, Pause, Stop. Při zastavení banner nahlásí, co session změnila, takže úprava v režimu play se nikdy tiše nepodrží ani tiše neztratí. Session lze nahrát a přehrát do bug reportu, a scenario bookmarks dovolí, aby playtest začal uprostřed levelu.

Build#

Build vezme typ hry (detekovaný ze scény, nebo nastavený ručně: sidescroller/platformer, first/third person, textová) a cíl.

  • Web: WebGPU se záložním WebGL, volitelné WebXR (VR/AR), minifikace, počítadlo FPS, a možnost embed assets, která vyprodukuje jeden soubor.
  • Desktop a mobile: nativní buildy. Scéna se exportuje jako data (scene.glb + scene.json) a zkompiluje se přes vygenerovaný projekt Bevy (Rust); skripty tam běží beze změny na vestavěném runtime QuickJS.

Komprese je nastavitelná po jednotlivých osách, algorithm, textures, meshes, s quality presetem, který je svazuje dohromady. Buildy se drží v historii s jejich velikostmi (originál proti komprimovanému) a dají se později stáhnout znovu.

Nativní build obsahuje jen to, co exportér umí exportovat. glTF nezachytí custom shadery, thin instances, procedurální oblohu nebo post-processing, takže runtime systém, který nebyl přenesený na stranu Bevy, bude v desktopovém nebo mobilním buildu chybět, přestože na webu vypadá dokonale. Než se na nativní build spolehnete, zkontrolujte ho.

Multiplayer#

Panel Multiplayer room propojí scénu s herním serverem Colyseus. K dispozici je bezplatný sdílený testovací server, bez účtu a bez konfigurace; projekt může dostat i vlastní server. Room je klíčovaná share code, který si můžete nechat pro sebe, nebo ho rozdat dál.

Soubory, které čte a zapisuje#

Nativní formát.engine
Importy.glb, .gltf, .obj, .fbx, .png, .svg, .mp4, .webm, .mov, .scene
Exportyweb build, nativní desktop/mobile build, scene.glb + scene.json

Odesílání práce do jiných studií#

Přijímá meshe ze Sculpt, Retopo a Pigment, celé scény z Render, pixel art, animace, sady PBR materiálů z Matter, 2D rigy, video projekty, obrázky, vektorovou grafiku, a objekty Vectra.

Produkuje 2D rigy.

Mockup obrazovky z Vectra dorazí jako struktura, ne jako obrázek. Stane se z něj hierarchie HUD, kterou Engine umí rozvrhnout a naskriptovat: rozdíl mezi designem, který dokážete zapojit, a screenshotem takového designu.

Klávesové zkratky#

Cmd/Ctrl + K sáhne na vlastní příkazy Engine z palety, vedle těch globálních. Engine má taky vlastní, prohledávatelný panel klávesových zkratek ve svém nastavení; má jich mnohem víc, než by se vešlo na stránku zkratek.

Limity a časté zádrhely#

  • Prázdný viewport je obvykle prohlížeč, ne scéna. Engine potřebuje WebGL 2; zkontrolujte, že je zapnutá hardwarová akcelerace.
  • Systems a Tools sdílí jednu zásuvku. Pokud panel „zmizel", je nejspíš v té druhé.
  • Konzole je první místo, kam se podívat, ne poslední: propojuje chyby s entitou, která je vyvolala.
  • Komponenta přidaná v režimu play nemusí přežít stop. Přečtěte si banner, který se objeví, když zastavíte.
  • Physics se mezi 2D a 3D liší ve svém solveru, i když callbacky skriptu jsou stejné. Klidový kontakt ve 2D se detekuje s 2mm skinem, protože solver dostane penetraci přesně na nulu, než se spustí detekce.