Hacker News

Automatinis plytelių klojimas naudojant tik 5 plyteles

Automatinis plytelių klojimas naudojant tik 5 plyteles Šis tyrimas gilinasi į įgyvendinimą, nagrinėja jo reikšmę ir galimą poveikį. Apimtos pagrindinės sąvokos Šiame turinyje nagrinėjama: Pagrindiniai principai ir teorijos P...

7 min read Via www.kyledunbar.dev

Mewayz Team

Editorial Team

Hacker News

Automatinio plytelių klojimo įgyvendinimas naudojant tik 5 plyteles

Automatinis plytelių klojimas leidžia kurti sudėtingą 2D reljefą, sienas ir paviršius, automatiškai pasirenkant tinkamą plytelių variantą pagal kaimynus – o norint jį nuimti, jums reikia tik penkių pagrindinių plytelių. Taikant šią techniką negalima dėti plytelių rankiniu būdu, žymiai pagreitėja lygių projektavimas ir kaskart gaunami vizualiai vienodi rezultatai.

Nesvarbu, ar kuriate pikselių meno platformą, RPG iš viršaus į apačią, ar procedūriniu būdu sugeneruotą požemio tikrinimo programą, 5 plytelių automatinio plytelių klojimo metodas suteikia profesionaliai atrodančius rezultatus be papildomų išlaidų, susijusių su 47 plytelių dėmių rinkinio tvarkymu. Toliau išsamiai aprašome, kaip tai veikia, kodėl tai svarbu ir kaip tai įgyvendinti savo projektuose.

Kas yra automatinis plytelių klojimas ir kodėl tai svarbu?

Automatinis plytelių klojimas yra sistema, kurioje žaidimo variklis arba redaktorius automatiškai pasirenka, kurį sprite rodyti kiekvienai tinklelio plytelei pagal gretimus kaimynus. Užuot rankiniu būdu nudažęs kiekvieną kampą, kraštą ir vidinį elementą, kūrėjas tiesiog pažymi langelį kaip „užpildytą“ arba „tuščią“, o visa kita tvarko automatinis plytelių klojimo įrenginys.

Tai svarbu, nes rankinis plytelių išdėstymas yra viena iš lėčiausių ir dažniausiai klaidų 2D lygio projektavimo dalių. Viena netinkamai suderinta kampinė plytelė gali sutrikdyti viso žemėlapio vizualinį nuoseklumą. Automatinis plytelių klojimas pašalina šią trintį, todėl dizaineriai gali sutelkti dėmesį į išdėstymą ir žaidimo eigą, o ne į pikselių lygio kosmetiką.

Ši technika atsirado ankstyvuosiuose RPG kūrimo varikliuose ir nuo tada tapo standartine tokių įrankių kaip „Godot“, „Unity's Rule Tile System“ ir „Tiled Map Editor“ funkcija. Jo naudojimas išaugo kartu su nepriklausomų žaidimų kūrimo bumu, kai mažoms komandoms reikia efektyvių darbo eigų, kad galėtų konkuruoti su didesnėmis studijomis.

Kokių 5 plytelių jums iš tikrųjų reikia?

Taikant minimalų 5 plytelių automatinio plytelių klojimo metodą, naudojami šie plytelių tipai, kurių kiekvienas tvarko konkrečią kaimynų konfigūraciją:

  • Centrinė plytelė – visiškai apsupta iš visų keturių pagrindinių pusių; naudojamas vidaus užpildymui
  • Krašto plytelė – eksponuojama tiksliai vienoje pusėje; pasukamas 90 laipsnių žingsniais, kad būtų padengtas viršutinis, apatinis, kairysis ir dešinysis kraštai
  • Išorinio kampo plytelė – atidengta iš dviejų gretimų pusių; pasuktas, kad užpildytų visas keturias kampų pozicijas
  • Vidinio kampo plytelė – apsupta iš visų pagrindinių pusių, bet trūksta įstrižainės kaimynės; pasukta kiekvienai įstrižai
  • Izoliuota plytelė – nė vienoje pusėje nėra atitinkamų kaimynų; naudojamas atskiroms vieno langelio paskirties vietoms

Pasukdami ir apversdami šias penkias bazines sprites, aprėpiate visas įmanomas 4 bitų kaimynų konfigūracijas. Šis metodas patikrina keturias pagrindines kryptis (aukštyn, žemyn, kairėn, dešinėn), kad gautų 4 bitų bitų kaukės reikšmę nuo 0 iki 15, suteikiant 16 galimų būsenų – visas galima išspręsti naudojant penkis meninius išteklius ir paprastą sukimosi logiką.

Kaip veikia Bitmask algoritmas?

Bitmask metodas kiekvienam pagrindiniam kaimynui priskiria dvejetainę reikšmę. Įprasta nuostata yra tokia: Šiaurė = 1, Rytai = 2, Pietai = 4, Vakarai = 8. Kai užpildomas gretimas langelis, jo reikšmė pridedama prie dabartinės plytelės bitų kaukės. Gautas sveikasis skaičius nuo 0 iki 15 tiesiogiai susietas su konkrečiu plytelės tipu ir pasukimu.

Pavyzdžiui, plytelė su užpildytais kaimynais šiaurėje ir rytuose sukuria 3 (1 + 2) bitų kaukę, kuri atitinka išorinio kampo plytelę, pasuktą į viršutinę dešinę padėtį. 15 bitų kaukė (užpildytos visos pusės) atvaizduoja centrinę plytelę be pasukimo.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Pagrindinė įžvalga: 5 plytelių automatinio plytelių klojimo galia slypi suvokime, kad sukimas yra nemokamas. Vieno krašto sprite, pasukta keturiais būdais, pakeičia keturis unikalius išteklius. Tai reiškia, kad meno dujotiekis susitraukia daugiau nei 80 %, palyginti su visu blob plytelių rinkiniu, o vykdymo laiko logika išlieka paprasta – viskas, ko jums reikia, su 16 įrašų ir pasukimo verte.

Įdiegimas kode yra nesudėtingas. Kiekviename plytelės atnaujinime perskaičiuokite paveikto langelio ir jo artimiausių kaimynų bitų kaukę, susiraskite atitinkamą plytelės tipą ir pasukimą savo atvaizdavimo lentelėje ir priskirkite sprite. Dauguma variklių tai atlieka mažiau nei 10 pagrindinės logikos eilučių.

Kada turėtumėte naujovinti daugiau nei 5 plyteles?

Penkių plytelių metodas ypač gerai tinka paprastam reljefui, pvz., perėjimui nuo žolės iki purvo, pagrindinėms sienų konstrukcijoms ir prototipo stadijos projektavimui. Tačiau jis turi apribojimų. Kadangi tikrinami tik pagrindiniai kaimynai, dviejų išorinių kampų susiliejimo vietose gali atsirasti įstrižų siūlių, sukuriant vaizdinį artefaktą, kartais vadinamą „šachmatų lentos problema“.

Jei jūsų meno stiliui reikia sklandžių įstrižainių perėjimų, turėsite naujovinti į visą 47 plytelių blob plytelių rinkinį, kuris tikrina visus aštuonis kaimynus (kardinalus ir įstrižas) ir naudoja sudėtingesnę bitų kaukę. Kai kurie kūrėjai taiko vidutinį metodą, naudodami 15 arba 20 plytelių rinkinį, kuris sprendžia labiausiai matomus įstrižinius atvejus, nenaudojant viso blob metodo sudėtingumo.

Daugeliui nepriklausomų projektų, prototipų ir žaidimų džemo įrašų 5 plytelių metodas atitinka vaizdo kokybę ir gamybos greitį. Konkrečius plytelių rinkinius visada galėsite atnaujinti vėliau, kai bręsta jūsų projekto meno kryptis.

Dažniausiai užduodami klausimai

Ar automatinis plytelių klojimas naudojant 5 plyteles gali būti naudojamas izometrinėms arba šešiakampėms tinkleliams?

4 bitų kardinalios bitmask metodas skirtas kvadratiniams tinkleliams. Izometriniai tinkleliai, kuriuose naudojamas išskaidytas kvadratinis išdėstymas, gali pritaikyti techniką su pakeistais kaimyninių poslinkiais. Šešiakampiams tinkleliams reikia 6 bitų bitų kaukės ir kitokio minimalaus plytelių skaičiaus – paprastai nuo 7 iki 10 pagrindinių plytelių – dėl šešių krypčių gretumo. Pagrindinis principas išlieka tas pats; keičiasi tik kaimynų skaičius ir sukimosi kampai.

Ar automatinis plytelių išdėstymas turi įtakos žaidimo našumui vykdymo metu?

Ne. Bitmask skaičiavimas yra keletas sveikųjų skaičių papildymų ir kiekvienos plytelės lentelės paieška, kuri yra nereikšminga net naudojant žemos klasės aparatinę įrangą. Plytelių klojimas paprastai skaičiuojamas tik tada, kai dedama arba nuimama plytelė, o ne kiekvienas kadras. Procedūriniu būdu sugeneruotuose žemėlapiuose visas tinklelis gali būti apdorojamas milisekundėmis. „Sprite“ sukimąsi tvarko atvaizdavimo variklis be jokių papildomų iškvietimo išlaidų, nes jame pakartotinai naudojama ta pati tekstūra.

Kuriuose žaidimų varikliuose įtaisytas 5 iškarpų automatinio išklojimo palaikymas?

Godot Engine siūlo vietinį TileMap automatinį plytelių klojimą su konfigūruojamais bitmask režimais, įskaitant minimalią plytelių sąranką. „Unity“ palaiko automatinį plytelių klojimą per savo taisyklių plytelės ir išplėstinės taisyklės nepaisymo plytelės komponentus, esančius 2D plytelių žemėlapio priedų pakete. Plytelių žemėlapių rengyklė, populiarus atskiras įrankis, palaiko panašiai veikiančius reljefo šepečius. Pasirinktiniuose varikliuose bitmask logikos įdiegimas nuo nulio paprastai užtrunka mažiau nei valandą, atsižvelgiant į algoritmo paprastumą.

Supaprastinkite savo kūrimo darbo eigą

Veiksmingi metodai, pvz., 5 plytelių automatinis plytelių klojimas, įrodo, kad išmaniosios sistemos kiekvieną kartą įveikia žiaurią jėgą. Tas pats principas galioja ir jūsų verslo valdymui. Jei tvarkote projektus, komandas, klientus ar operacijas naudodami atjungtus įrankius, darote tą patį, kaip ranka dedate kiekvieną plytelę didžiuliame žemėlapyje. Mewayz sujungia daugiau nei 207 integruotus modulius į vieną verslo OS – tai suteikia jums automatizavimo, aiškumo ir greičio, kad galėtumėte sutelkti dėmesį į tai, kas iš tikrųjų svarbu. Pradėkite kurti išmanesnius adresu app.mewayz.com.