Unity Terrain Engine Tools

Wat je gaat creëren

Unity is een multi-platform game-engine die is ontwikkeld door Unity Technologies en wordt gebruikt voor het maken van videogames en -toepassingen voor een groot aantal apparaten (pc, consoles, mobiele apparaten en zelfs websites). Unity's belangrijkste voordelen zijn de robuustheid en draagbaarheid; Unity is gericht op verschillende bekende API's zoals Direct3D, OpenGL, OpenGL ES en de recente Vulkan.

Vanwege de bovengenoemde kenmerken is Unity steeds populairder geworden bij ontwikkelaars van AAA-software en aspirant-game-programmeurs.

Unity ondersteunt verschillende technologieën en componenten. Een van de belangrijkste componenten is het terrein-motorsysteem. Met het terreinsysteem van Unity kunt u grote landschappen creëren voor uw games of applicaties. U kunt een selectie van beschikbare hulpmiddelen gebruiken om terreinen eenvoudig en snel te creëren.

Deze tutorial zal zich toeleggen op het uitleggen van de manier waarop terreineigentools werken en hoe deze te gebruiken om uitgestrekte en rijke terreinomgevingen te creëren.

voorwaarden

Zorg er eerst voor dat je de nieuwste versie van Unity hebt. In deze tutorial gebruiken we de versie 5.6. Zorg ervoor dat u de nieuwste Unity-versie gebruikt; anders kunt u kleine verschillen vinden na de zelfstudie en het gebruik van de natuurkundige gewrichten.

Voor deze zelfstudie gebruikt u geen startbestand. Het doel is om een ​​nieuw project te maken en de tutorial vanaf daar uit te voeren.

The Terrain Tools

De eerste stap is om een ​​nieuw Unity-project te maken. Voeg nu een nieuwe scène toe (Bestand> Nieuwe scène). De nieuwe scène is gemaakt met twee game-objecten, de Hoofdcamera en een Directional Light (Unity 5 voegt automatisch een skybox toe aan de scène).

Om nu een terreingame-object toe te voegen, gaat u naar de GameObject menu en selecteer 3D-object> Terrein. Hiermee wordt een vlak vlak (genaamd Terrein) in je scène. Dit vlak is het gaas dat we gaan vormgeven om je vlakke terrein te creëren.

Als je je controleert Middelen map (onderste deel van Unity), zul je zien dat Nieuw terrein bestand is gemaakt.

Selecteer het terrein en kijk naar de Inspecteur tab. Je zult zien dat het terrein drie componenten heeft: Transformeren, de Terrein script en de Terrain Collider bestanddeel.

De terreincomponent biedt u de hulpmiddelen die u nodig hebt om uw terrein te bewerken. Alle hulpmiddelen op de werkbalk, met uitzondering van het hulpmiddel voor het plaatsen van bomen en het paneel met instellingen, bieden een reeks "penselen" en instellingen voor penseelgrootte en dekking, net als tekengereedschappen van een normale afbeeldingseditor. Hiermee kunt u uw terrein op dezelfde manier vormgeven als een tekengereedschap.

Als u een penseel selecteert onder de Terrein component en muis over het terrein, ziet u een blauw gebied dat op het terrein wordt geprojecteerd. Hiermee kunt u het gebied van het terrein kennen dat uw penseel zal beïnvloeden.

Zoals je misschien al hebt gerealiseerd, is het Terrein is vrij groot. Navigeren door de Tafereel, je kunt de muis en het toetsenbord gebruiken. Binnen in de Tafereel tab, houd uw ingedrukt Rechter muis knop (de cursor zou in een oog moeten veranderen).

Terwijl u de muisknop ingedrukt houdt:

  • U kunt de hoek van uw weergave wijzigen door de muis te verplaatsen.
  • Gebruik de W, S, A, D toetsen om door de 3D-scène te bewegen.

Voordat je begint met het verkennen van de terreinhulpmiddelen, laten we eens kijken naar de Terrein eigenschappen. De laatste knop op het Terrain-onderdeel (binnen de Inspecteur) toont u de basisparameters van het terrein.

De eigenschappen zijn onderverdeeld in secties:

  • Basis terrein
  • Tree & Detail Objects
  • Windinstellingen voor gras
  • Resolutie
  • heightmap

In het eerste gedeelte Basis terrein, je zult verschillende eigenschappen en parameters vinden.

De Trek optie schakelt de weergave van het terrein in of uit. De Pixelfout vertegenwoordigt de nauwkeurigheidswaarde van de toewijzing tussen de terreinkaarten (bijvoorbeeld texturen, heightmaps en gegenereerd terrein). Hogere waarden vertegenwoordigen een lagere nauwkeurigheid en lagere waarden leiden tot overheadkosten. Het is uw verantwoordelijkheid om deze waarde in evenwicht te brengen om een ​​mooie, rijke omgeving te creëren.

De Basiskaart dist. is de maximale afstand waarop terreintexturen met volledige resolutie worden weergegeven. U kunt schaduwen in- of uitschakelen door te selecteren Cast Shadows.

Vervolgens hebben we Materiaal. Hier stel je het materiaal in dat zal worden gebruikt om het terrein weer te geven. Dit heeft invloed op hoe de kleurkanalen van een terreinextuur worden geïnterpreteerd. U kunt selecteren:

  • Ingebouwde standaard staat voor het fysiek-gebaseerde renderingmateriaal dat werd geïntroduceerd in Unity 5. Als u deze optie selecteert, kunt u voor elke splat-laag één textuur gebruiken voor albedo en gladheid, één textuur voor normale en één scalaire waarde om de metaalheid te tweaken. Houd er rekening mee dat als "Gladheid overschrijven"is aangevinkt, in plaats van te lezen van texture maps, zal de zachtheid van het gehele terrein alleen worden gecontroleerd door de Gladheid waarde.
  • Ingebouwde legacy diffuus vertegenwoordigt het verouderde ingebouwde terreinmateriaal van eerdere Unity-releases (Unity 4 en omgekeerd). Het maakt gebruik van een Lambert-verlichtingsmodel en heeft optionele normale kaartondersteuning.
  • Ingebouwde legacy-spiegels maakt gebruik van het Blinn-Phong-verlichtingsmodel (raadpleeg de vorige Unity 5-bliksemhandleiding) en heeft optionele normale kaartondersteuning. Met deze optie kunt u ook de algemene spiegelkleur en glans voor het terrein opgeven.
  • gewoonte optie gebruikt een aangepast materiaal van uw keuze om het terrein weer te geven. Dit materiaal moet een arcering zijn die is georiënteerd voor terreinrendering. Dit is een optie die ik alleen aan geavanceerde gebruikers aanbeveel. Als je het echter eens wilt proberen, kijk dan eens naar de broncode van enkele van de ingebouwde terrasschurven en breng daar wijzigingen aan aan.

Je kunt ook instellen Reflectiesondes voor sommige materialen, maar ze zullen alleen worden gebruikt wanneer u een ingebouwd standaardmateriaal gebruikt of een aangepast materiaal dat rendering met reflectie ondersteunt. De opties voor reflectiesondes zijn:

  • Uit: Reflectiesondes zijn uitgeschakeld en alleen de skybox wordt gebruikt voor reflectie.
  • Meng probes: Reflectiesondes zijn ingeschakeld. Het mengen vindt alleen plaats tussen sondes. Standaardreflectie wordt gebruikt als er geen reflectiesondes in de buurt zijn, maar er is geen overvloeiing tussen standaardreflectie en probe.
  • Blendsondes en Skybox: Reflectiesondes zijn ingeschakeld. Blending vindt plaats tussen sondes of sondes en standaardreflectie.
  • Eenvoudig: Reflectiesondes zijn ingeschakeld, maar er vindt geen overvloeiing tussen sondes plaats wanneer er twee overlappende volumes zijn.

Ten slotte is de laatste parameter in deze sectie Dikte. Deze waarde geeft aan hoeveel het terreinbotsvolume zich langs de negatieve Y-as moet uitstrekken. Objecten worden beschouwd als botsende met het terrein vanaf het oppervlak tot een diepte gelijk aan de dikte. Dit helpt te voorkomen dat bewegende objecten met hoge snelheid het terrein binnendringen zonder dure continue botsingsdetectie te gebruiken.

Het volgende gedeelte met instellingen is Tree & Detail Objects.

De eerste optie is Trek. Hier kunt u de trekking van de details in- of uitschakelen. Kort gezegd, het vertelt de motor of je bomen en gras wilt laten trekken of niet. Vervolgens heb je Bak lichtsondes voor bomen. Als u deze optie inschakelt, maakt Unity lichtsondes op de positie van elke boom. De sondes worden dan toegepast op de weergave van de bomen. Als u deze optie uitschakelt, worden bomen nog steeds beïnvloed door lichtgroepsondes. Houd er rekening mee dat deze optie alleen beschikbaar is voor bomen met lichtsondes ingeschakeld op hun prefab.

De Detail afstand is de afstand tot de camera waarboven gegevens worden verwijderd. Detaildichtheid vertegenwoordigthet aantal detailobjecten in een bepaalde oppervlakte-eenheid. Boom afstand staat voor de afstand tot de camera waarboven bomen worden geruimd. De Billboard Start is de afstand tot de camera waarbij 3D-boomobjecten worden vervangen door billboardafbeeldingen. De Fade Length staat voor de afstand waarover bomen zullen overschakelen tussen 3D-objecten en billboards. eindelijk, de Max Mesh Trees is het maximale aantal zichtbare bomen dat wordt weergegeven als effen 3D-netten.

Verderop zie je de Windinstellingen voor gras sectie.

Snelheid bepaalt de snelheid van de wind terwijl deze gras blaast. De Grootte staat voor de rimpelgrootte op grasvelden. verbuiging laat je definiërende mate waarin grasobjecten worden gebogen door de wind. Grastint laat u de algehele kleurtint selecteren die op grasobjecten wordt toegepast.

Binnen in de Resolutie sectie vindt u verschillende resolutie-eigenschappen, namelijk de Terrain Width, Lengte, en Hoogte. Alle drie zijn zeer expliciet van hun betekenis. De Heightmap Resolution is de pixelresolutie van de hoogtekaart van het terrein. Het moet een macht van 2 plus 1 zijn, bijvoorbeeld 513, waarbij 512 een macht van 2 is en u 1 toevoegt.

Detail resolutie laat je de resolutie van de kaart bepalen. Hogere resoluties geven u kleinere en meer gedetailleerde grasplekken. De Detailresolutie per patch bepaalt de lengte en breedte van het aantal gepleisterde vlakken in een enkele tekenoproep. De Beheers de textuurresolutie is de resolutie van de splat-kaart die het overvloeien van de verschillende terreintexturen regelt. eindelijk, de Base Texture Resolution stelt de resolutie in van de composietstructuur die op het terrein wordt gebruikt wanneer deze wordt bekeken vanaf een afstand die superieur is aan de basiskaartafstand.

Het laatste deel is heightmap. Hier kunt u een raw-bestand van de heightmap importeren of uw huidige terrein exporteren naar een raw-bestand met een heightmap. Dit kan erg handig zijn als u externe software van derden wilt gebruiken om te communiceren met uw applicatie of game.

Hoogte gereedschappen

Voordat u doorgaat naar de hoogte-instrumenten, onthoud dat u eerst de resolutie-instellingen moet instellen. Anders, als je ze later probeert te veranderen, zal het beeldhouwen van het terrein verloren gaan.

De eerste drie gereedschappen op de Terreininspecteur werkbalk zijn de hoogte-instrumenten. Deze gereedschappen worden gebruikt om hoogteverschillen op het terrein te schilderen.

Ze bieden een reeks "penselen" met instellingen voor Penseelgrootte en ondoorzichtigheid; deze hulpmiddelen lijken erg op tekengereedschappen van elke afbeeldingseditor. Hiermee kunt u details op het terrein schilderen, alsof u een afbeelding schildert.

Als u uw cursor naar de Tafereel tab, ziet u een blauw gebied dat op het terrein wordt geprojecteerd. Hiermee kunt u het gebied van het terrein kennen dat uw penseel zal beïnvloeden.

Het eerste hulpmiddel is Verhoog / Verlaag de hoogte. Wanneer je met dit gereedschap schildert, wordt de hoogte van het terrein vergroot terwijl je er met de muis overheen beweegt. Als u de muis in een bepaald gebied houdt, zal de hoogte zich ophopen. Een dergelijk effect kan worden gevisualiseerd in de volgende afbeelding.

Houd de knop ingedrukt om het terrein te laten zakken Verschuiving toets tijdens het schilderen met de tool, en dit zal de hoogte van uw terrein verlagen.

Het tweede hulpmiddel op de terreineditor is Verfhoogte. Dit hulpmiddel wordt gebruikt om een ​​specifieke hoogte in te stellen voor een gebied op het terrein.

Het werkt op een vergelijkbare manier als het Verhogen / verlagen tool, maar het heeft een extra eigenschap om het doel in te stellen Hoogte. U kunt het gewenste selecteren Hoogte door de waarde van de te wijzigen Hoogte parameter. De vlakken De knop naast de eigenschap height zal het hele terrein gelijkstellen aan het gekozen terrein Hoogte.

Eindelijk, de derde tool is Gladde hoogte. Deze tool zal de hoogte van het terrein niet drastisch verhogen of verlagen; in plaats daarvan verzacht het het landschap en vermindert het de indruk van abrupte veranderingen. Deze tool is vooral handig als u details hebt geverfd met een van de luidruchtigere penselen, omdat deze penselen de neiging hebben scherpe, grillige rotsen in het landschap te creëren, en u kunt deze tool gebruiken om ze zachter te maken.

Het is nu tijd om wat tijd te nemen en je eigen gebeeldhouwde terrein te creëren. Probeer de eerder genoemde drie gereedschappen te gebruiken om een ​​mooi bergterrein te creëren.

Paint Texture Tool

Met het gebeeldhouwde terrein is het nu tijd om het te structureren.

Voordat u verder gaat, moet u de omgevingsactiva importeren die beschikbaar zijn met Unity 5. Hiertoe selecteert u Activa> Pakket importeren, en selecteer Milieu. Klik Importeren om alle milieuactiva te importeren.

Met Unity kun je je terrein beschilderen met texturen. Je kunt je terrein schilderen met verschillende texturen in verschillende gebieden. U kunt bijvoorbeeld een textuur voor steen hebben, een andere voor zand en een andere voor gras. De texturen kunnen met verschillende transparantie worden toegepast, wat betekent dat u vloeiende overgangen tussen twee texturen kunt hebben. Om de beste resultaten te bereiken, moet u uw terrein schilderen met naadloze texturen.

Zoals je misschien hebt gemerkt op de Inspecteur tab, de Verf textuur tool heeft verschillende penselen, en laat je de veranderen Penseelgrootte, de ondoorzichtigheid, en de Doelsterkte.

De eerste keer dat u de verf gebruikt Texture Tool, er zullen geen texturen zijn om uit te kiezen. Het eerste dat u hoeft te doen, is een nieuwe textuur aan uw pallet toevoegen. Om dit te doen, klik op de Bewerk texturen knop en selecteer Textuur toevoegen. Een nieuw venster verschijnt.

Zoals u kunt zien, kunt u in dit venster kiezen de textuur die je wilt gebruiken en de normale kaart, als je die hebt. Klik op het vierkant onder de textuur en selecteer je textuur. Er verschijnt een venster waarin u de structuur kunt selecteren. Selecteer de SandAlbedo textuur en klik Toevoegen.

Je terrein zou nu een zandlook moeten hebben. Merk op dat je het altijd kunt wijzigen in de optie Textuur bewerken of verwijderen. 

De eerste textuur die u maakt, moet altijd de basisstructuur voor het terrein zijn. De volledige lijst met texturen die in dit voorbeeld wordt gebruikt, is:

  1. SandAlbedo
  2. GrassHillAlbedo
  3. GrassRockAlbedo
  4. MudRockyAlbedo
  5. CliffAlbedo

Allemaal maken ze deel uit van de geïmporteerde milieu-elementen en zijn ze op dezelfde manier te vinden als de SandAbedo textuur. Ga je gang en importeer ze allemaal.

Wanneer u alle texturen hebt geïmporteerd, is het nu tijd om uw terrein te structureren zoals u dat wilt. Selecteer een textuur en schilder de gewenste omgeving. Een voorbeeld van een getextureerde kaart is de volgende.

Als u tevreden bent met het resultaat, gaat u verder met het volgende gedeelte.

Paint Tree Tool

Nu je je terrein hebt geverfd, is het tijd om er bomen aan toe te voegen. Met Unity 3D kun je bomen op je terrein zetten op dezelfde manier als je de texturen schilderde. Door gebruik te maken van billboard-instellingen voor verre bomen, behoudt Unity een goede weergaveprestatie, waardoor u dichte bossen met duizenden bomen kunt hebben.

Om bomen te schilderen, selecteert u uw Terrein van de Hiërarchie tab en op de Inspecteur tab, selecteer de vijfde knop.

Net als bij texturen, moet je ook de bomen toevoegen. Klik op Bewerk de bomen> voeg structuur toe.

Unity zal u vragen om de prefab van de boom die u wilt gebruiken. Klik op de kleine cirkel en een ander venster verschijnt. Deze keer laat het je alle prefabs zien die je in je project hebt.

Selecteer de Broadleaf_desktop boom prefab en klik Toevoegen. Hiermee wordt het prefab-venster gesloten en wordt de geselecteerde boom aan het project toegevoegd.

U kunt nu de palmboom selecteren om deze op uw terrein te schilderen.

Onder de instellingen, je zult verschillende parameters vinden die je kunt aanpassen terwijl je bomen in je scène plaatst. Penseelgrootte bepaalt het gebied dat u gaat schilderen, terwijl Boomdichtheid definieert het aantal bomen dat u in het geverfde gebied zult hebben. Hoge waarden betekenen meer bomen. Boomhoogte kunt u bepalen hoe de hoogte verandert. U kunt het willekeurig instellen en een interval van waarden gebruiken, of u kunt een specifieke waarde instellen. Jij kan Vergrendel breedte tot hoogte van de bomen, om ze dezelfde beeldverhouding te laten hebben. U kunt de boomrotatie-oriëntatie ook willekeurig maken met behulp van de Willekeurige boomrotatie keuze. Ook kan de boomrotatie willekeurig worden ingesteld.

Binnen in de Verlichting sectie kunt u instellen hoe de lichtmappen voor uw bomen worden gegenereerd.

Om de bomen op het terrein te beschilderen, beweeg je de muis naar je scènemeniveau. Het blauwe gebied vertegenwoordigt de borstel. Als een boomtype is geselecteerd, drukt u op linker muis knop op het terrein en begin met het maken van bomen.

Als u bomen uit een bepaald gebied wilt wissen, houdt u ingedrukt Verschuiving en gebruik de linkermuisknop. Hiermee worden alle bomen in het penseelgebied leeggemaakt. Als u alleen een bepaald type boom wilt wissen, houdt u ingedrukt Controle in plaats van Shift. Hiermee wordt alleen het geselecteerde boomtype gewist.

U kunt een type boom altijd wijzigen of verwijderen door het te selecteren en op de bewerkboom te klikken. Om een ​​boom te wijzigen, klikt u op bewerken en om deze te verwijderen, klikt u op verwijderen.

Tot slot merk je dat in de Terrain Collider component, je hebt een veld met de naam Schakel Colliders van bomen in. Door deze optie te selecteren, schakel je botsingen tussen andere game-objecten en de bomen in.

Als u de bomen niet handmatig wilt schilderen, kunt u de Massa plaats bomen knop. Als u daar klikt, verschijnt er een nieuw venster. Unity zal je dan vragen om een ​​aantal bomen te maken. Stel de Aantal bomen en klik op Plaats. Eenheid zal dan willekeurig de bomen in uw terrein plaatsen.

De volgende stap is creatief zijn en je terrein bevolken met bomen. Om verschillende bomen te maken, kunt u ook nieuwe bomen toevoegen zoals de Palm_Desktop, Broadleaf_Mobile en Conifer_Desktop. Gebruik daarvoor de optie Bewerk bomen onder de bomen menu (binnen Inspecteur).

Je kunt iets maken als de volgende afbeelding (of iets heel anders).

Wanneer u klaar bent, kunt u doorgaan naar de volgende stap.

Paint Details Tool

Eenheid laat de terreinen grasvelden en andere kleine objecten, zoals rotsen, hebben die het oppervlak bedekken. Het gras wordt weergegeven met behulp van 2D-afbeeldingen, terwijl andere objecten meestal standaardmazen zijn.

Als u details aan het terrein wilt toevoegen, selecteert u uw terreinobject uit de hiërarchie. Binnen in de Inspecteur tab, klik op de zesde knop, die met de bloemen.

Zoals je kunt zien, heb je nu een vergelijkbare interface als de Hoogte gereedschappen. Hier heb je ook een set penselen waaruit je kunt kiezen om een ​​lijst met details te schilderen.

Aangezien u geen objectdetails hebt geselecteerd, laten we ze toevoegen door op te klikken Bewerk details> Grastextuur toevoegen.

Hierdoor wordt een venster geopend waarin u verschillende eigenschappen voor uw gras kunt instellen. Detail textuur laat je de textuur definiëren die je voor je gras zult gebruiken. U kunt ook verschillende eigenschappen zoals definiëren Maximale wijdte, Min. Breedte, Maximale hoogteMin hoogte, ruisspreiding, Gezonde kleur, Droge kleur, en Aanplakbord. Al deze eigenschappen bepalen hoe uw gras eruit zal zien.

Voor deze zelfstudie kunt u de standaardopties behouden of deze naar wens wijzigen.

Klik op de cirkel voor de Detail textuur veld. Dit opent een nieuw venster. Zoeken naar de GrassFrond01AlbedoAlpha, selecteer het en klik op Toevoegen.

Net als voor de bomen, kunt u verschillende borstels gebruiken om het gras te schilderen. U kunt anders instellen Borstelmaten en verander de borstel ondoorzichtigheid en de Doelsterkte.

Het is nu tijd om creatief te zijn en gras op het terrein te schilderen.

Als je een gaas wilt toevoegen aan verfdetails op je terrein, bijvoorbeeld rotsen, moet je dezelfde procedure herhalen als bij het importeren van het gras. Echter, deze keer wanneer u klikt op Details bewerken, Kiezen Detail Mesh toevoegen. Dit opent een venster waarin u verschillende parameters van het detailnetwerk kunt specificeren, zeer vergelijkbaar met degene die u gebruikte om het gras te importeren. 

Helaas bevatten de omgevingsactiva geen rots prefab, dus je zult niet in staat zijn stenen direct te schilderen. U kunt echter naar enkele rotsen zoeken in de Unity Asset Store, omdat het een geweldige plek is om gratis activa te vinden.

Conclusie

Dit concludeert de tutorial over Unity Terrain Tools. U hebt kennisgemaakt met verschillende terreinhulpmiddelen en -configuraties. Met deze kennis kunt u nu huidige of nieuwe terreinen maken, wijzigen en verbeteren voor uw volgende geavanceerde game of applicatie.

Eenheid heeft een actieve economie. Er zijn veel andere producten die u helpen uw project uit te bouwen. De aard van het platform maakt het ook een geweldige optie van waaruit je je vaardigheden kunt verbeteren. Hoe het ook zij, u kunt alles zien wat we beschikbaar hebben in de Envato Marketplace.

Als je nog vragen of opmerkingen hebt, kun je zoals altijd een regel in het opmerkingengedeelte plaatsen.