Engine
Pelimoottori selaimessa: kohtausgraafi, komponentit, skriptaus, fysiikka, PBR-putki, maailmaeditorit ja natiivit buildit työpöydälle ja mobiilille.
Yhdellä lauseella#
Täysiverinen pelimoottori selaimessa: rakenna kohtaus, anna sille käytöstä, paina playta, ja vie se webiin tai natiiviksi työpöytä- ja mobiilibinääriksi.
Se on aukimin selvästi suurin studio. Tämä sivu kartoittaa sen samalla tavalla kuin käyttöliittymä: sen vetolaatikon mukaan, jossa kukin paneeli asuu, aakkosellisen ominaisuuslistan sijaan.
Asettelu#

| Menu bar | File · Edit · View · Windows · Run · Plugins |
| Toolbar | projektin nimi, kumoa/tee uudelleen, näyttöikkunan tilakytkin (3D · 2.5D · 2D · TXT), kohtausvalitsin, neljä paneelipainiketta, FX Master, HUD, resoluutiokenttä, transportti (play, pause, stop) ja Build |
| Vasen | kuvakerivi, kohtausgraafi, lista, ääni, konsoli, ja paneeli, jonka se avaa |
| Keskellä | näyttöikkuna, omalla gizmo-palkillaan (siirrä, kierrä, skaalaa, world/local, ruudukko, tarttuminen, rajaus) ja laatuvalitsimella |
| Oikea | valitun entiteetin tarkastin |
| Alhaalla | Konsoli ja Profiloija rinnakkain |
| Status bar | tila, näyttöikkunan mitat, entiteettimäärä, ruudukon tila |
Neljä paneelipainiketta#

Ne eivät kaikki käyttäydy samalla tavalla, ja ero kannattaa tietää ennen kuin lähdet etsimään jotain:
| Painike | Käytös |
|---|---|
| Systems | avaa vetolaatikon |
| Tools | avaa saman vetolaatikon, Systems ja Tools sulkevat toisensa |
| Assets | vaihtaa pysyvän telakan tilaa |
| Scripts | avaa modaalin |
Systems ja Tools jakavat yhden paikan tarkoituksella; ne on sijoitettu vierekkäin, jotta se näkyy.
Systems#
Moottorin omat osajärjestelmät: asiat, joita kohtauksella on, sen sijaan että ne olisivat asioita, joilla tehdään.
| Ryhmä | Paneelit |
|---|---|
| Plugins | liitännäisselain |
| Rendering | Rendering · Rendering Pipeline · Look Presets · Shader Lab · Render Style · Shadows · Mesh LOD · Post Process Volumes |
| Gameplay | Multiplayer room · Physics · AI & Navigation · Gameplay Zones |
| World | Scene Graph · Level Streaming · Baking · Light Probes · Decals |
Rendering#
Työkalurivin FX Master -kytkin sytyttää ja sammuttaa koko jälkikäsittelyputken yhdellä napsautuksella: nopein tapa nähdä, mitä se maksaa. Yksitellen: bloom, depth of field, SSR, SSAO, GTAO, SSGI, temporal AA, FXAA, motion blur, volumetrinen sumu, contact shadows, colour grading, film grain, kromaattinen aberraatio, vignette ja tonemapping, sekä Nanite-tyylinen geometria ja Hi-Z-okkluusio.
Look Presets ovat kokonaisia kokoonpanoja yllä olevasta. Render Style vaihtaa rekisteriä, tyylitellyn valokuvamaisen sijaan. Shader Lab on paikka, jossa kirjoitat omasi. Mesh LOD ja Post Process Volumes ovat ne kaksi, jotka maksavat itsensä takaisin isolla kohtauksella: yksityiskohtaisuustaso per mesh, ja jälkikäsittely, joka soveltuu vain volyymin sisällä.
Renderöijä on Babylon.js. Se käynnistyy WebGL:llä ja vaihtaa itsensä WebGPU:hun, kun selaimessa on sellainen, ja palaa takaisin omin päin, jos se epäonnistuu.
Gameplay-järjestelmät#
Physics kattaa sekä 3D-ratkaisijan (Havok) että 2D-ratkaisijan. AI & Navigation on navmesh ja sen agentit. Gameplay Zones ovat triggerivolyymejä, joihin on liitetty käytös. Multiplayer room yhdistää kohtauksen Colyseus-palvelimeen (katso alempana).
World-järjestelmät#
Level Streaming lataa ja purkaa kentän osia pelaajan liikkuessa. Baking esilaskee valaistuksen; Light Probes kaappaavat epäsuoraa valoa ja heijastuksia avaruuden pisteissä. Decals projisoivat yksityiskohtia pinnoille lisäämättä geometriaa.
Tools#
Asiat, joilla tehdään.
| Ryhmä | Paneelit |
|---|---|
| Editors | Scripts · Blueprint Editor · UI Editor · Tilemap |
| World | Sky Studio · Terrain · Water · Tree Generator · Plant Generator · Rock Generator · Kitbash |
| Gameplay | Inventory · Data tables · Dialogue Trees |
| Animation | Timeline · Cinematic Sequencer · Camera Tools |
| Audio | Audio Manager |
| Debug | Profiler |
World-generaattorit#
Terrain, water, sky ja neljä sisältögeneraattoria: trees, plants, rocks ja kitbash-palat. Niillä on oma lukunsa alempana.
Gameplay-sisällöntuotanto#
Inventory, Data tables (Tools → Data) ja Dialogue Trees ovat kolme editoria, joiden ansiosta pelillä voi olla sisältöä ilman, että sisältö asuu koodissa tarkemmin alempana.
Animation#
Timeline entiteettianimaatiolle, Cinematic Sequencer kuville (shots), ja Camera Tools rajaukselle. Katso Animaatio ja kamera.
Maailmaeditorit#
Seitsemän paneelia kohdassa Tools → World. Ne ovat nopea tapa täyttää kohtaus, ja syy siihen, ettei kentän tarvitse alkaa mallinnusistunnolla.
Terrain#
Kohtaus voi sisältää useita maastoja; jokainen on rivi Terrains-listassa, ja se luodaan yhdessä kolmesta resoluutiosta, 128² (nopea), 256² (tasapainoinen) tai 512² (yksityiskohtainen).
Paneelissa on kymmenen tilaa, ja niillä on yksi yhteinen asia: Masks-kohdassa maalattu maski rajoittaa jokaista niistä.
| Tila | Mitä se tekee |
|---|---|
| Sculpt | seitsemäntoista sivellintä korkeuskentällä |
| Paint | jopa kahdeksan tekstuuritasoa, kahden splatmapin yli |
| Generate | kohina, automaattitekstuurointi ja oikean maailman korkeustuonti |
| Sketch | piirrä harjanteita ja laaksoja, synteesi maasto vastaamaan niitä |
| Masks | rajoittaa jokaisen muun tilan osaan pinnasta |
| Water | merenpinta, ja valinta maastoveden ja FFT-meren välillä |
| Paths | maahan leivottu Bézier-tie |
| Vegetation | sivellin- tai sääntöpohjainen sirottelu |
| SDF | raymarchattu maasto, renderöity meshaamisen sijaan |
| Biomes | maaperä, kasvit, puut ja kivet yhdellä ajolla |
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 (Alt-napsautus asettaa lähteen), Blur B, Ramp R, sekä
kaksi vesityökalua: River piirtää uoman, Lake täyttää pisteestä.
Sivelmellä itsellään on dynamiikkaa: painekäyrä, lazy mouse, falloff,
symmetria, kuvio, ja jitter sekä koolle että voimakkuudelle. Stamp
kantaa kuusi muotoa: crater, mountain peak, plateau, river valley, dome,
noise hill. Eroosio tulee kahdessa muodossa: E-sivellin on paikallinen,
kun taas Adjustments ajaa hydraulisen, termisen ja
tuulieroosion koko maaston yli.
Paint. Kahdeksan tasoa, koska kaksi RGBA-splatmapia kantaa neljä kanavaa kumpikin. Materiaalikirjasto on lajiteltu kategorioittain: grass, dirt, forest, rocks, roads and surfaces, cliffs, sand, snow, volcanic, wetland, fantasy, ja omasi, ja jokainen taso kantaa UV-skaalan, displacementin, yksityiskohtakartan, ja pintareliefin (bump-voimakkuus ja parallax-syvyys). Break texture tiling (cell bombing) on asetus, joka estää toistuvaa maatekstuuria näyttämästä ruudukolta.
Generate rakentaa kohinasta, sitten Generate Textures osoittaa materiaalit korkeuden ja kaltevuuden mukaan, pohjois-etelä-varjovaihtelulla ja hiekka- tai sorarannoilla siellä, missä on vettä. Real World tuo julkisia NASA/USGS-korkeuslaattoja: valitse maamerkki tai kirjoita koordinaatit, valitse zoomaus, ja paneeli raportoi tuomansa korkeusvaihtelun.
Sketch on toinen tapa sisään. Piirrä harjanne- ja laaksovetoja 2D-kartalle, valitse jopa kolme oikeaa lähdemaisemaa, ja maasto syntetisoidaan vastaamaan luonnosta, halutessasi sekoitettuna jo olemassa olevaan, automaattiteksturoituna ja eroosioitettuna samalla ajolla.
Masks maalataan siveltimellä ja muokataan sitten kokonaisuutena: clear, invert, blur, grow, shrink. Smart masks johtavat maskin itse maastosta, korkeuden, kaltevuuden, tason tai onkalon mukaan.
Paths. Napsauta pudottaaksesi ohjauspisteitä, ja pehmeä käyrä kulkee niiden läpi; vedä keltaisia pisteitä siirtääksesi niitä, syaaneja kahvoja taivuttaaksesi käyrää. Bake Path tasoittaa maan sen alla, maalaa tekstuurin ja nostaa penkereet.
Vegetation-tilassa on kaksi puoliskoa. Sivellin sijoittaa ja poistaa instansseja käsin; scatter rules sijoittavat niitä ehdon, tasopainojen, siemenluvun, min/max-skaalan ja sen korkeus- ja kaltevuusvyöhykkeen mukaan, jonka kukin resurssi hyväksyy. Ruoho ja kukat häipyvät pois säädettävän piirtoetäisyyden jälkeen, ja Export to Scene muuttaa instanssit kohtausobjekteiksi.
Biomes on yhden napsautuksen versio kaikesta yllä olevasta: valitse biomi, rastita haluamasi kategoriat (soil, trees, plants and grass, flowers, algae near water, rocks), aseta tiheys, ja Apply Biome maalaa maan ja sirottelee kaiken, raportoiden, kuinka monta instanssia kutakin se sijoitti. Puun age variety sekoittaa taimista muinaisiin saman puun leimaamisen sijaan kaikkialle, ja ground blend (RVT) sulauttaa jokaisen kiven pohjan sen alla olevaan maastoväriin.
SDF on eri renderöijä, ei eri työkalu: maasto raymarchataan etäisyyskentästä, muoto octaveilla, lacunarityllä ja persistencellä, tekstuurointi grass/rock/snow-jaolla lumirajalla ja kaltevuuskynnyksellä, sekä omat pehmeät varjot, ambient occlusion ja sumu.
Isoilla maastoilla on LOD-järjestelmä, jossa on skirt-geometria (joka sulkee tasojen väliset raot), pehmeät tasosiirtymät, frustum culling ja tilastojen peittokuva. Heightmapit tuodaan ja viedään muodoissa 16-bit PNG, 8-bit PNG tai RAW 16-bit; splatmapit yhtenä RGBA PNG:nä tai yhtenä tiedostona per taso; ja koko maasto, tai vain sen asetukset, esiasetuksena.
Sky Studio#
Ilmakehä. Neljä taivastyyppiä, solid, gradient, HDRI, ja physical atmosphere Rayleigh- ja Mie-sironnalla, Mie-absorptiolla, otsonilla, maan albedolla, sameudella, planeetan säteellä ja ilmakehän paksuudella.
Kaikki riippuu vuorokaudenajasta, joka voi kiertää itsestään: aurinko korkeuden, atsimuutin ja intensiteetin mukaan, omalla varjointensiteetillään; kuu vaiheen mukaan; tähdet tuikkeella; ja revontulet. Volumetric clouds -pilvillä on paksuus, eroosio, kohinaskaala ja curl-vääristymä, sekä valo absorption, sironnan, ambientin ja powder-termin kautta; cirrus ja Venuksen vyö ovat erillisiä. Aerial perspective on sumu, joka paksuuntuu etäisyyden myötä ja häivyttää kaukaisen geometrian horisonttiin; se on asetus, joka saa maiseman näyttämään suurelta.
Kymmenen esiasetusta aloituspisteeksi: clear day, dawn, sunset, dusk, night, overcast, stormy, desert, arctic ja space.
Water#
Kaksi välilehteä: Ocean (FFT) avomerelle, Shore & lakes kaikelle muulle.
⚠️ Vesi luodaan Terrain-editorissa: river- ja lake-työkaluilla, tai Show Water -toiminnolla, ja säädetään täällä. Tämän paneelin avaaminen kohtauksessa, jossa ei ole vettä, antaa sinulle asetuksia, joita ei ole minne soveltaa.
Rantavedellä on väri, läpinäkyvyys, aallon voimakkuus ja nopeus, choppiness, vaahdon leveys ja Fresnel, screen-space-heijastuksilla ja refraktiosumennuksella. Sen alla on itse WGSL-shader: kaksi normal-skaalaa omilla vieritys-suunnillaan ja nopeuksillaan, vaahtokynnys ja pehmeys, refraktion voimakkuus ja taitekerroin, sekä valo veden sisällä: absorptio, sameus, sironta ja läpikuultavuus.
Tree Generator#
Kaksi tilaa, Tree ja Trunk. Puu on lehtipuu tai ikivihreä, sillä on ikä taimesta muinaiseen, ja se voi olla elävä, kuollut, pystykeloa (snag) tai kaatunut runko. Kaikki on siemennettyä, joten Randomize seed on nopein tapa saada erilainen puu samalla luonteella.
Muoto on oksatasokohtainen: children, length, radius, taper, gnarliness, twist, sections, segments, angle ja start height, sekä luonnollinen vaihtelu, fototropismi ja gravitropismi: kaksi, jotka saavat puun kallistumaan valoa kohti ja roikkumaan oman painonsa alla, sekä globaali voima omalla voimakkuudellaan. Tyvellä on root flare (lohkot ja korkeus) ja buttress.
Lehdet ovat billboardeja, yksi- tai kaksipuoleisia, count-, size-, angle-, variance-, clump-, curl-, droop-, sheen- ja pyöristetyt normal-arvot mukana. Kaarna tulee kuudessa tyylissä: ridged, aspen, pine, birch, smooth, palm, relief-, moss-, kostea tyvi, auringon haalistus, latvuksen ambient occlusion ja syksyn väri mukana. Neljä vuodenaikaa vaihtavat koko ilmeen kerralla.
Forest sirottelee useita kerralla: count, spread radius, scale variance, ja ikäsekoitus (single, natural, young, old, even). Add age progression sijoittaa kaikki viisi elämänvaihetta riviin, mikä on nopein tapa arvioida niitä rinnakkain. Puu lähtee kohtausentiteettinä tai GLB-muodossa, ja mikä tahansa asetus voidaan tallentaa esiasetuksena.
Plant Generator#
Viisi lajia, flower, cluster, herb, fern, grass, joilla on yhteinen varsi (count, height, thickness, curve, colour) ja lehdet (count, size, width, angle). Saniaiset lisäävät lehdyspareja, lehdyskaarron ja lehden kaaren; ruoho lisää lehtimäärän ja kaaren.
Kukka on valinnainen millä tahansa niistä: petals, petal rows, length, width, curl, tip sharpness, bloom, centre size, ja kolme väriä: petal, petal tip ja centre, translucencylla ja roughnessilla sille, miten valo kulkee lehden läpi. Lisää yksi kohtaukseen, sirottele monta, tai vie GLB-muodossa.
Rock Generator#
Kolme lajia, rock, stone, cliff, kolmessa tyylissä: realistic, toon, tai low poly ääriviivalla.
Muoto on kohinaa pallon päällä: scale, strength, octaves, persistence, warp ja ridged-optio, sekä strata omalla taajuudellaan ja facet cuts syvyydellä ja terävyydellä kulmikkaalle kivelle. Radius, detail, flatten, shape variance ja litteä pohja päättävät siluetin, ja neljä eroosioesiasetusta, fresh, weathered, natural, eroded, liikuttavat kaikkea kerralla.
Pinnalla on värivaihtelua, mineraalisuonia, jäkälää ja sammalta, yksityiskohtatekstuuri laatoituksella ja voimakkuudella, triplanar- sekoitus ja parallax-relief. Se käyttää oletuksena mukana tulevaa Stone-materiaalia; lähetä materiaali Matterista Engineen korvataksesi sen.
Kitbash, sama kirjasto kuin Sculptissa#
Kitbash on jaettu Sculptin kanssa: tämä paneeli ja Sculptin Edit Forge lukevat samaa kirjastoa. Siellä rakennettu pala sijoitetaan täällä, ja täällä maalattu pala voidaan tallentaa takaisin siihen.
Se, minkä kohtaus tallentaa, on osa ja sen mitat, ei sen kärkipisteitä, minkä vuoksi kitbashattu rakennus maksaa tiedostossa lähes ei mitään ja voidaan päivittää myöhemmin lähteestään.
Valitse pala luettelosta, ja jokainen vasen napsautus sijoittaa sen. Kolme
tarttumistilaa päättävät, minne se laskeutuu: on terrain (palat
seuraavat allaan olevaa maan korkeutta), on water (rakennustaso
asettuu veden tasolle), ja snap to sockets, tähtää sijoitetun palan
liitäntäpisteeseen, ja uusi pala kääntyy sitä vasten. Ketju kasvaa
vapaasta päästään, varatut liitäntäpisteet putoavat pois ehdokkaista, ja
jokainen napsautus on oma kumoamisaskeleensa. Ctrl/Cmd on varattu
valinnalle ja Alt kierrolle. Kokoelmat säilyttävät lähteensä ja
versionsa, joten instanssin voi päivittää, kun alkuperäinen muuttuu.
Muut editorit#
Maailmaeditorit täyttävät kohtauksen; nämä antavat sille käyttöliittymän, kartan, sisältötaulukot ja välineet sen kustannusten tarkistamiseen.
HUD-editori#
Tools → Editors → UI. Kuusi välilehteä, Templates, Elements, Layers, Preview, Style ja Script, esikatselun päällä, joka vaihtaa kolmen laitekoon välillä: desktop 960×540, tablet 768×432, mobile 375×667.
Elements-kohde tulee kolmessa ryhmässä (Display, Data, Input)
ja voi sisäkkäistyä: panel ja flex pitävät sisällään lapsia, joten
Layers-välilehti on oikea puu litteän listan sijaan. Historia on
viisikymmentä askelta syvä.
⚠️ Style-välilehti on CSS:n kaltainen, ja ero on tärkeä. HUD
piirretään kankaalle Babylonin GUI:lla, eikä oikea CSS ylety siihen.
Säännöt, jotka kirjoitat täällä, kuvautuvat GUI-ominaisuuksiksi;
valitsimet ovat #name yhdelle elementille, .type tyypille (.text,
.panel) ja * kaikelle.
Script-välilehti on toinen tapa rakentaa se: ui.*-API, createText,
createPanel, createProgress, createButton, kahdella tavalla ajaa se.
Build Layout suorittaa sen suunnitteluaikaisesti ja jättää sinulle
oikeita elementtejä nykäistäväksi käsin; Run Live ajaa sen pelissä.
Kaksi yhteyttä ulospäin: HUD-kuvitus avautuu Inkwellissä tai Vectrassa ja linkitetään takaisin kopioimisen sijaan, ja Vectra-dokumentin voi tuoda HUD-elementteinä. Minikartta-elementti on oma juttunsa, jossa on kantama, ruudukko, ja merkit pelaajalle, vihollisille, liittolaisille, esineille ja tavoitteille.
Tilemap-editori#
Yksitoista työkalua, brush, eraser, fill, rectangle, select, eyedropper, stamp, autotile, prop, zone ja path, neljällä karttaprojektiolla: orthogonal, isometric, staggered isometric ja hexagonal.
Autotiling-toiminnossa on mukana neljä mallipohjaa, ja kunkin nimen luku on tiilien määrä, jonka se odottaa: Blob 47 (täydet kulmat ja reunat), Wang 16 (reunapohjainen), Simple 4 (NSEW), ja RPG Maker A2 (48 tiiltä, yhteensopiva siellä laadittujen karttojen kanssa).
Kaksi tasoa istuu itse tiilten yläpuolella. Zones maalaa pelattavuuden merkityksen: buildable, water, forest, road, farm, residential, commercial, blocked, ja props sijoittaa objekteja kategorioittain: trees, rocks, buildings, vegetation, water, paths. Kartat elävät selaimen omassa tietokannassa, joten tallentamaton kartta selviää sivun uudelleenlatauksesta.
Inventaario, datataulukot ja dialogipuut#
Kolme editoria, joiden ansiosta pelillä voi olla sisältöä ilman, että sisältö asuu koodissa.
Inventory muokkaa luetteloa ja soveltaa sen kohtaukseen. Esineellä on
toimintoja, ja toiminto on trigger: use, equip, unequip, plus
yksi kahdeksasta tyypistä: message, heal, damage, grant, remove,
event, toast, scene. Paneelilla itsellään on kolme asettelua (grid, list,
compact), kolme ulkoasuesiasetusta (graphite, midnight, warm), ja neljä
visuaalista paikkaa, background, slot, equipment, tooltip, jotka
avautuvat toisessa moduulissa kunnollista uudelleenpiirtoa varten.
Data tables ovat tyypitettyjä: sarake on text, number, bool tai
ref. CSV menee sisään ja tulee ulos. Jokainen muokkaus kulkee puhtaiden
funktioiden läpi, mikä pitää viennin kirjoittaman taulukon identtisenä
sille, jonka build lukee.
Dialogue trees ovat solmuja, joilla on puhuja ja repliikki. Solmu
joko jatkuu yhteen next-kohteeseen, tai haarautuu valinnoiksi
(choices), joilla kullakin on oma tekstinsä ja oma kohteensa;
haarautumiskytkin on ainoa rakenteellinen päätös editorissa.
Animaatio ja kamera#
Cinematic Sequencer rakentaa sekvenssejä kestolla ja silmukkalipulla, yhdellä raidalla per entiteetti, ja keyframeilla, jotka kaapataan toistokohdasta; Add Key ottaa entiteetin nykyisen arvon sen sijaan, että pyytäisi sinua kirjoittamaan sen. Sen alla oleva käyräeditori näyttää ajan edistymistä vasten, pyöreillä kahvoilla easingiä varten: kaltevuus on nopeus. Kuvilla (shots) on omat kestonsa, ja Cinemascope- rajaus (1.422:1) on käytettävissä letterboxia varten.
Camera Tools kattaa FOV:n, sijainnin, kohteen, tilan ja nopeuden, sekä bookmarkit kuvakulmille, joihin palaat toistuvasti, ja kameratasot.
Audio#
Audio Manager pitää sisällään äänitapahtumat, raidat ja mikserin kanavineen ja kategorioineen. Lähdekohtaiset tehosteet ovat low-pass, high-pass ja reverb send; random-tila valitsee useiden klippien väliltä, jotta toistuva ääni lakkaa kuulostamasta silmukalta. Scrubbing toistaa ääntä, kun vedät toistokohtaa.
Profiloija#
Kehyksen erittely, ei kehyslaskuri: kameran renderöinti, meshin evaluointi, partikkelit, spritet ja shaderin kääntäminen, kukin merkittynä real tai estimated, jotta mittauksesta tullutta lukua ei koskaan sekoiteta malliin perustuvaan. Laskureita sen rinnalla: meshit ja aktiiviset meshit, valot, kamerat, fysiikkakappaleet.
Nauhoitus on eksplisiittinen, ja se päättyy Issues-listaan tulkittavan kaavion sijaan: low FPS, high draw calls, high triangles, high memory, verrattuna asettamaasi tavoitekuvataajuuteen.
Kohtauksen rakentaminen#
Entiteetit#

Uusi kohtaus saapuu mukanaan Main Camera, Directional Light, Skybox ja Ground Plane.

Mitä voit lisätä: Empty, Cube, Sphere, Cylinder, Plane, Light, Camera, Script, Mesh, sekä kaksi perhettä, jotka saapuvat valmiiksi johdotettuina:
- Characters: Third-Person, First-Person (FPS), Top-Down, Platformer, Basic.
- Props: Pickup (heal) ja Hazard (damage).
Kohtausgraafi hakee, suodattaa tyypin mukaan, sekä lisää, monistaa tai poistaa; entiteetit voivat sisäkkäistyä, ja vanhemman vaihto on veto. Sijoittelussa on tarttuminen ja scatter brush maan nopeaan täyttämiseen.
Tarkastin#
Transform (sijainti, kierto, skaala), Enabled-kytkin, ja entiteetin komponentit: lisätään, määritellään ja poistetaan täällä, Add Script alareunassa. Valitse useita entiteettejä, ja tarkastin vaihtaa eräkäsittelyyn, joten yksi kentän muutos päätyy niihin kaikkiin.
Konsoli#
Ei vain loki. Se suodattaa tason mukaan (all, logs, info, warning,
error), linkittää viestin takaisin sen tuottaneeseen entiteettiin, ja
kantaa lausekekehotteen: kirjoita lauseke, Enter ajaa sen elävää
kohtausta vasten, nuolinäppäimet kävelevät historiaa.
Käytöksen antaminen#
Kolme reittiä, ja ne elävät rinnakkain.
Scripts#
JavaScript elinkaarikoukuilla, ja oma referenssinsä:
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() {}
Törmäykset ja triggerit laukeavat sekä 2D:ssä että 3D:ssä, ja kumpikin
puoli saa oman kontaktinormaalinsa: other.contact.normal osoittaa
toisesta entiteetistä tätä kohti. Juuri se antaa skriptin erottaa "minä
laskeuduin sen päälle" tilanteesta "se laskeutui minun päälleni":
platformer-tallaus lukee other.contact.normal.y > 0.5.
Skriptieditori#
F2, tai Add Script entiteetissä. Monaco-editori välilehdillä, useita
skriptejä auki kerralla, kukin säilytettynä selaimen omassa
tietokannassa projektitiedoston sijaan, joten tallentamaton puskuri
selviää sivun uudelleenlatauksesta.
Viisi murretta, yksi ohjelma. Kielikytkin tarjoaa JavaScript, BASIC, Python, C# ja Rust. Se, mitä se tekee, ei ole se, miltä se näyttää: JavaScript on totuuden lähde, ja muut neljä ovat näkymiä, transpiloituna tallennetusta JS:stä. Vaihto Pythonista Rustiin ei käännä Pythonia, vaan palaa JS:ään, josta Python oli generoitu, ja kääntää sen. Moniaskelinen käännös on se, mikä turmelee ohjelman, ja editori kieltäytyy tekemästä sitä.
Kolmetoista mallipohjaa viidessä kategoriassa, kukin merkittynä vaikeustasolla:
| Kategoria | Mallipohjat |
|---|---|
| Basics | tyhjä skripti elinkaarirungoilla |
| Movement | auto-rotate · WASD · akselipohjainen 3D-liike · fysiikkahyppy maan tunnistuksella · third-person-kameraseuranta |
| Gameplay | trigger-vyöhyke · elämäpalkki vahingolla ja parantumisella · ajastettu spawner |
| AI | partiointi pelaajan läheisyyshälytyksellä |
| Advanced | Verse-tyylinen asynkroninen cutscene · rakenteinen samanaikaisuus · koko API-pinnan testi |
Hahmo-ohjaimen esiasetukset ja pelin aloitusrekvisiitat (pickup, hazard) näkyvät samassa listassa, mikä on käytännöllinen tapa pudottaa toimiva ohjain tuodun hahmon päälle.
Ajaminen ja debuggaus. F5 ajaa, F9 asettaa breakpointin.
Debuggeri pysähtyy riville, askeltaa yhden kehyksen, ja raportoi eläviä
arvoja watch-lausekkeiden kautta. Script Lab ajaa ohjelman ilman
kiinnitettyä entiteettiä lainkaan, muistilehtiönä API:lle objektin
komponentin sijaan.
Koodin rinnalla: API-referenssi, symbolilista avoimelle tiedostolle,
ja snippet-kirjasto suosikeilla ja viimeisimmillä. Ctrl+S tallentaa,
Ctrl+F etsii, Ctrl+H korvaa, ja editorin mukana tulee kahdeksan
teemaa.
Blueprintit ja käytökset#
Visuaalinen kaavio, kirjasto valmiita käytöksiä, ja tilakone kerrostettuna käytöspinon päälle.
Kaaviossa on 267 solmua kahdessakymmenessäkahdessa ryhmässä, Math, Scene, Entity, Animation, Flow Control, String, Events, Physics, UI, Array, Vector, Transform, Debug, Input, Utility, Game, Boolean, Camera, Tween, Variables, Audio sekä 2D- ja 3D-perheet. Kolme ominaisuutta erottaa ne, ja niistä kaavio koostuu: 17 event-solmua käynnistävät suorituksen, 117 pure-solmua laskevat arvon ilman sivuvaikutusta ja ilman suoritusnastaa, ja 9 latent-solmua valmistuvat myöhemmin: ne ovat niitä, jotka tekevät viiveestä tai tweenistä ilmaistavan ilman omaa tilakonetta.
Neljä työkalua: select V, pan H, comment C, reroute R, kankaalla,
joka zoomaa 0.1×:stä 3×:ään pienoiskartalla. Muuttujia on kuutta
tyyppiä, boolean, integer, float, string, vector3 ja object. Jokaisen
solmun kuvaus on sen tooltipissä, mikä on ainoa paikka, jossa noin iso
kirjasto voi selittää itsensä.
Tilakone#
Oma paneelinsa, ja tarkoituksella eri kuin Animaten: Animaten ehdot ovat litteä enum, jolla on käsin kirjoitettu käyttöliittymä per tapaus, kun taas nämä ovat rakenteisia ja puhuvat maailmasta.
Seitsemän ehtoa, ja jokainen on kysymys kohtauksesta: sees (merkitty kohde kantaman sisällä, valinnaisesti kulman sisällä ja näköyhteydessä), lost (ei kohdetta N sekuntiin), distance kynnysarvoa vasten, health, message received, timer (aika nykyisessä tilassa vietettynä), ja flag (arvo jaetulla blackboardilla). Kaksi yhdistintä, and ja or, ovat molemmat listattuina, vaikka or oli jo olemassa implisiittisesti: kaksi siirtymää samaan tilaan on or, mutta "se näkee minut JA minulla on yhä terveyttä" -tilanteelle ei ollut muotoa lainkaan.
⚠️ Health verrataan murto-osana maksimista, ei koskaan absoluuttisena. Kynnysarvo "alle 30 HP" ei selviä tasapainotuskierroksesta; "alle 0.3" selviää.
Tilaan tultaessa tai siitä poistuttaessa, neljä efektiä: send viesti, set blackboard-avain, play animaatioklippi, tai laukaise nimetty efekti. Mikään niistä ei liikuta mitään, liike pysyy käytöksissä, ja kone päättää, mikä käytös on aktiivinen.
Siirtymä voi alkaa kohdasta *, mikä tarkoittaa mitä tahansa tilaa.
Validaattori palauttaa ongelmien listan sen sijaan, että heittäisi
virheen ensimmäisestä, joten puolivalmis kone piirtyy silti, ja näet
kaiken väärän kerralla. Solmujen sijainnit ovat osa dataa: kaavio, jonka
asettelu elää kohtauksen ulkopuolella, palaa sekoitettuna seuraavalle
henkilölle, joka sen avaa.
BASIC#
TXT-näyttöikkunatila on klassinen BASIC-ympäristö mukana tulevine
demo-ohjelmineen, ja kielellä on oma referenssinsä.
Se on täällä oikea kieli, ei lelu: monitiedostomoduulit (#INCLUDE),
tyypitetyt numerot (etumerkilliset ja etumerkittömät 8/16/32/64-bittiset,
float32 ja float64), sisäkkäiset tietueet, objektimetodit SELF:llä,
referenssit (REF/BYREF), rakenteinen TRY/CATCH/FINALLY,
ehdollinen käännös, korutiinit, tyypitetyt kahvat, ja WebGPU compute
storage buffereilla ja raa'alla WGSL:llä.
OPTION EXPLICIT on valinnainen; klassiset implisiittiset muuttujat
pysyvät oletuksena, jotta tuodut ohjelmat toimivat yhä.
Pelaaminen ja julkaisu#
Play#
Play, Pause, Stop. Pysäytyksessä banneri raportoi, mitä istunto
muutti, joten play-tilan muokkaus ei koskaan jää hiljaa voimaan eikä
katoa hiljaa. Istunnot voidaan nauhoittaa ja toistaa bugiraporttiin, ja
skenaariokirjanmerkit antavat pelitestin alkaa kentän keskeltä.
Build#
Build ottaa pelityypin (tunnistettu kohtauksesta, tai asetettu käsin: sidescroller/platformer, first/third person, text-based) ja kohteen.
- Web: WebGPU WebGL-varajärjestelmällä, valinnainen WebXR (VR/AR), minifiointi, FPS-laskuri, ja embed assets -optio, joka tuottaa yhden tiedoston.
- Desktop ja mobile: natiivit buildit. Kohtaus viedään datana
(
scene.glb+scene.json) ja käännetään generoidun Bevy (Rust) -projektin kautta; skriptit ajautuvat siellä muuttumattomina upotetulla QuickJS-ajonaikaisella ympäristöllä.
Pakkaus on säädettävissä akseleittain, algoritmi, tekstuurit, meshit, laatuesiasetuksella, joka sitoo ne yhteen. Buildit säilyvät historiassa kokoineen (alkuperäinen verrattuna pakattuun) ja ne voidaan ladata uudelleen myöhemmin.
Natiivi build sisältää vain sen, minkä viejä osaa viedä. glTF ei kaappaa mukautettuja shadereita, ohuita instansseja, proseduraalista taivasta tai jälkikäsittelyä, joten ajonaikainen järjestelmä, jota ei ole siirretty Bevy-puolelle, puuttuu työpöytä- tai mobiilibuildista, vaikka se näyttää täydelliseltä webissä. Tarkista natiivi build ennen kuin luotat siihen.
Multiplayer#
Multiplayer room -paneeli yhdistää kohtauksen Colyseus-pelipalvelimeen. Ilmainen jaettu testipalvelin on käytettävissä ilman tiliä ja ilman asetuksia; projektille voidaan myös antaa oma palvelimensa. Huone avautuu jakokoodilla, jonka voit pitää itselläsi tai jakaa eteenpäin.
Tiedostot, joita se lukee ja kirjoittaa#
| Natiivi formaatti | .engine |
| Tuo | .glb, .gltf, .obj, .fbx, .png, .svg, .mp4, .webm, .mov, .scene |
| Vie | web-build, natiivi työpöytä-/mobiilibuild, scene.glb + scene.json |
Työn lähettäminen muihin studioihin#
Hyväksyy meshejä Sculptista, Retopolta ja Pigmentistä, kokonaisia kohtauksia Renderistä, pikselitaidetta, animaatioita, PBR-materiaalisettejä Matterista, 2D-rigejä, videoprojekteja, kuvia, vektorikuvitusta, ja Vectra-objekteja.
Tuottaa 2D-rigejä.
Vectra-näyttöluonnos saapuu rakenteena, ei kuvana. Siitä tulee HUD-hierarkia, jonka Engine voi asetella ja skriptata: ero suunnitelman, jonka voi johdottaa toimivaksi, ja sen kuvakaappauksen välillä.
Pikanäppäimet#
Cmd/Ctrl + K tavoittaa Enginen omat komennot paletista, globaalien
rinnalla. Enginellä on myös omissa asetuksissaan oma, haettava
pikanäppäinpaneeli; siinä on paljon enemmän kuin mahtuisi
pikanäppäinsivulle.
Rajoitukset ja yleiset sudenkuopat#
- Tyhjä näyttöikkuna on yleensä selaimen vika, ei kohtauksen. Engine tarvitsee WebGL 2:n; tarkista, että laitteistokiihdytys on päällä.
- Systems ja Tools jakavat yhden vetolaatikon. Jos paneeli "katosi", se on todennäköisesti toisessa.
- Konsoli on ensimmäinen paikka, josta katsoa, ei viimeinen: se linkittää virheet niiden aiheuttaneeseen entiteettiin.
- Play-tilassa lisätty komponentti ei välttämättä selviä pysäytyksestä. Lue banneri, joka ilmestyy, kun pysäytät.
- Physics eroaa 2D:n ja 3D:n välillä ratkaisijassaan, vaikka skriptin callbackit ovat samat. Lepäävä kontakti 2D:ssä tunnistetaan 2 mm:n "ihon" avulla, koska ratkaisija tuo penetraation tarkalleen nollaan ennen tunnistuksen ajoa.