The final tool on the five-icon toolbarA row of buttons and basic controls at the top of the Unity Editor that allows you to interact with the Editor in various ways (e.g. scaling, translation). More info
See in Glossary is for settings. In the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary, click the gear icon to reveal the TerrainThe landscape in your scene. A Terrain GameObject adds a large flat plane to your scene and you can use the Terrain’s Inspector window to create a detailed landscape. More info
See in Glossary settings.
Basic Terrain
Property | Function | |
---|---|---|
Grouping ID | The grouping ID for the Auto connect feature. | |
Auto Connect | Check this box to automatically connect the current Terrain tile to to neighboring tiles sharing the same Grouping ID. | |
Reconnect | On rare occasions, you might lose connections between Terrain tiles if you change the Grouping ID, or disable Auto connect for one or more tiles. To recreate connections between tiles, click the Reconnect button. Reconnect only connects two adjacent tiles if they have the same Grouping ID and if both tiles have Auto Connect enabled. | |
Draw | Check this box to enable rendering of the Terrain. | |
Draw Instanced | Check this box to enable instanced rendering. | |
PixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info See in Glossary Error |
The accuracy of the mapping between Terrain maps (such as heightmaps and Textures) and generated Terrain. Higher values indicate lower accuracy, but with lower rendering overhead. | |
Base Map Dist. | The maximum distance at which Unity displays Terrain Textures at full resolution. Beyond this distance, the system uses a lower resolution composite image for efficiency. | |
Cast Shadows | Use this to define how the Terrain casts shadows onto other objects in the SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info See in Glossary. Rendering.ShadowCastingMode controls how the Terrain shadow interacts with Scene objects. |
|
Off | The Terrain does not cast shadows. | |
On | The Terrain casts shadows. | |
Two Sided | Casts two-sided shadows from either side of the Terrain. The Progressive LightmapperA tool in Unity that bakes lightmaps according to the arrangement of lights and geometry in your scene. More info See in Glossary supports two-sided shadows. Enlighten Baked and Enlighten Realtime Global IlluminationA group of techniques that model both direct and indirect lighting to provide realistic lighting results. See in Glossary do not. |
|
Shadows Only | Shadows from the Terrain are visible, but the Terrain itself is not. | |
Reflection ProbesA rendering component that captures a spherical view of its surroundings in all directions, rather like a camera. The captured image is then stored as a Cubemap that can be used by objects with reflective materials. More info See in Glossary |
Use this to set how Unity uses Reflection Probes on Terrain. This setting only has an effect when Material is set to Built In Standard, or if you use a custom Material (with Material set to Custom) that supports rendering with reflection. | |
Off | Disables Reflection Probes, and uses a skyboxA special type of Material used to represent skies. Usually six-sided. More info See in Glossary for reflection. |
|
Blend Probes | Enables Reflection Probes. Blending occurs only between probes. Uses default reflection if there are no Reflection Probes nearby, but no blending between default reflection and probe. | |
Blend Probes And Skybox | Enables Reflection probes. Blending occurs between probes, or between probes and default reflection. | |
Simple | Enables Reflection probes, but no blending occurs between probes when there are two overlapping volumes. | |
Material | Lets you specify the Material to use for rendering Terrain. | |
Create | The Create button only appears when you select a default Terrain Material. It does not appear when you select a custom Material. When you click Create, Unity creates a copy of the Material in your Project folder, which you can modify, and then automatically selects this new copy. |
Tree and Detail Objects
Property | Function |
---|---|
Draw | Check this box to draw trees, grass, and details. |
Bake Light Probes For Trees | If you check this box, Unity creates internal Light Probes at the position of each tree, and applies them to tree renderers for lighting. These probes are internal, and don’t affect other renderers in the Scene.
If you don’t check this box, trees are still affected by Light Probe GroupsA component that enables you to add Light Probes to GameObjects in your scene. More info |
Remove Light Probe Ringing | If you check this box, Unity removes visible overshooting, which often appears as ringing on GameObjects that are affected by intense lighting. This setting reduces contrast, and is dependent on Bake Light Probes for Trees. For more information, see Light Probe Groups: Ringing. |
Preserve Tree Prototype Layers | Check this box if you want your tree instances to take on the layer values of their prototype PrefabsAn asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More info See in Glossary, instead of the Terrain GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info See in Glossary’s layer values. |
Detail Distance | The distance from the cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info See in Glossary beyond which details are culled. |
Detail Density | The number of detail/grass objects in a given unit of area. Set this value lower to reduce rendering overhead. |
Tree Distance | The distance from the camera beyond which trees are culled. |
BillboardA textured 2D object that rotates so that it always faces the Camera. More info See in Glossary Start |
The distance from the camera at which Billboard images replace 3D Tree objects. |
Fade Length | The distance over which Trees transition between 3D objectsA 3D GameObject such as a cube, terrain or ragdoll. More info See in Glossary and Billboards. |
Max Mesh Trees | The maximum number of visible Trees that are represented as solid 3D meshes. Beyond this limit, Billboards replace Trees. |
Wind Settings for Grass
Property | Function |
---|---|
Speed | The speed of the wind as it blows across the grass. |
Size | The size of ripples on grassy areas as the wind blows over them. |
Bending | The degree to which the wind bends over grass objects. |
Grass Tint | The overall color tint applied to grass objects. The final color that appears is the Grass Tint multiplied by the Healthy Color and Dry Color settings of each grass object. |
Wind Settings for Grass have no connection with Wind ZoneA GameObject that adds the effect of wind to your terrain. For instance, Trees within a wind zone will bend in a realistic animated fashion and the wind itself will move in pulses to create natural patterns of movement among the tree. More info
See in Glossary components. The two are unrelated.
Mesh Resolution
Property | Function |
---|---|
Terrain Width | The size of the Terrain GameObject in its X-axis, in world units. |
Terrain Length | The size of the Terrain GameObject in its Z-axis, in world units. |
Terrain Height | The difference in Y-coordinate between the lowest possible heightmapA greyscale Texture that stores height data for an object. Each pixel stores the height difference perpendicular to the face that pixel represents. See in Glossary value and the highest one, in world units. |
Detail Resolution Per Patch | The number of cells in a single patch (mesh). This value is squared to form a grid of cells, and must be a divisor of the detail resolution. |
Detail Resolution | The number of cells available for placing details onto the Terrain tile. This value is squared to make a grid of cells. |
Holes Settings
Property | Function |
---|---|
Compress Holes Texture | If you check this box, Unity compresses the Terrain Holes Texture to the DXT1 graphics format in the Player during runtime. If you don’t check this box, Unity does not compress the Texture. |
Texture Resolutions
Property | Function |
---|---|
Heightmap Resolution | The pixel resolution of the Terrain’s heightmap. This value must be a power of two plus one, for example, 513, which is 512 + 1. |
Control Texture Resolution | The resolution of the splatmap that controls the blending of the different Terrain Textures. |
Base Texture Resolution | The resolution of the composite Texture to use on the Terrain when you view it from a distance greater than the Basemap Distance. |
Require resampling on change indicates that when you change properties under Texture Resolutions, the Editor resizes the Terrain tile’s content to the new size you specify, which can potentially affect the quality of your content.
Heightmap Import/Export buttons
The Import Raw and Export Raw buttons allow you to set or save the Terrain’s heightmap to an image file in the RAW grayscale format. You can create RAW format files in third-party terrain editing tools (such as Bryce), and you can open, edit, and save them in Photoshop. This allows for sophisticated generation and editing of terrains outside Unity.
Lighting
Property | Function |
---|---|
Contribute Global Illumination | Enable this check box to indicate to Unity that the Terrain influences Global Illumination computations. When you enable this property, Lightmapping properties appear. |
Receive Global Illumination | You can only configure this option if you’ve enabled Contribute Global Illumination above. If you don’t enable Contribute Global Illumination, the Terrain registers as non-static, and receives Global Illumination from Light ProbesLight probes store information about how light passes through space in your scene. A collection of light probes arranged within a given space can improve lighting on moving objects and static LOD scenery within that space. More info See in Glossary. |
Lightmapping
Property | Function |
---|---|
Scale in LightmapA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info See in Glossary |
Lets you specify the relative size of an object’s UVs within a lightmap. If you set this to zero, the object is not lightmapped, but still contributes lighting to other objects in the Scene. A value greater than 1.0 increases the number of pixels (the lightmap resolution) used for this GameObject, while a value less than 1.0 decreases it. |
Lightmap Parameters | Lets you adjust advanced parameters that affect the process of generating a lightmap for an object using global illumination. See Lightmap Parameters for more information about these settings. |
Rendering Layer MaskA value defining which layers to include or exclude from an operation, such as rendering, collision or your own code. More info See in Glossary |
Determines which rendering layer this Terrain lives on. When you use a scriptable render pipeline, you can specify an additional rendering-specific layer mask. This filters the renderers based on the mask the renderer has and the mask passed to the DrawRenderers command. |
Terrain Collider
Property | Function |
---|---|
Material | A reference to the Physic MaterialA physics asset for adjusting the friction and bouncing effects of colliding objects. More info See in Glossary that determines how this Terrain’s ColliderAn invisible shape that is used to handle physical collisions for an object. A collider doesn’t need to be exactly the same shape as the object’s mesh — a rough approximation is often more efficient and indistinguishable in gameplay. More info See in Glossary interacts with other Colliders in the Scene. |
Terrain Data | The TerrainData Asset that stores heightmaps, Terrain Textures, detail Meshes, and Trees. |
Enable Tree Colliders | Check this box to enable Tree Colliders. |
-
2020–01–16 Page amended
-
Updated content to reflect new UI and options
- Spaces
- Default
- Help Room
- META
- Moderators
-
- Topics
- Questions
- Users
- Badges
- Home /
- Help Room /
2
I have tried using the scale in the inspector (latest unity version) but it simply does not change the size for some reason. Is there any other way? Thanks.
2 Replies
·
Add your reply
- Sort:
7
Answer by Graphics_Dev · Mar 14, 2016 at 05:15 PM
You can’t change terrain scale with the transform component. Go to the terrain settings tab and change size there:
2
Answer by $$anonymous$$ · May 16, 2018 at 04:43 AM
I want to know how you do t$$anonymous$$s without wiping your terrain data first
Your answer
Welcome to Unity Answers
If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.
Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.
Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.
Follow this Question
Related Questions
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Предисловие
Привет, народец! Меня всё-таки попросили написать отдельную статью, как работать с Terrain и создать локацию. Предыдущие статьи Вы можете обнаружить по ссылкам:
- Как создать игру, ничего не умея. Часть первая: модели и анимации
- Как создать игру, ничего не умея. Часть вторая: сцена (уровень), квесты, интерактивные объекты
Terrain
Пойдем мы с вами по протоптанной дорожке, создадим Scene, а в ней GameObject -> 3D Object -> Terrain и выставим значения Terrain Width(Length, Height) 100-100-120. И перед нами появляется серый квадрат!
Отлично, половина работы сделана. Давайте придадим некие очертания нашему квадрату, а именно, создадим горы у краёв Terrain. Для этого переходим в Inspector и находим кисточку Paint Terrain, в ней выбираем графу Raise or Lower Terrain.
После выбираем подходящую кисть, размер(Brush size) и Opacity(силу воздействия). Я выбрал параметры 7 и 10. Начинаем водить нашей кистью по краям Terrain и получаем горы по краям, если Вы всё сделали правильно, у Вас должно получиться что-то подобное.
После я возьму другую кисть (тут уже на ваш выбор), выставлю Opacity на 3 и начну водить ей по ровным поверхностям что бы создать эффект российских ровных дорог =). Получилось вот так.
Мне кажется, я объяснил, как пользоваться кистями. Поигравшись с настройками, вы вполне сможете создать от пустыни до тропиков, всё зависит от фантазии, единственное что еще скажу, если вы ходите сделать возвышенность меньше, то просто зажмите клавишу Shift, от этого будет обратный эффект. Сейчас же не будем на этом зацикливаться и двинемся дальше.
Текстуры
После всех манипуляций у меня появился серый квадрат с непонятными выпуклостями, нужно придать ему немного жизни.И снова тут несколько вариантов:
- Нарисовать текстуры самому (если умеем)
- Купить готовые в Asset Store
- Скачать бесплатный пак стандартных асетов (это мы и сделаем)
Идём в Asset Store и вводим в поисковике standard assets, он сразу же нам выдаст необходимый пак. Скачиваем, интегрируем, радуемся =).
Снова нажимаем на кисточку в Inspector Terrain и выбираем строку Paint Textures. Ниже видим строку Edit Terrain Layers, выбираем Create Layer. В появившемся окне я нахожу текстуру травы(GraceHillAlbedo) применяю и вижу, что моя серая постройка стала зеленой.
Добавляем очередную текстуру, у меня это CliffAlbedoSpecular, её я буду использовать для разрисовки гор, негоже что бы всё было одного цвета. Выбираю кисть, размер, и текстуру гор, начинаю рисовать.
Мне кажется, стало выглядеть немного лучше. Тут вам стоит поиграть с текстурами (добавить больше одной на основание и возвышенность) и придать максимально реалистичную картину, я же не буду заострять на этом внимание, просто добавлю еще по текстуре и всё.
Получился конечно не шедевр, но у меня нет желание тратить на это больше 5 минут =). А теперь, для Зеленых, посадим несколько деревьев! Выбираем Paint Trees рядом с кистью, нажимаем Edit Trees и выбираем Add Tree. Нажимаем на кружочек в поле Tree Prefab и выбираем дерево которое нам понравилось. В паке оказалось всего три дерева, и я решил добавить их все. Поставив первое дерево, я обнаружил что оно слишком уж большое, поэтому перетаскиваем бегунок Tree Height влево до нужного нам размера и начинаем посадку деревьев.
Партия зеленых может спать спокойно! Проделываем похожую процедуру с травой. Для тех, кто не нашел, куда же добавлять текстуру травы, ищем строчку Details в ней Edit Details -> Add Grass Texture. В строке Detail Texture нажимаем на кружок и добавляем траву, у меня это GrassFrond02AlbedoAlpha. Обратите внимание на две полоски с цветом, они отображают, какой цвет будет у травы в живом и сухом виде, а когда мы добавляем траву в сцену, бегунками можно настроить сколько будет мертвой травы, а сколько живой, это покажет мир более живым. Дальше играем с бегунками Setting и выставляем значение подходящие Вам.
Наша местность всё живее и живее! Но всё еще чего-то не хватает. Точно! Нам не хватает неба, давайте добавим небо! Иду в ассет стор, в поисковике вбиваю Sky Free и первое что мне выдает это Sky5x, скачиваю и добавляю в проект. Далее нажимаем на Window -> Rendering ->Lighting Setting, находим строчку Skybox Material нажимаем на кружок и выбираем понравившееся Вам небо, я выбрал небо с облаками.
Получилось довольно неплохо для проекта, собранного на скорую руку.
Если посмотреть на игровую сторону, то мы имеем покачивающиеся деревья и траву на ветру. Не поленитесь потратить достаточно времени, на создание локации и она Вам будет приносить только удовольствие.
Заключение
Создание локации — довольно сложный и очень трудозатратное удовольствие, вам нужно сразу понимать что вы будете создавать, чтобы в дальнейшем не пришлось всё делать заново. А в данной статье я рассказал основы, как пользовать кистями для изменения Terrain. Надеюсь, вам это было полезно. А мы с вами встретимся уже в следующей статье по созданию игры, используя только интернет!
Последний инструмент на панели инструментов terrain’а предназначен для настроек:-
Инспектор настроек
Настройки предоставлены для некоторого количества общих настроек использования и освещения, описанных ниже:-
Base Terrain
Свойство: | Функция: |
---|---|
Pixel Error | Точность преобразования между картами terrain’а (карта высот, текстуры, и т.д.) и самим сгененрированным terrain’ом.; чем выше значения, тем меньше точность, но и меньше потребление ресурсов. |
Base Map Distance | Максимальное расстояние, на котором текстуры земли отображаются в полном разрешении. После этого расстояния, будет использоваться композитное изображение пониженного разрешения для эффективности. |
Cast Shadows | Отбрасывает ли тени terrain? |
Material | Материал, используемый для отрисовки terrain’а. Он должен использовать подходящий шейдер, например Nature/Terrain/Diffuse (этот шейдер используется, если материал не назначен) или Nature/Terrain/Bumped Specular. |
Physics Material | Physic Material, используемый на поверхности terrain’а для указания его сцепления и упругости. |
Tree and Detail Objects
Свойство: | Функция: |
---|---|
Draw | Должны ли отрисовываться деревья, трава и детали? |
Detail Distance | Расстояние (от камеры), после которого детали будут отсекаться. |
Detail Density | Количество объектов деталей/травы в данной условной единице площади. Можно снизить значение для снижения потребления ресурсов на рендеринг. |
Tree Distance | Расстояние (от камеры), за которым деревья будут отсекаться. |
Billboard Start | Расстояние (от камеры), начиная с которого 3D деревья начнут заменяться на спрайтовые изображения. |
Fade length | Расстояние перехода деревьев из 3D объектов в плоские спрайты. |
Max Mesh Trees | Максимальное количество видимых деревьев, которые будут представлены в качестве полноценных 3D мешей. После этого предела, деревья будут заменяться плоскими спрайтами. |
Настройки ветра
Свойство: | Функция: |
---|---|
Speed | Скорость обдувающего траву ветра. |
Size | Размер “ряби” на травянистых областях, обдуваемых ветром. |
Bending | Степень наклона объектов травы под действием ветра. |
Grass Tint | Общий оттенок цвета, применённый к объектам травы. |
Разрешение
Свойство: | Функция: |
---|---|
Terrain Width | Размер объекта tarrain’а по его оси X (в мировых единицах измерения). |
Terrain Length | Размер объекта tarrain’а по его оси Z (в мировых единицах измерения). |
Terrain Height | Разница по оси Y между значениями самой нижней и самой верхней точек карты высот (в мировых единицах измерения). |
Heightmap Resolution | Разрешение карты высот terrain’а в пикселях (должно быть степенью двойки плюс один, например, 513 = 512 + 1). |
Detail Resolution | Разрешение карты, которая определяет отдельные островки деталей/травы. Чем выше разрешение, тем меньше и более детальны будут островки. |
Detail Resolution Per Patch | Длина/ширина квадрата островков, отрисовываемого за один draw call. |
Control Texture Resolution | Разрешение карты “splatmap”, которая контролирует смешивание разных текстур terrain’а. |
Base Texture Resolution | Разрешение композитной текстуры, используемой на terrain’е когда вы смотрите на него с расстояния, большего чем значение Basemap Distance (см. выше). |
Кнопки Heightmap Import/Export
Кнопки Import Raw и Export Raw позволяют вам установить или сохранить карту высот terrain’а в файл изображения в RAW формате оттенков серого. Файлы формата RAW могут быть созданы в сторонних приложениях для генерации ландшафта (например, Bryce), а также открыты, отредактированы и сохранены в Photoshop. Это позволяет осуществить утончённую генерацию и редактирование terrain’ов вне Unity.
Unity — это мультиплатформенный игровой движок, разработанный Unity Technologies, который используется для создания видеоигр и приложений для множества устройств
(ПК, консолей, мобильных устройств и даже веб-сайтов). Основными преимуществами Unity являются его надежность и мобильность; Unity нацеливается на несколько известных API, таких, как Direct3D, OpenGL, OpenGL ES и недавний Vulkan.
Благодаря вышеупомянутым характеристикам Unity становится все более популярным среди компаний разработчиков программного обеспечения уровня AAA и начинающих программистов.
Unity поддерживает несколько технологий и компонентов. Одним из ключевых компонентов системы является ландшафтный движок. Система ландшафтов Unity позволяет создавать обширные ландшафты для ваших игр или приложений. Вы можете использовать набор инструментов для создания ландшафтов легко и быстро.
В этом руководстве основное внимание будет уделено объяснению того, как работают механизмы ландшафтного движка, и как их использовать для создания обширной и насыщенной ландшафтной окружающей среды.
Необходимые условия
Во-первых, убедитесь, что у вас установлена последняя версия Unity. В этом уроке мы используем версию 5.6. Убедитесь, что вы используете последнюю версию Unity; В противном случае вы можете найти небольшие различия во время прохождения урока и использования физических соединений.
Для этого урока вы не будете использовать стартовый файл. Цель состоит в создании нового проекта и выполнении всего урока.
Инструменты ландшафта
Первый шаг — это создать новый проект Unity. Теперь добавьте новую сцену (File > New Scene). Новая сцена была создана с двумя игровыми объектами, Main Camera и Directional Light (Unity 5 автоматически добавит skybox в сцену).
Теперь, чтобы добавить игровой объект terrain, перейдите в меню GameObject и выберите 3D Object > Terrain. Это добавит плоскую поверхность (называемую Terrain) в вашу сцену. Эта поверхность является сеткой, которую мы собираемся сделать для создания на этом уровне ландшафта.
Если вы проверите свой каталог Assets (в нижней части интерфейса Unity), вы увидите, что был создан файл New Terrain.
Выберите Terrain и посмотрите вкладку Inspector. Вы увидите, что terrain имеет три компонента: Transform, Terrain script и компонент Terrain Collider.
Компонент terrain предоставляет вам инструменты, необходимые для редактирования вашего ландшафта. Все инструменты на панели инструментов, за исключением инструмента размещения деревьев и панели настроек, предоставляют набор «кистей» и параметры для настройки размера и прозрачности кисти, так же как инструменты рисования из обычного редактора изображений. Это позволяет создавать ландшафт подобно инструменту рисования.
Если вы выберете любую кисть под компонентом Terrain и наведите указатель мыши на поверхность, вы увидите синюю область, проецируемую на этой поверхности. Это позволяет узнать область ландшафта, на которую повлияет ваша кисть.
Как вы, возможно, уже поняли, объект Terrain довольно большой. Для навигации по Scene (сцене) вы можете использовать мышь и клавиатуру. Внутри вкладки Scene нажмите и удерживайте правую кнопку мыши (курсор должен измениться на глаз).
Удерживая кнопку мыши:
- Вы можете изменить угол обзора, перемещая мышь.
- Используйте клавиши W, S, A, D для перемещения по 3D-сцене.
Прежде чем приступать к изучению инструментов ландшафта, давайте посмотрим на свойства Terrain. Последняя кнопка на компоненте Terrain (внутри вкладки Inspector) покажет вам базовые параметры объекта terrain.
Свойства делятся на разделы:
- Base Terrain
- Tree & Detail Objects
- Wind Settings for Grass
- Resolution
- Heightmap
Внутри первой секции Base Terrain вы найдете несколько свойств и параметров.
Опция Draw включает или выключает рендеринг ландшафта. Pixel Error представляет значение точности преобразования между картами terrain’а (например, текстур, heightmaps и самого сгенерированного terrain’а). Более высокие значения представляют меньшую точность, а меньшие значения будут приводить к излишней обработке. Вы обязаны сбалансировать это значение, чтобы создать хорошее, насыщенное окружение.
Base Map dist. — максимальное расстояние, на котором текстуры ландшафта будут отображаться с полным разрешением. Вы можете включить или отключить тени, выбрав Cast Shadows.
Затем у нас есть Material. Здесь вы устанавливаете материал, который будет использоваться для рендеринга ландшафта. Это повлияет на то, как интерпретируются цветовые каналы текстуры ландшафта. Вы можете выбрать:
- Built In Standard представляет материал, основанный на физическом рендеринге, который был введен в Unity 5. Если выбран этот параметр, для каждого слоя наложения можно использовать одну текстуру для альбедо и сглаживания, одну текстуру для нормали и одно скалярное значение для сдвига металла. Имейте в виду, что если проверяется «Overwrite Smoothness», вместо того, чтобы читать из текстурных карт, ровность всего terrain’а будет контролироваться только значением Smoothness.
- Built In Legacy Diffuse представляет собой устаревший встроенный материал ландшафта из предыдущих релизов Unity (Unity 4 и более ранних). Он использует модель освещения Ламберта и имеет дополнительную поддержку обычной карты.
- Built In Legacy Specular использует модель освещения Blinn-Phong (пожалуйста, обратитесь к этому предыдущему Unity 5 уроку по освещению) и имеет дополнительную поддержку обычной карты. Этот параметр также позволяет задать общий цвет отражения и блеск для ландшафта.
- Опция Custom использует настраиваемый материал для вашего ландшафта. Этот материал должен быть шейдером, который ориентирован для рендеринга ландшафта. Это вариант, который я рекомендую только продвинутым пользователям. Однако, если вы хотите попробовать, взгляните на исходный код некоторых встроенных шейдеров и внесите изменения одного из них.
Вы можете также установить Reflection Probes (оптические датчики) для некоторых материалов, но они будут использоваться только при использовании встроенного стандартного материала или пользовательского материала,который поддерживает рендеринг с отражением. Возможные варианты reflection probes:
- Off: Reflection probes отключены, и для отражения будет использоваться только skybox.
- Blend Probes: Reflection probes включены. Смешивание происходит только между датчиками. Если поблизости нет датчиков отражения, то будет использоваться отражение по умолчанию, но между отражением по умолчанию и датчиком не будет никакого смешивания.
- Blend Probes And Skybox: Reflection probes включены. Смешивание происходит между датчиками или датчиками и отражением по умолчанию.
- Simple: Reflection probes включены, но между датчиками не происходит смешивания, если имеется два перекрывающихся объема.
Наконец, последний параметр в этом разделе — Thickness. Это значение указывает, насколько объем столкновения terrain’а должен простираться вдоль отрицательной оси Y. Считается, что объекты пересекаются с ландшафтом от поверхности до глубины, равной толщине. Это помогает предотвратить проникновение высокоскоростных движущихся объектов в ландшафт без дорогостоящего непрерывного обнаружения столкновения.
Следующий раздел настроек — Tree & Detail Objects.
Первая опция — Draw. Здесь можно настроить прорисовку деталей. В основном, это говорит движку, хотите ли вы, чтобы деревья и трава рисовались или нет. Затем у вас есть Bake Light Probes для деревьев. Если вы включите эту опцию, Unity создаст световые датчики в позиции каждого дерева. Затем датчики будут применены к рендерингу деревьев. Если отключить этот параметр, на деревья по-прежнему будут влиять датчики группы источников света. Обратите внимание, что этот параметр доступен только для деревьев, на которых установлены световые датчики на их префабах.
Detail Distance — это расстояние от камеры, после которого детали будут отсекаться. Detail Density представляет количество объектов деталей/травы в данной условной единице площади. Tree Distance представляет собой расстояние от камеры, за которым деревья будут отсекаться. Billboard Start — это расстояние от камеры, начиная с которого 3D деревья начнут заменяться на спрайтовые изображения. Fade Length представляет собой расстояние перехода деревьев из 3D объектов в плоские спрайты. Наконец, Max Mesh Trees — максимальное количество видимых деревьев, которые будут представлены в качестве полноценных 3D мешей.
Идем дальше, вы увидите параметры Wind Settings for Grass
Speed определяет скорость обдувающего траву ветра. Size представляет собой размер ряби на травянистых участках. Bending позволяет определить степень, наклона объектов травы под действием ветра. Grass Tint позволяет выбрать общий оттенок цвета, применяемый к объектам травы.
В разделе Resolution вы найдете несколько свойств разрешения, а именно: Terrain Width, Length, и Height. Все три имеют очень четкое значение. Heightmap Resolution — разрешение карты высот terrain’а в пикселях. Должно быть степенью двойки плюс один, например, 513 = 512 + 1.
Detail Resolution позволяет определить разрешение карты. Чем выше разрешение, тем меньше и более детальны будут участки травы. Detail Resolution per Patch устанавливает длину и ширину квадрата островков, отрендеренного за один вызов рисования. Control Texture Resolution — разрешение карты splat, которая контролирует смешивание разных текстур terrain’а. Наконец, Base Texture Resolution разрешение композитной текстуры, используемой на terrain’е когда вы смотрите на него с расстояния, большего чем значение base map distance.
Последний раздел — Heightmap. Здесь вы можете импортировать исходный файл heightmap в raw формате или экспортировать текущий terrain в файл изображения в RAW формате. Это может быть очень полезно, если вы хотите использовать внешнее стороннее программное обеспечение для взаимодействия с вашим приложением или игрой.
Инструменты для изменения высоты
Прежде чем перейти к инструментам высоты, помните, что необходимо сначала задать параметры разрешения. В противном случае, если вы попытаетесь изменить их позже, то все эти поверхности будут утеряны.
Первыми тремя инструментами на панели инструментов Terrain Inspector являются инструменты изменения высоты. Эти инструменты используются для рисования изменений высоты на поверхности.
Они предоставляют набор «кистей» с настройками Brush Size и Opacity; Эти инструменты очень похожи на инструменты рисования из любого редактора изображений. Они позволяют рисовать детали ландшафта, как если бы вы рисовали изображение.
Если вы переместите курсор на вкладку Scene, вы увидите синюю область, проецируемую на поверхности. Это позволяет узнать область ландшафта, на которую повлияет ваша кисть.
Первым инструментом является Raise / Lower Height. При рисовании с помощью этого инструмента высота ландшафта будет увеличиваться пока вы водите мышкой с зажатой левой кнопкой по terrain’у. Если удерживать мышь в одной конкретной области, высота будет суммироваться. Такой эффект визуально изображен на следующем рисунке.
Чтобы опустить ландшафт, просто удерживайте клавишу Shift во время рисования инструментом, и это уменьшит высоту вашего ландшафта.
Второй инструмент в редакторе ландшафта — Paint Height. Этот инструмент используется для установки целевой высоты для области ландшафта.
Он работает аналогично инструменту Raise/Lower, но имеет дополнительное свойство для установки целевой высоты Height. Вы можете выбрать желаемую высоту Height, изменив значение параметра Height. Кнопка Flatten рядом с свойством height, которая просто устанавливает высоту у всего terrain’а в заданное значение Height.
Наконец, третий инструмент — Smooth Height. Этот инструмент не будет резко увеличивать или уменьшать высоту terrain’а; Вместо этого он смягчит ландшафт и уменьшит появление резких изменений. Вы могли бы использовать этот инструмент, например, когда вы нарисовали деталь используя одну из «шумящих» кистей из доступного набора, поскольку эти кисти созданы для привнесения острых, скалистых камней в ландшафт и вы можете использовать этот инструмент, чтобы смягчить их.
Пришло время потратить некоторое время и создать свой собственный ландшафт местности. Попытайтесь использовать вышеупомянутые три инструмента, чтобы создать красивый горный ландшафт.
Инструмент для создания текстур
Ландшафт создан теперь пора текстурировать его.
Прежде чем двигаться дальше, вам нужно импортировать aссеты окружающей среды, доступные в Unity 5. Для этого выберите Assets > Import Package и выберите Environment. Нажмите Import, чтобы импортировать все относящийся к окружающей среде ассеты.
Unity позволяет рисовать ландшафты используя текстуры. Вы можете нарисовать свой ландшафт различными текстурами в разных областях. Например, вы можете иметь текстуру для скалы, другую для песка еще одну для травы. Текстуры могут применяться с различной прозрачностью, что означает, что вы можете делать плавные переходы между двумя текстурами. Для достижения наилучших результатов следует нарисовать ландшафт с бесшовными текстурами.
Как вы могли заметить на вкладке Inspector, инструмент Paint Texture имеет несколько кистей и позволяет вам изменять Brush Size, Opacity и Target Strength.
В первый раз, когда вы используете инструмент для рисования Texture Tool, на нем не будет текстур. Первое, что вам нужно сделать, это добавить новую текстуру в палитру. Для этого нажмите кнопку Edit Textures и выберите Add Texture. Появится новое окно.
Как можно видеть, в этом окне можно выбрать Select нужную текстуру и ее обычную карту, если такова имеется. Нажмите на квадрат под текстурой и выберите текстуру. Появится окно, позволяющее выбрать текстуру. Выберите текстуру SandAlbedo и нажмите Add.
Теперь ваш ландшафт должен иметь вид песка. Обратите внимание, что вы всегда можете изменить ландшафт в опциях редактирования текстуры или удалить его.
Первая созданная вами текстура всегда должна быть базовой текстурой для ландшафта. Полный список текстур, используемых в этом примере:
- SandAlbedo
- GrassHillAlbedo
- GrassRockAlbedo
- MudRockyAlbedo
- CliffAlbedo
Все они являются частью импортированных ассетов и могут быть найдены так же, как и текстура SandAbedo. Продолжайте и импортируйте их все.
Когда у вас есть все импортированные текстуры, пришло время текстурировать ваш ландшафт, как вы хотите. Выберите текстуру и нарисуйте нужную среду. Пример текстурированной карты.
Когда вы удовлетворены результатом, перейдите к следующему разделу.
Инструмент для создания деревьев
Теперь, когда вы нарисовали свой ландшафт, пришло время добавить к нему несколько деревьев. Unity 3D позволяет размещать деревья на вашем ландшафте так же, как вы рисовали текстуры. Используя настройки спрайтов для удаленных деревьев, Unity поддерживает хорошую производительность для рендеринга, так что вы можете иметь плотно засаженные леса с тысячами деревьев.
Чтобы начать рисовать деревья, выберите Terrain на вкладке Hierarchy и на вкладке Inspector выберите пятую кнопку.
Аналогично текстурам, необходимо также добавить деревья. Щелкните Edit Trees > Add Tree.
Unity предложит вам префаб дерева, которое вы хотите использовать. Нажмите на маленький круг, и появится другое окно. На этот раз оно покажет вам все готовые префабы, которые у вас есть в вашем проекте.
Выберите префаб дерева Broadleaf_desktop и нажмите Add. Это закроет окно prefab и добавит выбранное дерево в проект.
Теперь вы можете выбрать пальму, чтобы нарисовать ее на своем ландшафте.
В разделе Settings вы найдете несколько параметров, которые вы можете настроить, когда размещаете деревья в своей сцене. Brush Size определяет область, где вы будете рисовать, в то время как Tree Density определяет количество деревьев, которые вы будете иметь в нарисованной площади. Высокие значения будут означать больше деревьев. Tree Height позволит определить, как изменяется высота. Можно задать значение в произвольном порядке и использовать интервал значений, или задать определенное значения. Вы можете отключить параметр Lock Width to Height, чтобы сделать их одинаковыми.
В разделе Lighting вы можете установить, как генерируются световые карты для ваших деревьев.
Чтобы нарисовать деревья на поверхности, переместите указатель мыши на сцену. Синяя область представляет собой кисть. Если выбран тип дерева, нажмите левую кнопку мыши на поверхности и начните создавать деревья.
Чтобы удалить деревья из определенной области, нажмите Shift и используйте левую кнопку мыши. Это очистит все деревья в области кисти. Если вы просто хотите стереть определенный тип дерева, удерживайте Control вместо Shift. Это очистит только выбранный тип дерева.
Вы всегда можете изменить или удалить тип дерева, выбирая его и нажав кнопку Edit Trees. Чтобы изменить дерево, нажмите кнопку Edit Tree и, чтобы удалить его, нажмите кнопку Remove Tree.
Наконец, вы заметите, что внутри компонента Terrain Collider у вас есть поле с именем Enable Tree Colliders. При выборе этого параметра можно включить коллизии между другими игровыми объектами и деревьями.
Если вы не хотите вручную рисовать деревья, вы можете использовать кнопку Mass Place Trees. Если вы нажмете ее, появится новое окно. Затем Unity попросит вас создать несколько деревьев. Установите Number of Trees и нажмите Place. Затем Unity рандомно размещает деревья на поверхности.
Следующий шаг — творческое заполнение ландшафта деревьями. Чтобы создать разные деревья, вы также можете добавить новые деревья, такие как Palm_Desktop, Broadleaf_Mobile и Conifer_Desktop. Для этого используйте параметр Edit Trees в меню Trees (на вкладке Inspector).
Вы можете создать что-то вроде этого изображения (или что-то совершенно другое).
Когда вы будете готовы, можете переходить к следующему шагу.
Инструмент для создания других элементов
Unity позволяет создавать траву и другие небольшие объекты, такие как камни, которые покрывают поверхность. Трава рендерится с использованием двумерных изображений, а другие объекты обычно являются стандартными мешами.
Чтобы добавить детали в ландшафт, выберите свой ландшафтный объект из иерархии. На вкладке Inspector нажмите на шестую кнопку, ту, которая с цветами.
Как можно видеть, у вас теперь есть аналогичный интерфейс, как и у Height Tools. Здесь также имеется набор кистей, которые можно выбрать, чтобы нарисовать список деталей.
Поскольку вы не выбрали какие-либо детали объекта, добавим их, нажав Edit Details > Add Grass Texture.
Откроется окно, в котором можно задать несколько свойств для травы. Detail Texture позволяет вам определить текстуру, которая будет использоваться для травы. Вы также можете установить несколько свойств, таких как Max Width, Min Width, Max Height, Min Height, Noise Spread, Healthy Color, Dry Color и Billboard. Все эти свойства определят, как будет выглядеть ваша трава.
Для этого урока вы можете оставить параметры по умолчанию или изменить их по своему желанию.
Нажмите на круг перед полем Detail Texture. Это откроет новое окно. Найдите GrassFrond01AlbedoAlpha, выберите его и нажмите Add.
Как и для деревьев, вы можете использовать несколько кистей для рисования травы. Вы можете установить различные размеры Brush Sizes, изменить Opacity и Target Strength.
Настало время быть креативным, и покрасить ландшафт травой.
Если вы хотите добавить меши, чтобы нарисовать детали на вашем ландшафте, например камни, вам нужно повторить тот же процесс, что вы делали с импортом травы. Однако на этот раз при нажатии кнопки Edit Details выберите Add
Detail Mesh. Откроется окно, где можно задать несколько параметров для мешей деталей, очень похожее на то, которое использовалась для импорта травы.
К сожалению, ассеты окружающей среды не включают в себя префаб камень, поэтому вы не сможете сразу рисовать камни. Тем не менее, вы можете искать некоторые камни в Unity Asset Store, так как это отличное место для поиска бесплатных ассетов.
Заключение
На этом заканчивается руководство по инструментам ландшафтного движка Unity. Вы узнали о нескольких инструментах и конфигурациях ландшафта. Благодаря этим знаниям вы можете создавать, изменять и улучшать текущие или новые ландшафты для своей новой передовой игры или приложения.
Unity имеет активную экономику. Существует много других продуктов, помогающих построить проект. Характер платформы также делает ее великолепным вариантом, благодаря которому вы можете улучшить свои навыки. В любом случае, вы можете видеть все, что у нас есть на Envato Marketplace.
Если у вас есть вопросы или комментарии, как всегда, не стесняйтесь писать в разделе для комментариев.