Amazon Lumberyard de eerste 3D-scène maken

Wat je gaat creëren

In dit zelfstudiegedeelte laat ik je zien hoe je een compleet 3D-niveau kunt maken dat bestaat uit zowel interne Lumberyard-assets als geïmporteerde nieuwe.

Vervolgens leer je hoe je zowel de speler als de camera plaatst, en hoe je verschillende entiteiten gebruikt, prefabs en texturen maakt. Ten slotte maak je kennis met Lumberyard-verlichting.

Merk op dat u geadviseerd wordt om de voorgaande twee delen (deel 1, deel 2) te lezen om de notaties uit dit deel volledig te begrijpen.

Voor wie is deze tutorialserie bedoeld?? 

Deze tutorialserie is voornamelijk gericht op twee groepen game-ontwikkelaars:

  • degenen die helemaal niet bekend zijn met game engines
  • degenen die bekend zijn met andere game engines (zoals Unity, Unreal Engine of Cry Engine), maar niet met Lumberyard

Ik neem aan dat je enige kennis hebt van de notatie van computerafbeeldingen, dus ik zal niet alle notaties volledig behandelen.

Maak een nieuw 3D-niveau

Lumberyard starten en klik op Nieuw level. Gebruik de volgende gegevens in de Nieuwe niveau-interface.

  • Naam: CompleteFirstLevel
  • Map: Niveaus / (standaardwaarde)
  • Gebruik terrein: gecontroleerd!
  • Heightmap Resolution: 1024x1024
  • Meters per Texel: 1

Klik OK.

Merk op dat alle niveaus standaard worden opgeslagen op: YourLumbaryardInstallationpath \ dev \ SamplesProject \ Levels.

Gebruik voor de terrastructuur:

  • Resolutie: 4096x4096
  • Terrain Color Multiplier: 3
  • Van hoge kwaliteit: gecontroleerd!

Klik OK.

Camera positionering

Om je niveau te kunnen spelen, moet je een gamecamera maken en plaatsen. Vervolgens moet u het aanpassen om de besturing van het teken in te schakelen en een beginpunt op te geven. Gelukkig biedt Lumberyard een prefab-object met een gameplay-camera met ondersteunende invoerbedieningen.

De camera is te vinden in de Database-editor, onder Beeld> Deelvenster openen.

Je kunt ook de Database-editorr in de Werkbalk Bewerkingsmodus.

De databaseweergave tabbladen (rode rechthoek) bieden toegang en configuratie voor verschillende databasetypen. De editor werkbalk (groene rechthoek) geeft u toegang tot hulpmiddelen zoals Open, Bewaar, voeg toe of verwijder items uit de database. eindelijk, de FileTree View (blauwe rechthoek) geeft u toegang tot de beschikbare database-items.

In de Databaseoverzicht, open de Prefabs-bibliotheek en klik Laad bibliotheek.

Selecteer uit de prefabs-directorylijst character_controllers.xml en klik OK.


Van de Prefab bibliotheek bestandsstructuur bekijken, slepen Sphere_Controller in de Perspectief Viewport

Nu moet je een robot op je niveau laten liggen om te wachten op testen. Merk op dat de locatie waar u het plaatst ook het startpunt van het niveau bepaalt. Sla je niveaubestand op (Bestand> Opslaan).

als jij Klik op de Gizmo, je kunt de volledige prefab-eigenschappen zien. Als je de. Niet kunt zien Gizmo, dan moet je dat doen Klik op de H pictogram in de Perspectivewerkbalk.

Houd er rekening mee dat u standaard geen prefab-entiteitseigenschappen kunt wijzigen. Als u echter de Gizmo, en klik vervolgens op Maak alles open onder de Rollup Bar > Prefab-parameters, je hebt nu toegang tot elke prefab-entiteit en de bijbehorende eigenschappen.

Klik op de Camera Controller Rig entiteit om zijn te inspecteren Camera Params.

Het is nu tijd om je nieuwe gamecamera te testen. Klik op Spel> Overschakelen naar spel of druk op Controle-G.

Voeg een camera toe

Er zijn verschillende scenario's waarin u aangepaste camera's of zelfs statische camera's wilt hebben. Daarvoor biedt Lumberyard u toegang tot de camera-entiteit. Er zijn twee belangrijke manieren om een ​​aangepaste camera toe te voegen:

  1. de ... gebruiken RollupBar
  2. gebruik van de stroom Perspectief viewport configuratie

De eerstgenoemde gebruikt de entiteit Camera Verkrijgbaar bij Objecten> Diversen> Objecttype> Camera. U hoeft alleen maar de entiteit Camera te selecteren en deze vervolgens in uw Perspectief viewport.

De laatste gebruikt uw huidige weergavepositie, zodat de nieuwe camera ook dezelfde configuratie gebruikt. Plaats Perspectief viewport in de gewenste positionering (bijvoorbeeld kijken naar de robot). Klik met de rechtermuisknop in de linkerbovenhoek van de perspectief toolbar, en klik Maak een camera vanuit de huidige weergave. De huidige weergave van uw Perspective viewport is nu een vaste camera vanuit die positie. 

Navigeer nu weg en merk de nieuwe camera-entiteit op zoek naar jouw laatste Perspectief Viewport configuratie.

Voorwerpen

Een manier om objecten te plaatsen is met behulp van penselen (RollUp-balk> Objecten> Penseel). Penselen zijn normaal gesproken statische objecten die in de 3D-scène zijn geplaatst. Ze zijn goedkoop te renderen omdat ze geen extra eigenschappen van een entiteit of fysica-eigenschappen bevatten.

Selecteer in de Rollup-balk aan de rechterkant Borstel in de Voorwerpen tab. Onder de browser rubriek, open Objecten> StyleTown> Natuurlijk> Terrain en selecteer het object townbloc. Sleep het naar de Perspectief viewport.

Open in de penseellijst StyleTown> Architectuur> Gebouwen. Sleept de b13_h02 bouwen in de Perspectief viewport en plaats het in de buurt van een hoek van de townbloc.

Nu weet je hoe je penselen in je level moet plaatsen.

Externe objecten importeren

Om externe objecten te importeren, raadt Lumberyard u aan om het FBX-bestandsformaat te gebruiken. De huidige importeur is nog steeds in de preview-release en sommige functies zoals materialen ontbreken.

De Lumberyard FBX Importer-tool bevat een scènegrafiek, een op bomen gebaseerde gegevenslaag tussen uw .FBX model en Lumberyard. Elke keer dat u een verwerkt .FBX een nieuw .scenesettings bestand met dezelfde naam wordt aangemaakt; dit nieuwe bestand slaat de metadata van het actief op.

Als u de mesh-eigenschappen van het model wijzigt, hoeft u het. Niet opnieuw te importeren .FBX het dossier. Lumberyard Asset Processor luistert en detecteert eventuele wijzigingen in de .scenesettings bestand en gebruikt de Resource Compiler om het opnieuw te verwerken .FBX het dossier.

Laten we doorgaan en een extern FBX-bestand downloaden. Pak het gecomprimeerde bestand dat u zojuist hebt gedownload uit en verplaats het Wooden_House.fbx in YourLumbaryardInstallationpath \ dev \ SamplesProject \.

Selecteer in Lumberyard Editors Beeld> Deelvenster openen> FBX-importer.

Klik het mappictogram rechtsboven in het gereedschapsvenster.

 Selecteer de Wooden_House.fbx bestand en klik Open.

Verander de Naam eigendom aan Imported_Wooden_House en klik Importeren.

Na een paar seconden ziet u het venster met succesberichten.

Een laatste stap moet worden uitgevoerd voordat u uw nieuwe activum kunt gebruiken. Onder de RollupBar> Geom-entiteit, Klik vernieuwen. Dan zou een nieuwe map moeten verschijnen. Open het en je zou het moeten hebben imported_wooden_house model beschikbaar. 

Sleep ten slotte het model naar de Perspectief viewport.

Eerste uitdaging 

Je zou nu zelf wat penselen moeten toevoegen. Je volgende taak is om een ​​3D-niveau te maken dat lijkt op het volgende:

Wanneer u klaar bent met het maken van het niveau, gaat u naar het volgende gedeelte. Merk op dat je geen 3D-wereld hoeft te creëren die precies op de vorige lijkt. Het belangrijkste idee is om verschillende penselen toe te voegen en ermee te werken (roteren, vertalen en schalen). 

prefabs

Prefabs stellen u in staat sneller inhoud te creëren met behulp van een combinatie van vooraf gedefinieerde activa. Als u eerder gemaakte Prefabs wilt gebruiken, opent u de Databaseoverzicht (Beeld> Deelvenster openen).

Onder de Prefabs-bibliotheek tab, klik op Open. Selecteer de styletown.xml en klik OK.

Open nu de RollupBar en onder prefab je zou nu het geïmporteerde moeten zien NeighborhoodBlock prefab.

Selecteer en sleep de drie items (StreetSet_ABlock_A, en StreetLight_A) in de Perspectief Viewport. Je zou zoiets als de volgende afbeelding moeten hebben.

Terrains

Met Lumberyard kun je een terrein op je niveau genereren, bewerken en structureren. Daarvoor moet je altijd drie menu's in gedachten hebben:

  1. Terrain Texture Layers
  2. Materiaal-editor
  3. Terrein editor (in RollupBar)

Om de Terrain Texture Layers te openen, kunt u het hoofdmenu gebruiken Beeld> Deelvenster Open weergave> Structuurlagen of de snelkoppeling beschikbaar in de Editor werkbalk

Open de Terrain Texture Layers.

De Terrain Texture Layers interface wordt gebruikt om de materialen te definiëren die worden gebruikt om je niveaustand te schilderen. Er zijn vier hoofdonderdelen binnen de interface:

  1. Laagtaken wordt gebruikt om het geselecteerde materiaal aan de geselecteerde laag toe te voegen, te verwijderen, te verplaatsen en toe te wijzen.
  2. Layer Info bevat informatie over de geselecteerde laag, zoals de grootte en het oppervlaktetype.
  3. Laag textuur geeft een lage resolutie textuur weer met zijn kleurinformatie.
  4. Laag lijst bevat een lijst met gemaakte lagen voor terreinschildering.

Onder de Laagtaken, voeg twee lagen toe. Noem de eerste gras en de tweede vuil.

Open de Materiaal-editor gebruik makend van Beeld> Deelvenster Openen> Materiaaleditor of de snelkoppeling beschikbaar in de Editor werkbalk.

U zult merken dat u twee vensters zult hebben (Terrain Texture Layers en Materiaal-editor) of een enkel venster met een tabscheiding links onderaan.

De Materiaal-editor is samengesteld met behulp van de volgende gebieden:

  1. Editor werkbalk voor het toepassen, verwijderen, maken en opslaan van materialen
  2. Materiaal Voorbeeld die het geselecteerde materiaal weergeeft
  3. Materiaal map map een hiërarchische mappenstructuur weergeven met materialen die kunnen worden gekozen
  4. eigenschappen met parameters die het algemene uiterlijk van het materiaal bepalen

Het is nu tijd om twee materialen aan de eerder genoemde gemaakte lagen toe te wijzen. Selecteer het materiaal voor de eerste gr_grass_01 bevindt zich in het directorypad: materialen> startmaterialen.

Verander nu de interface naar de Terrain Texture Layers en selecteer de gras laag. Klik Materiaal toewijzen. Die actie past het geselecteerde materiaal toe op de geselecteerde laag. Merk op dat de Materieel pad is overeenkomstig veranderd naar materiaal> startersmateriaal -> gr_grass_01.

Laten we nu het grondmateriaal toevoegen (gs_ground_01) in de vuil laag. Dit materiaal bevindt zich ook in dezelfde map.

  1. Selecteer de gr_ground_01 materiaal.
  2. Verander de interface naar de Terrain Texture Layers.
  3. Selecteer de vuil laag.
  4. Klik Materialen toewijzen.

U bent nu klaar om de gras- en vuiltexturen op het terrein te schilderen.

In de RollUp-balk, selecteer de Tabblad Terrein, en selecteer vervolgens de Laagschilder knop.

Er zijn verschillende aspecten waarmee u rekening moet houden bij het toepassen van uw terrastextuur: de Radius en Hardheid eigenschappen; de Kleur en Helderheid van de textuur; de textuur zelf; en het type opvulling (muisgebaseerd of Flood-gebaseerd). De eerste past de textuur toe met behulp van je muispositie, terwijl de laatste de textuur op de hele grond toepast.

Selecteer de gras textuur en wijzig de Kleur naar een meer groene tint. Klik OK.

Met de gras laag geselecteerd, klik op de Overstroming knop. Het terrein is nu bedekt met de gras textuur en lijkt op de volgende:  

Je kunt nu wat vuil in de omgeving rondom de straat schilderen. Selecteer de vuil textuur en wijzig de Kleur naar een bruine. Klik OK. Nu, met behulp van de Perspectief viewport, inzoomen op je 3D-scène en met je linkermuisknop, klik om de vuiltextuur toe te voegen.

Wijzig de Radius en Hardheid om de tijd van het aanbrengen van de textuur te verkorten. Wanneer u klaar bent, heeft u een 3D-niveau dat lijkt op het volgende:

Terrain hoogte

U kunt uw terreinhoogte ook wijzigen met behulp van de Wijzigen terreinhulpmiddelen.

De Wijzigen terrain tool-set biedt de volgende opties:

  • vlakken: Maak het terrein vlak tot de aangegeven hoogte-instelling
  • Glad: Verzacht het terrein tot een gladder oppervlak
  • Rise / Lower: Verhoog of verlaag het terrein op basis van penseelgrootte-instellingen
  • Kies hoogte: Zoek en bepaal hoogtes op basis van bestaande terreometrie
  • Buiten Radius: Stel in hoe groot uw penseel is bij het schilderen
  • Binnen Radius: Stel in hoe rond of plat de borstel is ten opzichte van de buitenradiusinstelling
  • Hardheid: Verzacht of verhard de instellingen van de buitenborstel 
  • Hoogte: Stel de borstelhoogte in 
  • Schaal: Sterkte van het geluidseffect; hogere waarden produceren meer ruis
  • Frequentie: Hoe vaak het effect wordt toegepast 

Laten we de eerder genoemde opties gebruiken om enkele bergen binnen je 3D-niveau te maken. Selecteer de Rise / Lower knop. Merk op dat uw muiscursor in de Perspectief Viewport is veranderd.

In de Perspectief Viewport, navigeer naar de buitenrand van de terreinkaart en links klikken om op het terrein te schilderen. Bouw enkele heuvels van verschillende grootten en vormen. Op het einde zou je scène er nu ongeveer zo uit moeten zien: 

Als je wilt, kun je spelen met de terreineigenschappen, namelijk de vlakken, Glad,en Kies hoogte opties. Als u tevreden bent met de terreingenerator, slaat u uw niveau op (Besturing S).

Verlichting

Nu je de 3D-scène bijna hebt afgesloten, is het tijd om er wat verlichting aan toe te voegen. In Lumberyard kun je drie soorten verlichting toevoegen:

  • Omgeving Probes
  • Tijdstip
  • Basic Lights

Voordat u afzonderlijke lichtobjecten in de scène plaatst, is het altijd goed om te beginnen met de standaard globale omgevingssonde. Omgeving sondes zijn geweldig om globale omgevingsverlichting te bereiken omdat ze bijdragen aan reflecties, diffuse materialen, deeltjesmaterialen en schaduwkleuren.

Bij het bouwen van een niveau, wordt u geadviseerd om meerdere omgevingssondesgroepen te plaatsen om realistische scènes van hoge kwaliteit te bereiken.

Omgeving Probes

Als u de omgevingssonde wilt maken, selecteert u de EnvironmentProbe in de RollUpBar onder de Misc keuze. Verplaats de muiscursor naar de viewport en plaats de omgevingssonde waar u maar wilt.

Normaal gesproken wilt u uw sonde in het midden van het niveau plaatsen en vervolgens de sonde configureren Doos grootte om het gewenste gebied te vullen.

Onder de EnvironmentProbe Properties sectie, wilt u de BoxSizeX, BoxSizeY, en BoxSizeZ tot 512, 512 en 250 dienovereenkomstig. Als u uitzoomt van de scène, zou u een gele doos moeten hebben die de scène behandelt.

Merk op dat deze waarden mogelijk niet hetzelfde resultaat opleveren in uw scène. U moet ze dus aanpassen om het gewenste effect opnieuw te creëren.

Op dit moment is de scène niet echt veranderd in termen van verlichting omdat de verlichting sonde standaard is uitgeschakeld.

Om de sonde te activeren, vinkt u het vakje in de Actief opties onder de EnvironmentProbe Properties en danKlik op de Cubemap genereren knop onder de Sondefuncties.

Je zou moeten opmerken dat de schaduwen zachter zijn.

U kunt de omgevingssonde verder aanpassen door de Diffuus en DiffuseMultiplier waarde. De eerste representeert de sondekleur, terwijl de laatste de intensiteitsvermenigvuldiger vertegenwoordigt tussen die kleur en de scènematerialen.

Tijdstip

U kunt het tijdstip van de dag (TOD) regelen en u kunt zelfs uw scène animeren, rekening houdend met de real-time dagvariatiewaarden. Om de TOD in te stellen, moet u de TOD-editor. Nogmaals, je kunt het openen met Weergave> Deelvenster Openen weergeven> Tijd van de dag of de snelkoppeling beschikbaar in de Editors toolbar.

De TOD-editor heeft zeven hoofdgebieden:

  1. Editor werkbalk heeft pictogrammen voor het importeren, opslaan en instellen van specifieke uren van de dag.
  2. HDR-instellingen om de HDR-verlichting aan te passen.
  3. taken om basisfunctionaliteiten van de editor te configureren.
  4. Tijd definieert de huidige tijd voor het niveau. Dit omvat ook de begin- en eindtijd als u de verlichting wilt animeren. 
  5. Werk taken bij kunt u de animaties spelen of stoppen.
  6. Tijdlijn editor geeft u controle over de lichtinstellingen gedurende een periode van 24 uur.
  7. parameters geeft u meer opties om de verlichtingseigenschappen te configureren.

Laten we een vooraf gedefinieerd TOD .xml-bestand importeren. Klik Importeer bestand en navigeer naar SamplesProject \ Levels \ GettingStartedFiles, kies de Tijdstip bestand en klik Open. De verlichtingsinstellingen worden automatisch gewijzigd. 

U kunt de TOD-eigenschappen verder aanpassen zoals u wilt. Speel met de Zon kleur, Zonnekleuren vermenigvuldiger, en Zonintensiteit om de verschillen te zien.

Wijzig de TOD in 09:00 alvorens verder te gaan. Sluit de TOD-editor.

Basic Lights

Je scène is nu donkerder. Het is nu tijd om basisverlichting toe te voegen. In de RollupBar, op de Voorwerpen tab, selecteer de Entiteit knop. Onder de titel browser, vouw de map uit Lichten en selecteer de Licht voorwerp. Sleep het naar je scène en plaats het in de buurt van een van de straatlantaarnobjecten.

Let op: als u een probleem tegenkomt dat het licht precies uitlijnt, wordt u geadviseerd om de Klik op raster keuze.

Omdat de lichtbron een straatlantaarn is, moet deze een spotlicht zijn (in plaats van een invullicht). Het licht van vulling naar vlek wijzigen: onder de kop Entiteit Eigenschappen, vind de titel Projector. kiezen structuur, en klik vervolgens op de mappictogram.

Open nu de map \ SamplesProject \ texturen \ verlichting \ generieke en open de spot_075.dds het dossier. 

Het licht verandert in een spot, maar het is zijwaarts gericht. Gebruik de draaien hulpmiddel om het licht te selecteren en te draaien zodat het naar beneden wijst.

Onder de kop Entiteit Eigenschappen, je kunt verschillende instellingen aanpassen om het licht aan te passen.

  • AttenuationBulbSize is de lampmaat; dit is het startpunt voor waar licht exponentieel begint af te nemen. Een waarde van 1 stelt het licht gedurende één meter op volledige intensiteit in voordat het begint af te vallen. Pas deze grootte aan in verhouding tot de diffuse multiplier om de helderheid van de lichtbron te beheren zonder onhandelbare getallen in te voeren.
  • Radius is de afstand tot de bron waarop het licht de omgeving beïnvloedt.
  • Diffuus vertegenwoordigt de RGB-kleurwaarde van het licht.
  • DiffuseMultiplier is de intensiteit van de diffuse kleur; balanceer deze waarde met de AttenuationBulbSize om de balans van natuurlijke lichtniveaus te definiëren.
  • ProjectorFov vertegenwoordigt het gezichtsveld voor het projectielicht.
  • slag- laat het licht een schaduw werpen op basis van de minimaal geselecteerde configuratiespecificaties. Om ervoor te zorgen dat schaduwen altijd worden gegoten, stelt u dit in op 'Lage specificaties'. Merk op dat de slag- instelling is geen 'kwaliteit'-instelling, maar eerder een specificatie-instelling voor het type machine dat het niveau uitvoert.

Gebruik voor deze zelfstudie de volgende instellingen:

  • AttenuationBulbSize = 6
  • Radius = 20
  • Diffuus Kleur = 228, 224,102
  • DiffuseMultiplier = 20
  • ProjectorFov = 80
  • slag- = Low Spec 

Experimenteer met deze instellingen om een ​​idee te krijgen van hoe de verschillen tussen lampgrootte, radius en diffuse vermenigvuldigingswijziging veranderen op basis van de invoerwaarden die u gebruikt.

Start het spel (Controle-G) en zie hoe uw karakter zich gedraagt ​​in contact met de nieuwe lichtbron. Voeg voor elke straatlantaarn een nieuw licht toe. U kunt het doen door het huidige licht te dupliceren of degenen toe te voegen.

Uitdaging

Om de tot nu toe opgedane kennis te testen, wordt u nu uitgedaagd om het getting-slag-voltooid-niveau.

Daarvoor moet je spelen met de penselen, verlichting, materialen, texturen en terreinen. Kortom, pas alles wat je tot nu toe hebt geleerd opnieuw toe. Je uiteindelijke niveau moet er als volgt uitzien:

Conclusie

Dit concludeert deze tutorial over Lumberyard. Je hebt geleerd hoe je de positionering van de camera en de speler hebt geconfigureerd en je hebt geleerd hoe je externe items kunt importeren en verschillende entiteiten kunt plaatsen, zoals prefabs en texturen. Ten slotte maakte u kennis met verlichtingseigenschappen.

Als u vragen of opmerkingen heeft, kunt u zoals altijd een regel in de opmerkingen plaatsen.