Izlases ainavu ģenerators



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Lai pārlūkotu Academia. Pieteikties, izmantojot Facebook Pieteikties ar Google. Atcerēties mani uz šī datora. Ievadiet e-pasta adresi, ar kuru reģistrējāties, un mēs jums nosūtīsim atiestatīšanas saiti. Nepieciešams konts? Noklikšķiniet šeit, lai reģistrētos.

Saturs:
  • Pieeja noliegta
  • Apvidus ģeneratora atkārtojums
  • Izlases reljefa ģenerators
  • Ievads
  • Procedūras ainavu ģenerators
  • Fantāzijas karšu ģenerēšana
  • Vienkāršs izlases ainavu ģenerators
  • Abonējiet RSS
SKATĪTIES SAISTĪTO VIDEO: Bezgalīgas procesuālas 3D reljefa izveide ar upēm, tuneļiem un pārkarēm

Pieeja noliegta

Šīs ir dažas piezīmes par to, kā es ģenerēju kartes savam Twitter robotam unchartedatlas , kura pamatā ir ģenerators, kuru es sākotnēji izveidoju NaNoGenMoThere JavaScript koda laikā Github ģeneratoram šeit , un oriģinālo nekārtīgo Python ģeneratora kodu var redzēt šeit. Iespējams, jūs interesēs arī šis pavadošais gabals , kurā aprakstīta vietvārdu ģenerēšana.

Es gribēju izveidot kartes, kas izskatās kā kaut kas tāds, ko jūs varētu atrast kāda no manas jaunības lētajiem mīkstajiem vākiem fantāzijas romānu aizmugurē. Mani vienmēr ir aizrāvušas šīs iedomātās pasaules, kuras bieži vien bija daudz interesantākas nekā jebkura remdenā Tolkīna pasaka, kurai tās bija pieķērušās. Tajā pašā laikā es gribēju spēlēt ar reljefu paaudzi ar fizisku pamatu.

Internetā ir daudz rakstu, kas apraksta reljefa ģenerēšanu, un gandrīz visos tajos ir izmantotas dažas fraktāļu trokšņa pieejas variācijas, vai nu tieši pievienojot trokšņa funkciju slāņus, vai netieši, piemēram. Šīs metodes rada daudz smalku detaļu, taču liela mēroga struktūra vienmēr izskatās nedaudz nepareiza.

Funkcijas tiek piesaistītas nejauši, nedomājot par procesiem, kas veido ainavas. Es gribēju izmēģināt kaut ko mazliet savādāku. Ģeneratoram ir daži dažādi posmi. Vispirms mēs izveidojam reljefa augstuma karti un veicam tādas darbības kā ūdens plūsmas maršrutēšana pa virsmu.

Pēc tam mēs varam atveidot kartes “fizisko” daļu. Beidzot mēs varam izvietot pilsētas un “reģionus” kartē un ievietot to etiķetes. Lai attēlotu augstuma karti, vispirms ir nepieciešams punktu režģis. Lai gan var būt vienkāršāk strādāt ar parastu kvadrātveida režģi, man daudz labāk patīk strādāt ar neregulāru punktu kopu kaut kam līdzīgam. Izmantojot parastu režģi, ir ļoti viegli saskarties ar dīvainiem artefaktiem, un bieži vien ir jāveic liela pēcapstrāde, lai paslēptu režģa efektus. Ja izmantojat neregulāru režģi, ir dažas lietas, kas ir sarežģītākas, taču režģa struktūra palīdz piešķirt kartei aptuvenu, organisku sajūtu, un jums nekad nav jāuztraucas par nepatīkamiem lineāriem artefaktiem gatavajā produktā.

Es izmantoju tādu pašu pieeju kā šajā rakstā, kas ir viena no labākajām atsaucēm par to, kā ģenerēt nefraktālu reljefu.

Es šeit neiedziļināšos pārāk detalizēti, jo šajā rakstā tas ir ļoti skaidri izskaidrots ar daudzām diagrammām.

Es sāku ar nejaušu punktu atlasi kartē. Šie punkti mēdz būt nedaudz nelīdzeni un nevienmērīgi, tāpēc es izmantoju Lloyd relaksāciju, lai uzlabotu punktu kopumu. Ātrumam es izmantoju tikai vienu šī procesa atkārtojumu, taču jūs varat to atkārtot tik reižu, cik vēlaties. Tomēr pēc dažām atkārtojumiem atdeve strauji samazinās. Visi aprēķini faktiski tiek veikti sākotnējās punktu kopas “divpunktos”, kas atbilst Voronoi daudzstūru stūriem.

Tam ir priekšrocība, ka kaimiņu skaits vienā mezglā ir fiksēts trīs, kas palīdz dažās koda daļās. Piezīme: tas parāda 2 8 punktus, lai atvieglotu skatīšanu, bet īstais ģenerators izmanto 16, 2 14 punktus. Man ir programmētāja māņticība, ka vienmēr jāizmanto 2 jaudas, kas ir vairāk patīkamas iekārtas garam.

Viena no grūtībām, veidojot ainavas reālistiskā veidā, ir tā, ka īstas ainavas netiek radītas uzreiz. Tā vietā tās attīstās no agrākām ainavām, kuras savukārt attīstījās no vēl agrākām ainavām, un tā tālāk miljardiem gadu.

Nav laba veida, kā simulēt šo procesu saprātīgā laika periodā, tāpēc mums ir nedaudz jākrāpjas. Tā vietā, lai būtu bezgalīgs senāku ainavu regress, es sāku ar vienkāršu “proto ainavu”, kas veidota ar ģeometriskiem primitīviem.

Tas ļauj man kontrolēt reljefa plašās kontūras, vienlaikus atstājot sīkāku informāciju fiziskiem procesiem, ko vēlāk aizpildīt. Konkrēto izmantoto primitīvu un darbību secību var mainīt, lai izveidotu dažāda veida ainavas, piemēram, krasta līnijas, salas un kalnu grēdas.

Piezīme: melnā līnija norāda nulles kontūru, ko mēs uzskatām par “jūras līmeni”. Arī šajā kartē ātrumam tiek izmantoti 4, 2 12 punkti. Šī procesa rezultāti var būt nedaudz nenozīmīgi, kas nozīmē, ka tie reti izskatās labi paši.

Mēs vēlamies tos mazliet noberzt, lai tie vairāk izskatītos pēc īstām ainavām. Mēs to darām, izmantojot erozijas operāciju. Lielākajā daļā pasaules vislielākā ietekme uz zemes formu formu ir fluviālā ūdens erozija.

Ūdens plūst lejup, nesot sev līdzi nogulumus, veidojot ielejas un upju baseinus. Šī ir ļoti sarežģīta parādība, un tās pareiza modelēšana ir ļoti aktīva izpētes joma, taču mēs varam sasniegt tālu, ieskicējot vienkāršu procesa versiju. Mums jāsāk ar maršrutu izsekošanu, pa kuriem ūdens pārņems tīklu. Katram tīkla punktam mēs sakām, ka ūdens plūst uz tā zemāko kaimiņu un tā tālāk, līdz sasniedzam kartes malu.

Tas dod ūdens plūsmas karti. Ir acīmredzama problēma, kad mēs sasniedzam režģa punktus, kas ir zemāki par visiem to kaimiņiem.

Vai mēs virzām ūdeni atpakaļ kalnā? Tas, iespējams, novedīs pie cikliem ūdens sistēmā, kas ir problēmas. Tā vietā mēs vēlamies aizpildīt šīs nepilnības, ko bieži sauc par izlietnēm vai ieplakām , lai ūdens vienmēr tecētu lejup līdz pat malai. Ir viegli saprast, kā aizpildīt vienu režģa punktu, taču, padziļinājumam kļūstot lielākam un, iespējams, savienojoties ar citām ieplakām, iespējamo gadījumu skaits ievērojami palielinās.

Par laimi, ir algoritms padziļinājumu aizpildīšanai, ko sauc par Planchon-Darboux algoritmu. Lai to aprēķinātu, mēs sākam ar bezgalīgi augstu virsmu visur, izņemot malu, kur mēs izmantojam sākotnējos augstumus.

Pēc tam katrā iterācijā mēs atrodam punktus, kuru kaimiņš ir zemāks par tiem, un iestatām to augstumu uz to sākotnējo augstumu vai zemākā kaimiņa augstumu plus nelielu daudzumu atkarībā no tā, kurš ir augstāks. Mēs apstājamies, kad varam veikt pilnu iterāciju, nemainot nevienu punktu. Ir dažādi veidi, kā paātrināt šo algoritmu, galvenokārt mainot secību, kādā punkti tiek apmeklēti.

Lai iegūtu sīkāku informāciju un pareizības pierādījumu, varat izlasīt oriģinālo dokumentu. Ar aprēķināto ūdens maršrutēšanu mēs varam aprēķināt, cik daudz ūdens plūst caur katru punktu.

Es pieņemu, ka nokrišņu daudzums ir nemainīgs visā kartē, un atkārtojiet punktus dilstošā secībā, laižot garām nokrišņu daudzumu un uzkrāto ūdens plūsmu no katra punkta līdz tā "lejuppunktam". Tādējādi tiek iegūta ūdens plūsmas karte, kas parasti saplūst jaukā, zarojošā upes struktūrā, kurā ir daudz mazu strautiņu, kas baro lielāku centrālo kanālu.

Lai aprēķinātu eroziju, es apvienoju ūdens plūsmu ar slīpumu katrā punktā, kā aprēķināts, pamatojoties uz tā kaimiņu trīsstūri. Precīza formula, ko izmantoju, ir slīpuma reizinājums ar ūdens plūsmas kvadrātsakni. Tas ne vienmēr ir ļoti fiziski, taču tas sniedz skaistus rezultātus. Es arī pievienoju nelielu terminu, kas ir proporcionāls slīpumam kvadrātā. Tas neļauj veidoties dziļām aizām, kas varētu būt fiziski reālistiskas, taču neizskatās labi manis izvēlētajā grafiskajā stilā.

Es uzskatu, ka ir ļoti svarīgi ierobežot erozijas ātrumu, pretējā gadījumā var notikt dīvainas lietas. Mazliet iet ļoti tālu ar šo. Turklāt erozija vienmēr pazemina virsmu, tāpēc parasti palīdz pēc tam pazemināt jūras līmeni, lai tas atbilstu. Pēdējais augstuma kartes uzlabojums ir nedaudz izlīdzināt krasta līnijas. Erozijas rezultātā veidojas diezgan nelīdzens reljefs, kas kļūst par mazām saliņām, kad to nogriež jūras līmenis.

Daži no tiem var izskatīties labi, bet pārāk daudzi vienkārši izskatās nekārtīgi. Es atkārtoti izmantoju filtru, kur tiek izvilkti punkti, kas atrodas zem jūras līmeņa, bet lielākā daļa kaimiņu atrodas virs jūras līmeņa, un otrādi punktiem, kas atrodas virs jūras līmeņa un kuriem ir zemūdens kaimiņi. Pāris to atkārtošanas rada daudz tīrāku piekrasti. Tagad rodas jautājums par kartes vismaz fiziskās daļas uzzīmēšanu. Vienkāršākā daļa ir krasta līnija — mēs to jau esam darījuši.

Tas ir tikai jautājums par līniju segmentu zīmēšanu, kur augstuma karte šķērso nulli. Šajā sakarā nav daudz papildu darāmā. Nākamā sastāvdaļa ir upes. Mēs nevēlamies attēlot visu meliorācijas tīklu, jo tas aptvertu visu karti.

Tā vietā mēs rādām tikai noteci no punktiem, kuru ūdens plūsma pārsniedz noteiktu slieksni. Savienojot šos punktus ar lejteces kaimiņiem, mēs varam izsekot upes ceļiem.

Viena no šīs pieejas problēmām ir tāda, ka upēm ir tendence zigzagot no tīkla punkta līdz tīkla punktam, nevis iet pa vienmērīgu ceļu. Lai to atrisinātu, es atslābinu punktus ceļa vidū pret to augšteces un lejteces kaimiņiem, saglabājot augšējo un apakšējo daļu fiksētu, lai krustojumi darbotos pareizi. Tas lieliski izlīdzina lietas. Pēdējā daļa ir ēnojums kalnu malās, kas palīdz norādīt topogrāfiju. Kartogrāfijas centrālais princips ir tas, ka mēs mēdzam interpretēt kartes tā, it kā skatītu reljefu no kartes apakšas, skatoties uz augšu.

Tāpēc mēs vēlamies zīmēt gājienus, kas virzās uz augšu un pa labi, ja reljefs sliecas uz augšu no kreisās puses uz labo, un uz leju un pa labi, ja reljefs sliecas uz leju. Līdzīgi, gājieniem pakalnu “tuvajā” pusē jābūt garākam nekā “tālajā” pusē.

Katram režģa punktam es aprēķināju slīpumu un ignorēju punktu, ja tas ir mazāks par nejaušu slieksni. Punktiem, kas iztur šo pārbaudi, es uzzīmēju īsu gājienu ar slīpumu, kas ir proporcionāls augstuma kartes slīpuma horizontālajai komponentei, ar nelielu vertikālās sastāvdaļas modifikatoru. Ja gājiens būtu pārāk stāvs, es to sadalu vairākos īsākos gājienos pie maksimālā slīpuma, kas nejauši uzzīmēts ap punktu. Tagad, kad esam sakārtoti kartes “fiziskā” daļa, varam pāriet uz “politisko”.

Mēs vēlamies kartē izvietot pilsētas un apdzīvotas vietas pēc izskata pieņemamās vietās. Tajā pašā laikā mēs vēlamies, lai pilsētas būtu pietiekami izkliedētas, lai mēs varētu tām uzlīmēt etiķetes, pārāk neuztraucoties par pārklāšanos. Katru reizi, kad pievienoju pilsētu, es izvēlos punktu ar augstāko punktu skaitu, pēc tam pārrēķinu punktu skaitu visiem punktiem. Es nošķiru pilsētas, kurām ir saistīts “reģions”, un pilsētas, kurām nav. Pilsētas ir novietotas pirmajās vietās, bet citādi kodā nav atšķirību.

Nākamais solis ir reģionu iezīmēšana. Mēs vēlamies, lai robežas starp reģioniem šķistu diezgan saprātīgas, ievērojot dabiskās robežas, piemēram, upes un kalnu grēdas. Veids, kādā es to tuvojos, ir paplašināt reģionus ārpus katras pilsētas, lai katrs reģions sastāvētu no punktiem, kas ir “vistuvāk” tās pilsētai atbilstoši noteiktam attāluma mērījumam.


Apvidus ģeneratora atkārtojums

Mans uzdevums bija izmantot procesuālās ģenerēšanas metodes, kā arī dažus pēcapstrādes efektus DirectX 11 ietvaros. Šajā projektā tiek izmantots Perlin troksnis, kā arī vairākas reljefa maiņas metodes. Lietotājs tos var kombinēt jebkurā veidā, lai radītu unikālas ainavas. Lietojumprogrammas funkcijas. Tālāk ir norādītas metodes, kas izmantotas Perlin karšu ģenerēšanai manā lietojumprogrammā. Parasti Perlina trokšņa funkcija tiek nodrošināta ar frekvenci, kas ir kartes mērogs, un amplitūdu, kas ir augstuma vērtība, kas parasti ir fiksēta. Šī karte tiek piemērota plakanās plaknes virsotņu augstuma vērtībai, baltā ir 1 un melnā ir

Abstract Neutral ainavas modeļi (NLM) simulē ainavas nlm_mosaic lauku, simulē mozaīkas izlases lauka neitrālu ainavas modeli.

Izlases reljefa ģenerators

Patīk koncepcija un vecā karte, es pats to izmantoju. Es runāju pagājušajā gadā. Forša karte! Interesanti, vai tas atspoguļo pasauli, ko redz ar kājām, nevis automašīnu un lidmašīnu? Cik es zinu, senās un viduslaiku kartes ir vairāk līdzīgas mūsdienu topoloģiskām kartēm, piemēram, Londonas cauruļu kartei, nevis mūsdienu topogrāfiskajām kartēm: tās parāda, kā jūs nokļūstat no vienas vietas uz otru un kādi ir alternatīvi ceļi, bet tajās nav redzams. apgabals, kas atbilst mērogam. Šajā gadījumā jums jāpatur prātā medijs. Tā ir visa romiešu ceļu sistēma, kas rada lielāko daļu izkropļojumu, un jūsu jautājumā, ja vien ceļotājs var jautāt, pa kuru ceļu doties, lai nokļūtu nākamajā pilsētā, topogrāfiskā informācija nav tik svarīga. nevar iegūt precīzas topogrāfiskās kartes Eiropā vismaz līdz brīdim, kad jūs sasniedzat vēlo viduslaiku vai agrīnās renesanses Itālijas portus vai ostu diagrammas. Ciktāl to izmantoja laboratorijas, vēl Napoleona karu laikā topogrāfiskie pētījumi nebija veikti. Tas bija viens no lielas mācības, kas lika Vestpointai uzsvērt mērniecību un topogrāfiskās kartes pirmspilsoņu kara laikmetā.

Ievads

Ja redzat šo ziņojumu, tas nozīmē, ka šeit redzamā reklāma vēl nav ielādēta vai jūsu reklāmu bloķētājs to slēpj. Ja jums patīk vietne un jums patīk Gens, lūdzu, apsveriet iespēju iekļaut RanGen baltajā sarakstā. Ja jums patīk vietne, bet nevarat izturēt reklāmas, lūdzu, apsveriet iespēju atbalstīt RanGen vietnē Patreon. Paldies!

Failu apmaiņa. Atjaunināts 01. septembrī

Procedūras ainavu ģenerators

Diskusiju sadaļā “Skriptēšana”, uzsāka misterkid, 18. septembris, Search Unity. Pieteikties Izveidojiet vienotības ID. Vienotības forums. Forumi Ātrās saites. The

Fantāzijas karšu ģenerēšana

Mlynki ziņa » Piekt. 22. sept., plkst. X kunga ziņa » piektdien, 22. sept., plkst. X » Piekt. 22. sept., plkst. Mlynki ieraksts » Piekt., 22. septembris, plkst. X » sestdien, 23. sept., plkst. Mlynki ieraksts » Pirm., 25. sept., plkst.

Bezmaksas procedural Terrain Generator blendera fails tiem brīžiem, kad vēlaties ģenerēt tikai nejaušu ainavu bez piepūles reāllaikā.

Vienkāršs izlases ainavu ģenerators

Reljefa rīki ļauj izveidot reālistiskas ainavas, piemēram, kalnus, upes un kanjonus. Šajā rakstā ir izskaidroti reljefa izveidei izmantotie rīki. Redaktora logs ir sadalīts sadaļās Izveidot , Reģions un Rediģēt, katra no tām ir detalizēti aprakstīta tālāk.

Abonējiet RSS

SAISTĪTAIS VIDEO: Rhino Grasshopper: Random Terrain Generator (3. daļa)

Vairāk rezultātu. AnswerHub būs tikai lasāms, līdz būs pabeigta migrēšana uz Unreal Engine forumiem. Lūdzu, publicējiet visus jaunus jautājumus. Tikmēr uzziniet vairāk par mūsu plāniem attiecībā uz UE kopienu un gaidāmajām izmaiņām šeit. Tas mani diezgan neapmierina, jo vienīgās pēdas, kas pieejamas UE4, ir tirgū.

Šajā sienāža piemēra failā, definējot nejaušus pievilkšanas punktus, varat modelēt parametrisku reljefa NURBS virsmu.

Manā pēdējā emuāra ierakstā mēs runājām par pseidogadījuma skaitļu ģenerēšanu un to, kā to var izmantot, lai jūsu spēlēm pievienotu daudzveidību. Šodien mēs apskatīsim kaut ko nedaudz sarežģītāku, izmantojot tās pašas idejas. Mēs izmantosim PRNG, lai izveidotu dažas nejaušas alas līdzīgas vides, izmantojot programmēšanas modeli, ko sauc par šūnu automātiem. Tas, iespējams, izklausās sarežģīti, taču tas var būt diezgan vienkārši. Vienkāršāk sakot, šūnu automāti ir noteikumu kopums, kas tiek piemērots atsevišķai režģa šūnai.

Es eksperimentēju ar jaunu algoritmu nejaušas ainavas ģenerēšanai. Šī metode bija mana ideja, tāpēc tā var izrādīties neiespējama. Tikmēr es cenšos šo lietu nogludināt.


Skatīties video: Ziemas dziesma ar ainavu


Iepriekšējais Raksts

Mans kalamansi koks nenes augļus

Nākamais Raksts

Ainavu piedāvājums lacey wa