Amazon Lumberyard Opprette den første 3D-scenen

Hva du skal skape

I denne opplæringsdelen vil jeg vise deg hvordan du lager et komplett 3D-nivå som består av både Lumberyard interne eiendeler og importerte nye.

Deretter lærer du hvordan du plasserer både spilleren og kameraet, og hvordan du bruker flere enheter, oppretter prefabs og teksturer. Til slutt vil du bli introdusert til Lumberyard belysning.

Legg merke til at du anbefales å lese de to foregående delene (del 1, del 2) for å få full forståelse av notatene fra denne delen.

Hvem skal lese denne opplæringsserien? 

Denne opplæringsserien er primært rettet mot to grupper av spillutviklere:

  • de som er helt ukjente med spillmotorer i det hele tatt
  • de som er kjent med andre spillmotorer (for eksempel Unity, Unreal Engine, eller Cry Engine), men ikke med Lumberyard

Jeg antar at du har litt kunnskap om datagrafikknotasjon, så jeg vil ikke fullt ut dekke alle notasjoner.

Opprett et nytt 3D-nivå

Start Lumberyard og klikk på Nytt nivå. Bruk følgende data i Nivågrensesnitt.

  • Navn: CompleteFirstLevel
  • Mappe: Nivåer / (standardverdi)
  • Bruk terreng: sjekket!
  • Heightmap Resolution: 1024x1024
  • Meter per Texel: 1

Klikk OK.

Merk at alle nivåer er lagret som standard på: YourLumbaryardInstallationpath \ dev \ SamplesProject \ Levels.

For terrengetekstur, bruk:

  • Vedtak: 4096x4096
  • Terrengfargemultiplikator: 3
  • Høy kvalitet: sjekket!

Klikk OK.

Kameraposisjonering

For å spille spillet ditt nivå må du opprette og plassere et spillkamera. Deretter må du endre det for å aktivere tegnkontroll og angi et utgangspunkt. Heldigvis tilbyr Lumberyard et prefab objekt som har et gameplay kamera med støtteinngangskontroller.

Kameraet finner du i Database Editor, under Vis> Åpne visningspanel.

Du kan også finne Database Editor i EditMode verktøylinje.

De databasevisning faner (rød rektangel) gir tilgang og konfigurasjon for flere databasetyper. De redigeringsverktøylinjen (grønt rektangel) gir deg tilgang til verktøy som Åpne, Lagre, Legg til eller Fjern elementer fra databasen. Endelig, den FileTree View (blått rektangel) gir deg tilgang til de tilgjengelige databaseelementene.

I Databasevisning, åpne Prefabs Bibliotek og klikk Legg inn bibliotek.

Fra prefabs kataloglisten, velg character_controllers.xml og klikk OK.


Fra Prefab Bibliotek fil trevisning, dra Sphere_Controller inn i det Perspektiv Viewport

Nå bør du ha en robot som ligger på ditt nivå og venter på testing. Legg merke til at plasseringen der du plasserer den, bestemmer også startpunktet for nivået. Lagre nivåfilen din (Fil> Lagre).

Hvis du klikk Gizmo, Du kan se de komplette prefab egenskapene. Hvis du ikke kan se Gizmo, da må du klikk H ikonet i Perspektiv verktøylinje.

Du bør være oppmerksom på at du som standard ikke kan endre egenskapen for en prefab-enhet. Men hvis du velger Gizmo, og klikk deretter på Åpne Alle under Rollup Bar > Prefab parametere, Nå får du tilgang til hver prefabrikkerte enhet og dens egenskaper.

KlikkKamera Controller Rig enhet for å inspisere sin Kameraparametere.

Det er nå på tide å teste ditt nye spillkamera. Klikk på Spill> Bytt til spill eller trykk Kontroll-G.

Legg til et kamera

Det er flere scenarier hvor du har tenkt å ha egendefinerte kameraer eller til og med statiske kameraer. For det gir Lumberyard deg tilgang til kameraetheten. Det er to viktige måter å legge til et egendefinert kamera på:

  1. bruker RollupBar
  2. bruker gjeldende Perspektiv visningsport konfigurasjon

Den tidligere bruker enheten Kamera tilgjengelig i Objekter> Diverse> Objekttype> Kamera. Du trenger bare å velge Camera-enheten og deretter plassere den i din Perspektiv visningsport.

Sistnevnte bruker din nåværende visningsposisjon, slik at det nye kameraet også vil bruke samme konfigurasjon. Sted Perspektiv visningsport i ønsket posisjonering (for eksempel å se på roboten). Høyreklikk i øvre venstre hjørne av perspektiv verktøylinje, og klikk Opprett kamera fra nåværende visning. Nåværende visning fra din perspektiv synsfeltet er nå et fast kamera fra den posisjonen. 

Nå, navigere bort og legg merke til at det nye kameraet er på jakt etter det siste Perspektiv Viewport konfigurasjon.

objekter

En måte å plassere objekter på er å bruke pensler (RollUp Bar> Objekter> Pensel). Pensler er normalt statiske objekter plassert i 3D-scenen. De er billige å gjengi siden de ikke inneholder ekstra egenskaper til en enhet eller fysikk egenskaper.

I rullegardinlisten til høyre velger du Børste i objekter fane. Under Nettleser på vei, åpen Objekter> StyleTown> Naturlig> Terreng og velg objektet townbloc. Dra den inn i Perspektiv visningsport.

Fra pensellisten, åpne StyleTown> Arkitektur> Bygninger. Dra b13_h02 bygge inn i Perspektiv visningsport og legg det nær et hjørne av townbloc.

Nå vet du hvordan du plasserer børster i ditt nivå.

Importerer eksterne objekter

For å importere eksterne objekter, anbefaler Lumberyard deg å bruke FBX filformatet. Den nåværende importøren er fortsatt i forhåndsvisning, og noen funksjoner som materialer mangler.

Lumberyard FBX Importer-verktøyet inneholder en scenediagram, som er et trebasert lag av data mellom din .FBX modell og Lumberyard. Hver gang du behandler en .FBX en ny .scenesettings filen med samme navn er opprettet; Denne nye filen lagrer aktiva-metadataene.

Hvis du endrer maskegenskapene til modellen, trenger du ikke å importere .FBX fil. Lumberyard Asset Processor lytter og oppdager eventuelle endringer i .scenesettings fil og bruker ressurs kompilatoren til å gjenopprette .FBX fil.

La oss fortsette og laste ned en ekstern FBX-fil. Trekk ut den komprimerte filen du nettopp lastet ned og flytte Wooden_House.fbx inn i YourLumbaryardInstallationpath \ dev \ SamplesProject \.

I Lumberyard Editors velger du Vis> Åpne visningspane> FBX Importer.

Klikk mappeikonet øverst til høyre i verktøylinjen.

 Velg Wooden_House.fbx fil, og klikk Åpen.

Endre Navn eiendom til Imported_Wooden_House og klikk Importere.

Etter noen sekunder, bør du se meldingsvinduet for suksess.

Ett siste skritt må utføres før du kan bruke din nye ressurs. Under RollupBar> Geom Entity, klikk Last. Deretter skal en ny mappe vises. Åpne den og du burde ha imported_wooden_house modell tilgjengelig. 

Til slutt, dra modellen inn i Perspektiv visningsport.

Første utfordring 

Du bør nå legge til noen pensler selv. Din neste oppgave er å opprette et 3D-nivå som ligner på følgende:

Når du er ferdig med nivåopprettingen, flytter du til neste del. Legg merke til at du ikke trenger å lage en 3D-verden akkurat som den forrige. Hovedideen er å legge til flere børster og samhandle med dem (roterende, oversette og skalering). 

prefabs

Prefabs gjør det mulig å lage innhold raskere ved hjelp av en kombinasjon av forhåndsdefinerte eiendeler. For å bruke tidligere opprettede Prefabs, åpne Databasevisning (Vis> Åpne visningspanel).

Under Prefabs Bibliotek fanen, klikk på Åpen. Velg styletown.xml og klikk OK.

Åpne nå RollupBar og under Prefab Du bør nå se den importerte NeighborhoodBlock Prefab.

Velg og dra de tre ressursene (StreetSet_ABlock_A, og StreetLight_A) inn i det Perspektiv Viewport. Du bør ha noe som følgende bilde.

terreng

Lumberyard lar deg generere, redigere og tekstur et terreng på ditt nivå. For det må du alltid ha i betraktning tre menyer:

  1. Terrengstrukturlag
  2. Material Editor
  3. Terreng redaktør (in RollupBar)

For å åpne terrengstrukturlagene, kan du bruke hovedmenyen Vis> Åpne visningspanel> Terrengstrukturlag eller snarveien tilgjengelig i Redigeringsverktøylinje

Åpne Terrengstrukturlag.

De Terrengstrukturlag grensesnittet brukes til å definere materialene som skal brukes til å male ditt terrengnivå. Det er fire hovedområder i grensesnittet:

  1. Lagoppgaver brukes til å legge til, slette, flytte og tildele det valgte materialet til det valgte laget.
  2. Lag Info inneholder informasjon om det valgte laget, for eksempel størrelse og overflatetype.
  3. Layer Texture viser en tekstur med lav oppløsning som inneholder fargeinformasjon.
  4. Lag listen inneholder en liste over opprettede lag for terrengmaleri.

Under Lagoppgaver, legg til to lag. Navn den første gress og den andre skitt.

Åpne Material Editor ved hjelp av Vis> Åpne visningspanel> Materialredigerer eller snarveien tilgjengelig i Redigeringsverktøylinje.

Du vil legge merke til at du vil ha to vinduer (Terrengstrukturlag og Material Editor) eller et enkelt vindu med en tapseparator nederst på venstre side.

De Material Editor er sammensatt ved hjelp av følgende områder:

  1. Redigeringsverktøylinje for å søke, slette, lage og lagre materialer
  2. Materiale Forhåndsvisning som viser det valgte materialet
  3. Materiale mappen katalog viser en hierarkisk mappestruktur som inneholder materialer som kan velges
  4. Eiendommer inneholdende parametere som definerer det generelle materialutseendet

Det er nå på tide å tildele to materialer til de nevnte opprettede lagene. For den første, velg materialet gr_grass_01 plassert i katalogbanen: materialer> startstartmaterialer.

Bytt nå grensesnittet til Terrengstrukturlag og velg gress lag. Klikk Tilordne materiale. Denne handlingen vil bruke det valgte materialet til det valgte laget. Legg merke til at Materialebane har endret seg tilsvarende til materiale> getstartedmaterials-> gr_grass_01.

La oss nå legge til grunnmaterialet (gs_ground_01) inn i det skitt lag. Dette materialet er også plassert i samme mappe.

  1. Velg gr_ground_01 materiale.
  2. Endre grensesnittet til Terrengstrukturlag.
  3. Velg skitt lag.
  4. Klikk Tilordne materialer.

Du er nå klar til å male gresset og smussstrukturen på terrenget.

I RollUp Bar, velg Terreng-kategorien, og velg deretter Layer Paint knapp.

Det er flere aspekter du bør vurdere når du bruker terrengetekstur: Radius og hardhet eiendommer; de Farge og lysstyrke av tekstur; selve tekstur og typen fylling (musebasert eller Flood-basert). Den førstnevnte vil bruke tekstur med museposisjonen, mens den sistnevnte vil anvende tekstur til hele bakken.

Velg gress tekstur og modifisere Farge til en mer grønn fargetone. Klikk OK.

Med gress lag valgt, klikk på Oversvømmelse knapp. Terrenget er nå dekket i gress tekstur og ligner på følgende:  

Du kan nå male noe skitt inn i scenen rundt omkretsen av gaten. Velg skitt tekstur og modifisere Farge til en brun en. Klikk OK. Nå bruker du Perspektiv visningsport, zoome inn på din 3D-scene og med din venstre museknapp, klikk for å legge til smuss tekstur.

Endre Radius og hardhet for å redusere tidspunktet for påføring av tekstur. Når du er ferdig, vil du ha et 3D-nivå som ligner på følgende:

Terrenghøyde

Du kan også endre terrenghøyden din ved hjelp av endre terreng verktøy.

De endre Terrengverktøy-settet har følgende alternativer:

  • flat: Flatt terrenget til den angitte høydeinnstillingen
  • Glatt: Sug terrenget ned til en jevnere overflate
  • Rise / Lower: Løft eller senk terrenget basert på børstestørrelsesinnstillinger
  • Velg høyde: Finn og sett høyder basert på eksisterende terreng geometri
  • Utenfor Radius: Angi hvor stor børsten din er når du maler
  • Inne Radius: Angi hvordan rund eller flatt børsten er i forhold til innvendig radiusinnstilling
  • hardhet: Forbedre eller herd inn de ytre børsteinnstillingene 
  • Høyde: Sett børstens høyde 
  • Scale: Støynivået av støyeffekten; høyere verdier gir mer støy
  • Frekvens: Hvor ofte brukes effekten 

La oss bruke de nevnte alternativene til å lage noen fjell inne i 3D-nivået ditt. Velg Stige / Nedre knapp. Legg merke til at musemarkøren din inne i Perspektiv Viewport har endret seg.

I Perspektiv Viewport, navigere mot ytre omkretsen av terrengkartet og venstre klikk å male på terrenget. Bygg noen hills i forskjellige størrelser og former. Til slutt skal scenen din nå se slik ut: 

Hvis du vil, kan du leke med terrengegenskapene, nemlig flat, Glatt,og Velg høyde alternativer. Når du er fornøyd med terrenggeneratoren, lagre nivået ditt (Kontroll-S).

Lighting

Nå som du nesten har avsluttet 3D-scenen, er det på tide å legge til litt belysning. I Lumberyard kan du legge til tre typer belysning:

  • Miljøprober
  • Tid på dagen
  • Grunnleggende lys

Før du legger inn enkle lysobjekter i scenen, er det alltid godt å starte med standard global miljøsensor. Miljøprober er gode for å oppnå global omgivelsesbelysning fordi de bidrar til refleksjoner, diffuse materialer, partikler og skyggefarger.

Når du bygger et nivå, anbefales det at du plasserer flere miljøsondgrupper for å oppnå høy kvalitet og realistiske scener.

Miljøprober

For å opprette miljøproben, velg EnvironmentProbe i RollUpBar under Diverse alternativ. Flytt musepekeren til visningsporten og plasser miljøsonden hvor du vil.

Du vil normalt sette sonden i midten av nivået og deretter konfigurere dens BoxSize å fylle det ønskede området.

Under EnvironmentProbe Properties seksjonen, du vil endre BoxSizeX, BoxSizeY, og BoxSizeZ til 512, 512 og 250 tilsvarende. Hvis du zoomer ut av scenen, bør du ha en gul boks som dekker scenen.

Vær oppmerksom på at disse verdiene kanskje ikke gir det samme resultatet i scenen din. Dermed bør du justere dem for å gjenskape ønsket effekt.

På dette punktet har scenen egentlig ikke endret seg når det gjelder belysning fordi lysproben er slått av som standard.

For å aktivere sonden, merk av i boksen i Aktiv alternativer under EnvironmentProbe Properties og såKlikk på Generer Cubemap knappen under Probe Funksjoner.

Du bør legge merke til at skyggene blir mykere.

Du kan videre tilpasse miljøsonden ved å endre diffuse og DiffuseMultiplier verdi. Den tidligere representerer sondens farge, mens sistnevnte representerer intensitetsmultiplikatoren mellom fargen og egenskapene til scenematerialet.

Tid på dagen

Du kan styre tidspunktet på dagen (TOD), og du kan til og med animere scenen din, ta hensyn til sanntidens variasjonsverdier. For å sette TOD må du åpne TOD redaktør. Igjen kan du åpne den ved hjelp av Vis> Åpne visningspanel> Tid på dagen eller snarveien tilgjengelig i redaktører verktøylinje.

De TOD redaktør har syv hovedområder:

  1. Redigeringsverktøylinje har ikoner for import, lagring og innstilling av bestemte timer på dagen.
  2. HDR-innstillinger for å justere HDR-belysningen.
  3. oppgaver å konfigurere grunnleggende funksjoner i redaktøren.
  4. Tid definerer nåværende tid for nivået. Dette inkluderer også start- og sluttid hvis du vil animere belysningen. 
  5. Oppdater oppgaver lar deg spille eller stoppe animasjonene.
  6. Tidslinje redaktør gir deg kontroll over lysinnstillingene i løpet av en 24-timers periode.
  7. parametere gir deg flere muligheter til å konfigurere belysningsegenskapene.

La oss importere en forhåndsdefinert TOD.xml-fil. Klikk Importer fil og naviger til SamplesProject \ Levels \ GettingStartedFiles, Velg Tid på dagen fil, og klikk Åpen. Belysningsinnstillingene endres automatisk. 

Du kan videre tilpasse TOD-egenskapene etter behov. Spill med Solfarge, Solfargemultiplikator, og Solintensitet å se forskjellene.

Endre TOD til 9:00 PM før du fortsetter. Lukk TOD redaktør.

Grunnleggende lys

Din scene er nå mørkere. Det er nå på tide å legge til grunnlys. I RollupBar, på objekter fanen, velg Entity knapp. Under overskriften Nettleser, utvide mappen Lights og velg Lys gjenstand. Dra den inn i scenen din og plasser den i nærheten av en av streetlampobjektene.

Merk at hvis du støter på et problem som justerer lyset, anbefales det å slå på Snap to Grid alternativ.

Fordi lyskilden er en streetlamp, bør den være et spotlys (heller enn et fylllys). For å endre lyset fra fylle til punkt: Under overskriften Entity Properties, finn tittelen projektor. Å velge Tekstur, og klikk deretter på mappeikon.

Åpne nå katalogen \ SamplesProject \ teksturer \ lys \ generiske og åpne spot_075.dds fil. 

Lyset endres til en spotlight, men den er orientert sidelengs. Bruke rotere verktøy for å velge og rotere lyset slik at det peker nedover.

Under overskriften Entity Properties, Du kan endre en rekke innstillinger for å tilpasse lyset.

  • AttenuationBulbSize er lyspæren størrelse; Dette er utgangspunktet for hvor lyset begynner å falle eksponentielt. En verdi på 1 setter lyset på full intensitet i en meter før den begynner å falle av. Juster denne størrelsen i forhold til diffus multiplikator for å styre lyskilden til lyskilden uten å angi uhåndterbare tall.
  • Radius er avstanden fra kilden hvor lyset påvirker omgivelsene.
  • diffuse representerer lysets RGB-fargeverdi.
  • DiffuseMultiplier er intensiteten til den diffuse fargen; balansere denne verdien med AttenuationBulbSize å definere balansen i naturlige lysnivåer.
  • ProjectorFov representerer synsfeltet for projeksjonslyset.
  • CastShadows gjør lyset kastet en skygge basert på de minste utvalgte konfigurasjonsspesifikasjonene. For å sikre at skygger alltid kastes, sett dette til 'Low Spec'. Legg merke til at CastShadows Innstillingen er ikke en "kvalitet" innstilling, men snarere en innstilling for ytelsespesifikasjon for typen maskin som kjører nivået.

For denne opplæringen, bruk følgende innstillinger:

  • AttenuationBulbSize = 6
  • Radius = 20
  • diffuse Farge = 228, 224.102
  • DiffuseMultiplier = 20
  • ProjectorFov = 80
  • CastShadows = Lav Spec 

Eksperimenter med disse innstillingene for å få en følelse av hvordan forskjellene mellom pærestørrelse, radius og diffus multiplikatorendring endres ut fra de inngangsverdiene du bruker.

Kjør spillet (Kontroll-G) og se hvordan karakteren din oppfører seg når den kommer i kontakt med den nye lyskilden. For hver streetlamp, legg til et nytt lys. Du kan gjøre det ved å duplisere dagens lys eller legge til dem.

Utfordring

For å teste kunnskapen som er oppnådd så langt, er du nå utfordret til å gjenskape komme-i gang-ferdig-nivå.

For det må du leke med børster, belysning, materialer, teksturer og terreng. Kort sagt, gjenta alt du har lært så langt. Ditt siste nivå bør se ut som følgende:

Konklusjon

Dette avslutter denne opplæringen på Lumberyard. Du lærte hvordan du konfigurerer posisjonering av kamera og spiller, og du lærte å importere eksterne ressurser og plassere flere enheter, lage prefabs og teksturer. Til slutt ble du introdusert til belysningsegenskaper.

Hvis du har spørsmål eller kommentarer, kan du som alltid gjerne slippe en linje i kommentarene.