3dsmax. Создание левела с дорогой — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

3dsmax. Создание левела с дорогой — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
 
(не показаны 4 промежуточных версий 2 участников)
Строка 1: Строка 1:
<center>Небольшая статейка по изготовлению дороги на террейне с последующим текстурированием и добавлением в мультиплеер</center>
+
Небольшая статейка по изготовлению дороги на террейне с последующим текстурированием и добавлением в мультиплеер.
 
+
 
+
<center>Для пояснения принципов работы я создал плоскость размером 100х100 метров и количеством полигонов 50 по длине и ширине (размер одного полигона как не трудно догадаться 2 квадратных метра)</center>
+
  
 +
Для пояснения принципов работы я создал плоскость размером 100х100 метров и количеством полигонов 50 по длине и ширине (размер одного полигона, как не трудно догадаться, 2 квадратных метра)
  
 
ПРИМЕЧАНИЕ:Чтобы в окне проекции на объекте показалась сетка рёбер нужно нажать F4, а чтоб показать только одну сетку нужно нажать F3
 
ПРИМЕЧАНИЕ:Чтобы в окне проекции на объекте показалась сетка рёбер нужно нажать F4, а чтоб показать только одну сетку нужно нажать F3
 +
[[Изображение:terrain_with_roadmax1.jpg|750px]]
  
 +
Затем переходим на вкладку Modify и конвертируем по нажатию ПКМ Plane в Editable Poly
  
<center>[[Изображение:terrain_with_roadmax1.jpg|950px]]
+
[[Изображение:terrain_with_roadmax2.jpg|300px]]
 
+
Затем переходим на вкладку Modify и конвертируем по нажатию ПКМ Plane в Editable Poly</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax2.jpg|300px]]</center>
+
 
+
 
+
<center>Переходим в окно проекции Top (вид сверху) жмём F3 затем F4 и видим</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax3.jpg|750px]]
+
 
+
После переходим в режим редактирования полигонов (можно просто нажать 4) веделяем</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax4.jpg|550px]]</center>
+
 
+
 
+
<center>ПРИМЕЧАНИЕ:Моей целью не было изготовление качественного террейна я всего лишь хотел показать некоторые принципы моделирования, а как их применить это дело личное :)</center>
+
 
+
 
+
<center>[[Изображение:terrain_with_roadmax5.jpg|200px]]
+
 
+
Переходим окно проекции Perspective и в списке справа щёлкаем на квадратик рядом с кнопкой Bevel</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax6.jpg|950px]]</center>
+
 
+
 
+
<center>Парметр Height регулирует высоту/глубину (у меня -10), а параметр Outline Amond регулирует степень сужения/расширения к низу/верху (попробуйте изменить значения) </center>
+
 
+
 
+
<center>Мой результат</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax7.jpg|950px]]</center>
+
 
+
<center>После выделяем полигоны у краёв и удаляем их</center>
+
 
+
 
+
<center>[[Изображение:terrain_with_roadmax8.jpg|750px]]</center>
+
 
+
 
+
<center>Жмём 1(вертексты) нажимаем Ctrl+A(веделяем все вертексты) нажимаем на кнопку weld чтобы объединить вертексты которые находятся в одной точке но не объединены </center>
+
 
+
<center>[[Изображение:terrain_with_roadmax9.jpg|300px]]</center>
+
 
+
 
+
<center>Потом немного достроим рёбер чтобы позже снять фаску, но сначала удалим лишние вершины</center>
+
 
+
 
+
<center>[[Изображение:terrain_with_roadmax10.jpg|550px]]</center>
+
 
+
 
+
<center>На рисунке выделена вершина которую можно и нужно убрать для это выделяем её и жмём на кнопку Remove — вершина исчезнет но на её месте не будет дыры как если бы мы нажали на клавишу Delite :)</center>
+
 
+
 
+
<center>А вот сейчас в режиме Vertext (вершины - цифра 1) нажимаем на кнопку Сut в списке справа </center>
+
 
+
<center>[[Изображение:terrain_with_roadmax11.jpg|250px]]
+
 
+
И при наведении на вертекст будет изменяться курсор на маленький квадратик, жмём один раз и ведём до следующего снова жмём и получаем ребро если больше не хотим строить нажимаем ПКМ </center>
+
 
+
<center>[[Изображение:terrain_with_roadmax12.jpg|550px]]</center>
+
 
+
 
+
<center>Контролируем результат обводим рамкой выделения то место куда мы пришивали рёбра как видно из рисунка там две вершины вы скажите да здесь тоже можно использовать weld возможно, но вертексты могут находиться не точно в одной точке и weld не поможет тут к нам на помощь придёт Collapse (находится чуть выше cut) лечим таким образом все вершины которые мы сделали(только нужно сначала конвертнуть модель в Editable mesh иначе некоторые вершины не будут спаиваться, после лечения :) конвертните обратно в Editable Poly)</center>
+
 
+
 
+
<center>Но сначала удалите рёбра которые выделены на рисунке они у меня появились при соединении вершин и снова объедините вершины</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax13.jpg|950px]]</center>
+
 
+
 
+
<center>А теперь выделите рёбра как на рисунке(предварительно убедитесь в том что модель у вас конвертирована в Editable Poly)</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax14.jpg|650px]]</center>
+
 
+
 
+
<center>И снова в списке справа щёлкните на квадратике рядом со словом Chamfer</center>
+
 
+
<center>и вы увидите вот это</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax15.jpg|750px]]</center>
+
 
+
 
+
<center>Наконец то сделали :) (получились эдакие обрывы)</center>
+
 
+
 
+
<center>Теперь займёмся дорогой</center>
+
 
+
<center>Перейдём в окно проекции вид сверху(Top) и выделяем полигоны так:</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax16.jpg|650px]]</center>
+
 
+
 
+
<center>Затем в списке справа жмём на кнопку Detach в открывшемся окне вводим имя нового объекта и жмём ОК. В результате у нас есть готовая дорога (её можно было вычертить с помощью инструмента Cut</center>
+
 
+
 
+
<center>Теперь повторим то что сделали с дорогой но уже над обрывами</center>
+
 
+
<center>В итоге у нас есть три плотно подогнанных объекта</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax17.jpg|750px]]</center>
+
 
+
 
+
<center>Теперь нужно нарисовать текстуру и наложить на наш ландшафт :), настроить материалы и экспортировать в СДК сталкера</center>
+
 
+
 
+
<center>И так приступим. Дороге я поставлю текстуру grnd_asphalt_escape, а обрывам grnd_mudwalls1(текстуры есть в игре чтобы их заполучить распакуйте игру) для самого террейна текстуру нарисуем в фотошопе</center>
+
 
+
<center>[[Изображение:terrain_with_roadmax18.jpg|950px]]</center>
+
 
+
 
+
<center>Вот что вышло у меня</center>
+
 
+
  
<center>Текстурировать начнём с террейна у меня он назван terrain_test</center>
+
Переходим в окно проекции Top (вид сверху) жмём F3 затем F4 и видим
  
<center>[[Изображение:terrain_with_roadmax19.jpg|300px]]</center>
+
[[Изображение:terrain_with_roadmax3.jpg|750px]]
  
 +
После переходим в режим редактирования полигонов (можно просто нажать 4) выделяем
  
<center>Дорога у меня имеет имя grnd_asphalt_escape, а обрывы grnd_mudwalls1 это я сделал чтобы лучше запомнить и меньше путаться</center>
+
[[Изображение:terrain_with_roadmax4.jpg|550px]]
  
 +
ПРИМЕЧАНИЕ: Моей целью не было изготовление качественного террейна. Я всего лишь хотел показать некоторые принципы моделирования, а как их применить это дело личное :)
  
<center>[[Изображение:terrain_with_roadmax20.jpg|950px]]Открываем материал эдитор и делаем как на рисунке</center>
+
[[Изображение:terrain_with_roadmax5.jpg|200px]]
  
 +
Переходим окно проекции Perspective и в списке справа щёлкаем на квадратик рядом с кнопкой Bevel
  
<center>Окно изменится на следующее</center>
+
[[Изображение:terrain_with_roadmax6.jpg|750px]]
  
<center>[[Изображение:terrain_with_roadmax21.jpg|350px]]</center>
+
Параметр Height регулирует высоту/глубину (у меня -10), а параметр Outline Amond регулирует степень сужения/расширения к низу/верху (попробуйте изменить значения)
  
 +
Мой результат
  
<center>Во вкладке STALKER PARAMS ставим</center>
+
[[Изображение:terrain_with_roadmax7.jpg|750px]]
  
<center>[[Изображение:terrain_with_roadmax22.jpg|350px]]</center>
+
После выделяем полигоны у краёв и удаляем их
  
 +
[[Изображение:terrain_with_roadmax8.jpg|550px]]
  
<center>Потом жмём на кнопку возле Diffuse(указана на рисунке) дальше жмём на кнопку bitmap и открываем текстуру, и при выделеном объекте нажимаем 1 и 2 </center>
+
Жмём 1(вертексы) нажимаем Ctrl+A(выделяем все вертексы) нажимаем на кнопку weld чтобы объединить вертексы которые находятся в одной точке но не объединены
  
<center>[[Изображение:terrain_with_roadmax23.jpg|450px]]</center>
+
[[Изображение:terrain_with_roadmax9.jpg|200px]]
  
 +
Потом немного достроим ребер, чтобы позже снять фаску, но сначала удалим лишние вершины
  
<center>И видим что на терейне появилась текстура но ещё нужно назначит модификатор UVW map</center>
+
[[Изображение:terrain_with_roadmax10.jpg|550px]]
  
<center>с настройками как на рисунке</center>
+
На рисунке выделена вершина которую можно и нужно убрать для это выделяем её и жмём на кнопку Remove — вершина исчезнет но на её месте не будет дыры как если бы мы нажали на клавишу Delete :)
  
<center>[[Изображение:terrain_with_roadmax24.jpg|950px]]</center>
+
А вот сейчас в режиме Vertex (вершины - цифра 1) нажимаем на кнопку Сut в списке справа
  
<center>Потом нажать на модификаторе правой кнопкой мыши и выбрать Collapse to</center>
+
[[Изображение:terrain_with_roadmax11.jpg|200px]]
  
 +
И при наведении на вертекс будет изменяться курсор на маленький квадратик, жмём один раз и ведём до следующего снова жмём и получаем ребро если больше не хотим строить нажимаем ПКМ
  
<center>Сейчас выделяем дорогу и проделываем всё тоже самое что и с террейном(Engine shader ставим на default, Compiler Shader на default, а game material на material/grass), но после нажатия кнопки Collapse to назначаем дороге модификатор Unwrap UVW и в списке справа жмём на кнопку Edit и увидим окно как на рисунке в котором выделим полигоны нажмём ПКМ и выберем Break потом повернём их и перетащим друг на друга</center>
+
[[Изображение:terrain_with_roadmax12.jpg|550px]]
  
 +
Контролируем результат обводим рамкой выделения то место куда мы пришивали рёбра как видно из рисунка там две вершины вы скажите да здесь тоже можно использовать weld возможно, но вертексы могут находиться не точно в одной точке и weld не поможет тут к нам на помощь придёт Collapse (находится чуть выше cut) лечим таким образом все вершины которые мы сделали(только нужно сначала конвертнуть модель в Editable mesh иначе некоторые вершины не будут спаиваться, после лечения :) конвертните обратно в Editable Poly)
  
<center>[[Изображение:terrain_with_roadmax25.jpg|550px]]</center>
+
Но сначала удалите ребра, которые выделены на рисунке. Они у меня появились при соединении вершин и снова объедините вершины
  
 +
[[Изображение:terrain_with_roadmax13.jpg|750px]]
  
<center>[[Изображение:terrain_with_roadmax26.jpg|450px]]</center>
+
А теперь выделите рёбра как на рисунке(предварительно убедитесь в том что модель у вас конвертирована в Editable Poly)
  
<center>Откроем текстуру и увидим</center>
+
[[Изображение:terrain_with_roadmax14.jpg|650px]]
  
<center>[[Изображение:terrain_with_roadmax27.jpg|950px]]</center>
+
И снова в списке справа щёлкните на квадратике рядом со словом Chamfer. И вы увидите вот это
  
 +
[[Изображение:terrain_with_roadmax15.jpg|550px]]
  
<center>Делаем модификатору Collapse to и переходим к обрывам.</center>
+
Наконец то сделали :) (получились эдакие обрывы).
  
<center>А если вам вдруг не понравился масштаб или направление текстуры то сделайте так:Выделите полигоны где вам не нравится масштаб, назначьте модификатор UVW map щёлкаем по плюсу слева от него выбираем gizmo и с помощью инструмента вращения, масштабирования, и перемещения добиваемся желаемого результата вот что получилось у меня </center>
+
Теперь займёмся дорогой.
 +
Перейдём в окно проекции вид сверху(Top) и выделяем полигоны так:
  
 +
[[Изображение:terrain_with_roadmax16.jpg|650px]]
  
<center>[[Изображение:terrain_with_roadmax28.jpg|850px]]</center>
+
Затем в списке справа жмём на кнопку Detach, в открывшемся окне вводим имя нового объекта и жмём ОК. В результате у нас есть готовая дорога (её можно было вычертить с помощью инструмента Cut).
  
<center>Теперь перейдём к обрывам :) (Engine shader ставим на default, Compiler Shader на default, а game material на material/earth)</center>
+
Теперь повторим то, что сделали с дорогой, но уже над обрывами. В итоге у нас есть три плотно подогнанных объекта.
  
<center>Для начала выделим полигоны как на рисунке</center>
+
[[Изображение:terrain_with_roadmax17.jpg|750px]]
  
<center>[[Изображение:terrain_with_roadmax29.jpg|850px]]</center>
+
Теперь нужно нарисовать текстуру и наложить на наш ландшафт :), настроить материалы и экспортировать в SDK сталкера. И так приступим. Дороге я поставлю текстуру grnd_asphalt_escape, а обрывам grnd_mudwalls1(текстуры есть в игре чтобы их заполучить распакуйте игру) для самого террейна текстуру нарисуем в фотошопе
  
 +
[[Изображение:terrain_with_roadmax18.jpg|750px]]
  
<center>Как видно они все более менее параллельны :)</center>
+
Вот что вышло у меня
  
<center>Теперь назначим модификатор UVW map потом в его настройках выберем ось Y и нажмём на кнопку fit увидим вот это</center>
+
Текстурировать начнём с террейна. У меня он назван terrain_test
  
<center>[[Изображение:terrain_with_roadmax30.jpg|850px]]</center>
+
[[Изображение:terrain_with_roadmax19.jpg|250px]]
  
<center>Затем выполним настройку gizmo так как говорилось выше и получим вот это(маштабируем)</center>
+
Дорога у меня имеет имя grnd_asphalt_escape, а обрывы grnd_mudwalls1 это я сделал, чтобы лучше запомнить и меньше путаться.
  
<center>[[Изображение:terrain_with_roadmax31.jpg|850px]]</center>
+
[[Изображение:terrain_with_roadmax20.jpg|750px]]
  
 +
Открываем материал эдитор и делаем как на рисунке. Окно изменится на следующее.
  
<center>Финальный вид</center>
+
[[Изображение:terrain_with_roadmax21.jpg|350px]]
  
<center>[[Изображение:terrain_with_roadmax32.jpg|850px]]Не плохо, правда? :)</center>
+
Во вкладке STALKER PARAMS ставим
  
<center>Теперь выделяем все три объекта нажимаем сталкер экспорт </center>
+
[[Изображение:terrain_with_roadmax22.jpg|350px]]
  
<center>Для настройки кнопки экспорта нажмите 1 в открывшемся окне поставте число на 10 (по умолчанию стоит 9) пролистайте вниз списка и там выберите 3 конечно надписи на ней не будет а появится она только тогда когда вы нажмёте на 4 дальше жмём ОК </center>
+
Потом жмём на кнопку возле Diffuse(указана на рисунке) дальше жмём на кнопку bitmap и открываем текстуру, и при выделенном объекте нажимаем 1 и 2
  
<center>[[Изображение:terrain_with_roadmax33.jpg|450px]]</center>
+
[[Изображение:terrain_with_roadmax23.jpg|450px]]
  
 +
И видим что на терейне появилась текстура но ещё нужно назначит модификатор UVW map с настройками как на рисунке.
  
<center>Нажимаем на появившуюся кнопку и видим</center>
+
[[Изображение:terrain_with_roadmax24.jpg|750px]]
 +
Потом нажать на модификаторе правой кнопкой мыши и выбрать Collapse to. Сейчас выделяем дорогу и проделываем всё тоже самое что и с террейном (Engine shader ставим на default, Compiler Shader на default, а game material на material/grass), но после нажатия кнопки Collapse to назначаем дороге модификатор Unwrap UVW и в списке справа жмём на кнопку Edit и увидим окно как на рисунке в котором выделим полигоны нажмём ПКМ и выберем Break потом повернём их и перетащим друг на друга.
  
<center>[[Изображение:terrain_with_roadmax34.jpg|250px]]</center>
+
[[Изображение:terrain_with_roadmax25.jpg|550px]][[Изображение:terrain_with_roadmax26.jpg|450px]]
  
 +
Откроем текстуру и увидим
  
<center>Здесь нажимаем на выделенную кнопку и указываем папку скажем такую level_terrain_test которую создадим по адрессу</center>
+
[[Изображение:terrain_with_roadmax27.jpg|750px]]
  
<center>D:\Program Files\X-Ray SDK\level_editor\rawdata\objects\level_terrain_test</center>
+
Делаем модификатору Collapse to и переходим к обрывам.
 +
А если вам вдруг не понравился масштаб или направление текстуры то сделайте так: Выделите полигоны где вам не нравится масштаб, назначьте модификатор UVW map щёлкаем по плюсу слева от него выбираем gizmo и с помощью инструмента вращения, масштабирования, и перемещения добиваемся желаемого результата вот что получилось у меня
  
<center>(папка может быть и не здесь, зависит от того куда вы установили СДК)</center>
+
[[Изображение:terrain_with_roadmax28.jpg|850px]]
  
 +
Теперь перейдём к обрывам :) (Engine shader ставим на default, Compiler Shader на default, а game material на material/earth)
  
<center>Ах да, не забудьте что если вы делаете новую текстуру то её нужно добавить в папку импорт и импортировать в СДК</center>
+
Для начала выделим полигоны как на рисунке
  
<center>В СДК нужно нажать на кнопку Images затем на check new textures и на кнопке OK </center>
+
[[Изображение:terrain_with_roadmax29.jpg|850px]]
  
<center>[[Изображение:terrain_with_roadmax35.jpg|450px]]</center>
+
Как видно они все более менее параллельны :) Теперь назначим модификатор UVW map потом в его настройках выберем ось Y и нажмём на кнопку fit увидим вот это
  
 +
[[Изображение:terrain_with_roadmax30.jpg|850px]]
  
<center>Дальше жмём на кнопку 1 ставим галочку 2 и жмём ОК 3</center>
+
Затем выполним настройку gizmo так как говорилось выше и получим вот это (масштабируем)
  
<center>[[Изображение:terrain_with_roadmax36.jpg|750px]]</center>
+
[[Изображение:terrain_with_roadmax31.jpg|850px]]
  
<center>Видим наш левел</center>
+
Финальный вид
  
<center>[[Изображение:terrain_with_roadmax37.jpg|950px]]</center>
+
[[Изображение:terrain_with_roadmax32.jpg|850px]]Не плохо, правда? :)
  
 +
Теперь выделяем все три объекта нажимаем сталкер экспорт . Для настройки кнопки экспорта нажмите 1 в открывшемся окне поставите число на 10 (по умолчанию стоит 9) пролистайте вниз списка и там выберите 3 конечно надписи на ней не будет а появится она только тогда когда вы нажмёте на 4 дальше жмём ОК
  
<center>Но чтоб добавить его в игру(мультиплеер) нужно минимум создать на нём источник света, объект глоу, и два rs point-а и так приступим </center>
+
[[Изображение:terrain_with_roadmax33.jpg|450px]]
  
 +
Нажимаем на появившуюся кнопку и видим
  
<center>Выберем Light 1 нажмём 2 (чайник) потом на точку 3 затем на инструмент 4 и ось 5 и нажав на сферу поднимем её вверх мышкой</center>
+
[[Изображение:terrain_with_roadmax34.jpg|220px]]
  
<center>[[Изображение:terrain_with_roadmax38.jpg|950px]]</center>
+
Здесь нажимаем на выделенную кнопку и указываем папку скажем такую level_terrain_test которую создадим по адресу
 +
D:\Program Files\X-Ray SDK\level_editor\rawdata\objects\level_terrain_test
 +
(папка может быть и не здесь, зависит от того куда вы установили SDK). Ах да, не забудьте что если вы делаете новую текстуру то её нужно добавить в папку импорт и импортировать в SDK. В SDK нужно нажать на кнопку Images, затем на check new textures и на кнопке OK
  
 +
[[Изображение:terrain_with_roadmax35.jpg|450px]]
  
<center>Затем выберем вкладку Glow нажмём на чайник и щёлкнем на терейне появится экранчик его поднимем в центр сферы и нажмем на кнопке Properties, введём имя 2 выберем качество 3(низкое чтобы быстрее компилировалось) щёлкнем на 4 выберем текстуру 5 и кликнем на 6</center>
+
Дальше жмём на кнопку 1, ставим галочку 2 и жмём ОК 3
  
<center>[[Изображение:terrain_with_roadmax39.jpg|750px]]</center>
+
[[Изображение:terrain_with_roadmax36.jpg|750px]]
  
 +
Видим наш левел
  
<center>Теперь выберем Spawn element и поставим на карту два rs pointa</center>
+
[[Изображение:terrain_with_roadmax37.jpg|950px]]
  
<center>[[Изображение:terrain_with_roadmax40.jpg|250px]]</center>
+
Но чтоб добавить его в игру(мультиплеер) нужно минимум создать на нём источник света, объект глоу, и два rs point-а и так приступим . Выберем Light 1 нажмём 2 (чайник) потом на точку 3 затем на инструмент 4 и ось 5 и нажав на сферу поднимем её вверх мышкой.
  
 +
[[Изображение:terrain_with_roadmax38.jpg|750px]]
  
<center>Теперь выберем вкладку Compile и выберем build</center>
+
Затем выберем вкладку Glow, нажмём на чайник и щёлкнем на терейне. Появится экранчик - его поднимем в центр сферы и нажмем на кнопке Properties, введём имя 2 выберем качество 3(низкое чтобы быстрее компилировалось) щёлкнем на 4 выберем текстуру 5 и кликнем на 6.
  
<center>После нажмём ПУСК->Выполнить->в строке напишем X:\xrLC.bat level_terrain_test</center>
+
[[Изображение:terrain_with_roadmax39.jpg|750px]]
  
<center>Скомпилируем наш уровень </center>
+
Теперь выберем Spawn element и поставим на карту два rs pointa
  
<center>Потом в папке с игрой создадим папку gamedata, а в ней папку textures в которую вложим папку terrain с нашей текстурой террейна, ещё создадим папку config в которую вложим папку mp с файлом map_list.ltx из распакованой игры в который впишем после строки testers_mp_pool имя нашей локи level_terrain_test</center>
+
[[Изображение:terrain_with_roadmax40.jpg|250px]]
  
<center>Запустим сетевую игру и создадим сервер с нашей локой</center>
+
Теперь выберем вкладку Compile и выберем build
  
 +
После нажмём ПУСК->Выполнить->в строке напишем X:\xrLC.bat level_terrain_test
 +
Скомпилируем наш уровень
  
<center>В папке с уроком положено два скрина из игры </center>
+
Потом, в папке с игрой создадим папку gamedata, а в ней папку textures в которую вложим папку terrain с нашей текстурой террейна.  Ещё создадим папку config, в которую вложим папку mp с файлом map_list.ltx из распакованной игры в который впишем после строки testers_mp_pool имя нашей локи level_terrain_test.
 +
Запустим сетевую игру и создадим сервер с нашей локой.
  
<center>Если возникнут проблемы при запуске игры то тогда замените файл user.ltx из папки C:\Documents and Settings\All Users\documents\stalker-shoc на тот что лежит в архиве и всё должно работать.</center>
+
В папке с уроком положено два скрина из игры.  
  
 +
Если возникнут проблемы при запуске игры то тогда замените файл user.ltx из папки C:\Documents and Settings\All Users\documents\stalker-shoc на тот, что лежит в архиве и всё должно работать. Надеюсь, эта статья будет вам полезна.
  
<center>Надеюсь эта статья будет вам полезна. </center>
+
'''Автор: Жуков Антон (Anton_dzot)'''
 +
'''Редактировал – Pihan13'''
  
 +
'''Ссылки'''
  
<center>'''Автор: Жуков Антон (Anton_dzot)'''</center>
+
*[http://www.stalkerin.gameru.net/downloads/wiki/terrain_road.7z Дополнительные материалы к статье]
  
 
[[Категория:Wireframe]]
 
[[Категория:Wireframe]]

Текущая версия на 11:01, 27 мая 2010

Небольшая статейка по изготовлению дороги на террейне с последующим текстурированием и добавлением в мультиплеер.

Для пояснения принципов работы я создал плоскость размером 100х100 метров и количеством полигонов 50 по длине и ширине (размер одного полигона, как не трудно догадаться, 2 квадратных метра)

ПРИМЕЧАНИЕ:Чтобы в окне проекции на объекте показалась сетка рёбер нужно нажать F4, а чтоб показать только одну сетку нужно нажать F3 Terrain with roadmax1.jpg

Затем переходим на вкладку Modify и конвертируем по нажатию ПКМ Plane в Editable Poly

Terrain with roadmax2.jpg

Переходим в окно проекции Top (вид сверху) жмём F3 затем F4 и видим

Terrain with roadmax3.jpg

После переходим в режим редактирования полигонов (можно просто нажать 4) выделяем

Terrain with roadmax4.jpg

ПРИМЕЧАНИЕ: Моей целью не было изготовление качественного террейна. Я всего лишь хотел показать некоторые принципы моделирования, а как их применить это дело личное :)

Terrain with roadmax5.jpg

Переходим окно проекции Perspective и в списке справа щёлкаем на квадратик рядом с кнопкой Bevel

Terrain with roadmax6.jpg

Параметр Height регулирует высоту/глубину (у меня -10), а параметр Outline Amond регулирует степень сужения/расширения к низу/верху (попробуйте изменить значения)

Мой результат

Terrain with roadmax7.jpg

После выделяем полигоны у краёв и удаляем их

Terrain with roadmax8.jpg

Жмём 1(вертексы) нажимаем Ctrl+A(выделяем все вертексы) нажимаем на кнопку weld чтобы объединить вертексы которые находятся в одной точке но не объединены

Terrain with roadmax9.jpg

Потом немного достроим ребер, чтобы позже снять фаску, но сначала удалим лишние вершины

Terrain with roadmax10.jpg

На рисунке выделена вершина которую можно и нужно убрать для это выделяем её и жмём на кнопку Remove — вершина исчезнет но на её месте не будет дыры как если бы мы нажали на клавишу Delete :)

А вот сейчас в режиме Vertex (вершины - цифра 1) нажимаем на кнопку Сut в списке справа

Terrain with roadmax11.jpg

И при наведении на вертекс будет изменяться курсор на маленький квадратик, жмём один раз и ведём до следующего снова жмём и получаем ребро если больше не хотим строить нажимаем ПКМ

Terrain with roadmax12.jpg

Контролируем результат обводим рамкой выделения то место куда мы пришивали рёбра как видно из рисунка там две вершины вы скажите да здесь тоже можно использовать weld возможно, но вертексы могут находиться не точно в одной точке и weld не поможет тут к нам на помощь придёт Collapse (находится чуть выше cut) лечим таким образом все вершины которые мы сделали(только нужно сначала конвертнуть модель в Editable mesh иначе некоторые вершины не будут спаиваться, после лечения :) конвертните обратно в Editable Poly)

Но сначала удалите ребра, которые выделены на рисунке. Они у меня появились при соединении вершин и снова объедините вершины

Terrain with roadmax13.jpg

А теперь выделите рёбра как на рисунке(предварительно убедитесь в том что модель у вас конвертирована в Editable Poly)

Terrain with roadmax14.jpg

И снова в списке справа щёлкните на квадратике рядом со словом Chamfer. И вы увидите вот это

Terrain with roadmax15.jpg

Наконец то сделали :) (получились эдакие обрывы).

Теперь займёмся дорогой. Перейдём в окно проекции вид сверху(Top) и выделяем полигоны так:

Terrain with roadmax16.jpg

Затем в списке справа жмём на кнопку Detach, в открывшемся окне вводим имя нового объекта и жмём ОК. В результате у нас есть готовая дорога (её можно было вычертить с помощью инструмента Cut).

Теперь повторим то, что сделали с дорогой, но уже над обрывами. В итоге у нас есть три плотно подогнанных объекта.

Terrain with roadmax17.jpg

Теперь нужно нарисовать текстуру и наложить на наш ландшафт :), настроить материалы и экспортировать в SDK сталкера. И так приступим. Дороге я поставлю текстуру grnd_asphalt_escape, а обрывам grnd_mudwalls1(текстуры есть в игре чтобы их заполучить распакуйте игру) для самого террейна текстуру нарисуем в фотошопе

Terrain with roadmax18.jpg

Вот что вышло у меня

Текстурировать начнём с террейна. У меня он назван terrain_test

Terrain with roadmax19.jpg

Дорога у меня имеет имя grnd_asphalt_escape, а обрывы grnd_mudwalls1 это я сделал, чтобы лучше запомнить и меньше путаться.

Terrain with roadmax20.jpg

Открываем материал эдитор и делаем как на рисунке. Окно изменится на следующее.

Terrain with roadmax21.jpg

Во вкладке STALKER PARAMS ставим

Terrain with roadmax22.jpg

Потом жмём на кнопку возле Diffuse(указана на рисунке) дальше жмём на кнопку bitmap и открываем текстуру, и при выделенном объекте нажимаем 1 и 2

Terrain with roadmax23.jpg

И видим что на терейне появилась текстура но ещё нужно назначит модификатор UVW map с настройками как на рисунке.

Terrain with roadmax24.jpg Потом нажать на модификаторе правой кнопкой мыши и выбрать Collapse to. Сейчас выделяем дорогу и проделываем всё тоже самое что и с террейном (Engine shader ставим на default, Compiler Shader на default, а game material на material/grass), но после нажатия кнопки Collapse to назначаем дороге модификатор Unwrap UVW и в списке справа жмём на кнопку Edit и увидим окно как на рисунке в котором выделим полигоны нажмём ПКМ и выберем Break потом повернём их и перетащим друг на друга.

Terrain with roadmax25.jpgTerrain with roadmax26.jpg

Откроем текстуру и увидим

Terrain with roadmax27.jpg

Делаем модификатору Collapse to и переходим к обрывам. А если вам вдруг не понравился масштаб или направление текстуры то сделайте так: Выделите полигоны где вам не нравится масштаб, назначьте модификатор UVW map щёлкаем по плюсу слева от него выбираем gizmo и с помощью инструмента вращения, масштабирования, и перемещения добиваемся желаемого результата вот что получилось у меня

Terrain with roadmax28.jpg

Теперь перейдём к обрывам :) (Engine shader ставим на default, Compiler Shader на default, а game material на material/earth)

Для начала выделим полигоны как на рисунке

Terrain with roadmax29.jpg

Как видно они все более менее параллельны :) Теперь назначим модификатор UVW map потом в его настройках выберем ось Y и нажмём на кнопку fit увидим вот это

Terrain with roadmax30.jpg

Затем выполним настройку gizmo так как говорилось выше и получим вот это (масштабируем)

Terrain with roadmax31.jpg

Финальный вид

Terrain with roadmax32.jpgНе плохо, правда? :)

Теперь выделяем все три объекта нажимаем сталкер экспорт . Для настройки кнопки экспорта нажмите 1 в открывшемся окне поставите число на 10 (по умолчанию стоит 9) пролистайте вниз списка и там выберите 3 конечно надписи на ней не будет а появится она только тогда когда вы нажмёте на 4 дальше жмём ОК

Terrain with roadmax33.jpg

Нажимаем на появившуюся кнопку и видим

Terrain with roadmax34.jpg

Здесь нажимаем на выделенную кнопку и указываем папку скажем такую level_terrain_test которую создадим по адресу D:\Program Files\X-Ray SDK\level_editor\rawdata\objects\level_terrain_test (папка может быть и не здесь, зависит от того куда вы установили SDK). Ах да, не забудьте что если вы делаете новую текстуру то её нужно добавить в папку импорт и импортировать в SDK. В SDK нужно нажать на кнопку Images, затем на check new textures и на кнопке OK

Terrain with roadmax35.jpg

Дальше жмём на кнопку 1, ставим галочку 2 и жмём ОК 3

Terrain with roadmax36.jpg

Видим наш левел

Terrain with roadmax37.jpg

Но чтоб добавить его в игру(мультиплеер) нужно минимум создать на нём источник света, объект глоу, и два rs point-а и так приступим . Выберем Light 1 нажмём 2 (чайник) потом на точку 3 затем на инструмент 4 и ось 5 и нажав на сферу поднимем её вверх мышкой.

Terrain with roadmax38.jpg

Затем выберем вкладку Glow, нажмём на чайник и щёлкнем на терейне. Появится экранчик - его поднимем в центр сферы и нажмем на кнопке Properties, введём имя 2 выберем качество 3(низкое чтобы быстрее компилировалось) щёлкнем на 4 выберем текстуру 5 и кликнем на 6.

Terrain with roadmax39.jpg

Теперь выберем Spawn element и поставим на карту два rs pointa

Terrain with roadmax40.jpg

Теперь выберем вкладку Compile и выберем build

После нажмём ПУСК->Выполнить->в строке напишем X:\xrLC.bat level_terrain_test Скомпилируем наш уровень

Потом, в папке с игрой создадим папку gamedata, а в ней папку textures в которую вложим папку terrain с нашей текстурой террейна. Ещё создадим папку config, в которую вложим папку mp с файлом map_list.ltx из распакованной игры в который впишем после строки testers_mp_pool имя нашей локи level_terrain_test. Запустим сетевую игру и создадим сервер с нашей локой.

В папке с уроком положено два скрина из игры.

Если возникнут проблемы при запуске игры то тогда замените файл user.ltx из папки C:\Documents and Settings\All Users\documents\stalker-shoc на тот, что лежит в архиве и всё должно работать. Надеюсь, эта статья будет вам полезна.

Автор: Жуков Антон (Anton_dzot) Редактировал – Pihan13

Ссылки

Другие места
LANGUAGE