Morrowind – Construction Set Урок 4-6 (окончание) | VRgames - Компьютерные игры, кино, комиксы

Morrowind – Construction Set Урок 4-6 (окончание)

on апреля 30, 2004 - 00:00

После публикации первой статьи я получил несколько писем с вопросами об исправлении глюков Фаргуса. Вопросов по работе в Сете, в принципе, не было. Однако после второй статьи начало поступать множество вопросов именно по диалогам, т. е. по первой статье. Некоторые из них я рассмотрю. Но хочу, чтобы вы поняли самое главное — надо учиться самому находить ответы. Например, вопрос: "Как создать квест, где, например, надо будет принести грибок?". Да, я этому не учил. Да, как это сделать, нельзя узнать какими-либо размышлениями. Но неужели нельзя найти тот же самый квест "ceramics bowl" (надо доставить Ажире керамическую миску) и по аналогии создать свой "muhamorchik". "Ну мыслимо ли таким людям доверить валюту? А?! Чисто как дети, ей богу" (М. А. Булгаков "Мастер и Маргарита", фраза конферансье из главы "Сон Никанора Ивановича").

Переходим к делу. В этой статье я расскажу, как редактировать местность, создавать интерьеры, также я отвечу на некоторые вопросы.

Урок 4
Цель: научиться редактировать открытые пространства.

Основы
На движке существуют два вида ячеек: indoor'ы и outdoor'ы. Interior и Exterior соответственно. Outdoor — это открытые пространства, имеющие свои декартовы координаты относительно центра карты (0;0). Тут все действие происходит в Render Window. Сначала разберем, как в вышеупомянутом окне ориентироваться.

Полеты
Да-да, именно полеты. Render Window — это графическая часть движка в Сете. Вы — это камера. Этой камерой можно (и нужно) управлять. Приведу все возможные виражи:
"C" — центрирование.
Shift + движение мышью — изменение направления "взгляда".
¬, ­, , Ї — повороты камеры относительно осей.
Скроллер вперед — приближение.
Скроллер назад — отдаление.
Советую настроить Movement Speeds в окне File.../Preferences под себя, так как "заводские" настройки слишком неудобные.

Интерфейс
Для работы с ландшафтом откройте окно Landscape Editing Settings (кнопка с рисунком пейзажа).
Тут также советую настроить под себя Edit Radius (размер изменений уровня земли) и Edit Falloff (сглаживание полигонов при изменении уровня). Чекбоксы Show Edit Radius, Flatten Vertices и Soften Vertices означают:
Show Edit Radius — показывать ли в Render Window радиус изменений;
Flatten Vertices — строгое сглаживание;
Soften Vertices — простое сглаживание.
Далее у нас список Textures. Там находятся текстуры, загруженные в редактор и доступные к нанесению на ландшафт. Добавить текстуры 256*256, 24-бита в формате .dds и .tga можно, нажав кнопку Add Texture и указав путь к файлу (для удобства желательно скопировать файл в директорию ...директория игры\data files\textures).

Ниже у нас идет Vertex Color. Тут можно выбирать цвета для тонирования местности.
И в самом низу кнопка Turn Off Landscape Editing, которая отключает режим редактирования ландшафта.
Вот мы и разобрались с теорией, а теперь — практика.
Собственно редактирование
Практика куда проще теории. Я бы выделил два режима редактирования:

1) Уровневотекстурный. Режим стоит по умолчанию. Позволяет изменять уровень поверхности и наносить на эту поверхность текстуры.
В Render Window, зажав на каком-либо участке земли левую кнопку мыши и перемещая курсор вверх-вниз, вы увидите, что уровень земли в области Edit Radius повышается и понижается соответственно.
Попрактикуйтесь, найдите какие-нибудь большие водные пространства и создайте там остров. Однако вы увидите, что этот остров очень некрасивый: поверхность цвета грязи, бедная растительность (а точнее ее отсутствие). Давайте украсим его. Первый способ — это нанесение текстур на поверхность. Перед этим следует закончить редактирование уровня поверхности, так как при изменении его с нанесенной текстурой могут появиться некоторые глюки с наложением. Выбираем нужную текстуру (ее можно предварительно просмотреть в окошке около списка текстур), если нужно — импортируем свою и нажатием правой кнопки мыши наносим ее на нужные участки карты. Не советую наносить на одно место несколько текстур, сначала надо удалить предыдущую. Чтобы это сделать, просто нанесите на поверхность текстуру "-NONE-".

2) Тонирование. Это и есть второй способ раскрасить остров. Он тонирует поверхность и текстуры, нанесенные на нее, каким-либо цветом. Я бы назвал этот способ основным.
Чтобы включить режим тонирования, надо поставить галочку в чекбокс Edit Colors. Теперь просто наносите цвета на карту нажатием кнопок мыши.

Примечание: белый цвет соответствует отсутствию тонирования.

Возникает вопрос: зачем надо тонирование, ведь все делается текстурами? Отвечаю. Текстуры используются только для того, чтобы накладывать какие-то особенные виды местности (дороги, болотные топи и др.), а вот что нам дает тонирование, я сейчас расскажу.
Запустите редактор заново, без подгрузки плагинов. Откройте окно Landscape Editing Settings. Мы видим, что текстур у нас нет, зато есть палитра. Установите темно-зеленый цвет в левом и черный в правом окне выбора цвета (соответствует левой и правой кнопкам мыши при нанесении). Сначала нанесите на поверхность зеленый тон. Ничего не напоминает? Да, это травушка-муравушка! Теперь черный. О, да это же лава!
Существуют еще две важные детали в создании пейзажей — окна World>Exterior Cell и World>Regions.
По порядку. В окне Exterior Cell есть несколько простых параметров:
Illegal To Sleep Here — запретить игроку спать здесь;
Wether Type — тип погоды какого региона присущ этой ячейке;
Map Color — цвет ячейки на карте.
С этим все. Теперь Regions. В этом окне можно редактировать следующие параметры регионов:
1) Sleep Creature — создание, которое может напасть на вас, когда вы спите;
2) Weather Chances — погодные условия (вероятность каждого из погодных явлений);
3) Region Map Color — цвет региона на карте. Нажмите кнопку Region Paint и вы увидите, как этот цвет использовать. Тут можно указать, на каких участках острова какие находятся регионы;
4) Таблица звуков — в этой таблице указаны звуки, которые могут "раздаваться" на просторах региона, их приоритеты и шансы. Чтобы добавить звук, его надо перетащить с окна Gameplay>Sounds (изображение динамика на панели инструментов).

Урок 5
Цель: научиться создавать и редактировать открытые пространства.
Я расскажу не столько как создавать и редактировать, сколько про работу с объектами (это и есть редактирование). Но сначала все-таки о главном.
Давайте создадим свою комнату. World>Interior Cell. Здесь можно настроить:
Ambient — цвет окружающего освещения;
Sunlight — цвет солнечного освещения;
Fog — цвет дымки и его параметр Density — плотность;
Illegal To Sleep Here — запретить игроку спать здесь;
Has Water — наличие воды и ее уровень (при наличии);
Behave Like Exterior — все параметры берутся с указанного outdoor'а.
Настроили? Тогда переходим к созданию интерьера.

Открываем закладку Static в Object Window. Тут мы видим все визуальные объекты, над которыми персонаж в принципе не может произвести никаких действий (стены, камни, деревья, водоросли, некоторая трава и многое другое). Для начала построим простую комнату в "стиле" Хлаалу из объектов in_hlaalu_room_ center*1 (центр комнаты), in_hlaalu_room_corner*4 (угол комнаты) и in_hlaalu_room_side*4 (стена комнаты). Для этого сначала перетащите (в прямом смысле) все объекты в Render Window и расположите их примерно так, как они должны стать в результате. Теперь, щелкая два раза на каждом из них (в Render Window), установите общий уровень по оси Z (Position>Z), поверните углы и стены правильно (Rolation>Z). Теперь начинается ювелирная работа.

ВНИМАНИЕ! Любая, даже самая маленькая неточность может сделать вашу комнату очень некрасивой.
Вы, наверное, заметили, что справа от полей XYZ находятся еще по одному полю. Это — интервал относительных передвижений. Для начала установите для какого-нибудь объекта (лучше для центра) круглые значения X и Y. Потом, устанавливая для остальных смежных с ним объектов такие же значения, двигайте их по какой-либо оси. Сначала интервал можно сделать побольше, а потом постепенно уменьшать его. Когда объекты будут совмещены, посмотрите на шов сверху, и если зазора не будет видно и текстуры не будут совмещаться друг с другом (при движении камеры такие текстуры будут мельтешить), вы можете переходить к следующей паре. Сначала у вас будет уходить очень много времени на то, чтобы совместить два объекта, но когда у вас будет много опыта, вы сможете построить комнату 3*3 за пять минут.

Второй важный аспект — двери, а точнее их телепортация. Открываем закладку Door, перетаскиваем в нашу комнату in_hlaalu_loaddoor_01 и ставим ее к стене. Со Static можно перетащить арку или часть комнаты с прорезом для двери. Опять же щелкаем два раза на двери в Render Window. В правой части появившегося окна видим чекбокс Teleport — является ли дверь телепортом. Включаем этот параметр и в выпадающем списке Load Cell выбираем нужную вам ячейку. Жмем Select Marker. В Render Window загрузится выбранная ячейка. Ваш взор будет обращен на фиолетовую стрелку. Эта стрелка и указывает, где появится игрок и куда он при этом будет смотреть.

С основами разобрались, но была бы игра такой интересной, если бы все комнаты состояли только из стен и дверей (это риторический вопрос)? Теперь перечислю все виды объектов:
Door — двери. Могут быть как телепортирующие, так и нетелепортирующие;
Ingredient — всевозможные алхимические ингредиенты;
Light — источники света. Могут быть переносными (факелы, подсвечники) и непереносными (костер);
Lockpick — отмычки, т. е. все, что может открывать замки;
Misc Item — вещи, которые персонаж может переносить в инвентаре, не может держать в руках, и не имеющие заранее назначенного предназначения (кроме золота);
Probe — щупы, т. е. все, что может обезвреживать ловушки;
Repair Item — снаряжение кузнеца, т. е. все, чем можно чинить вещи;
Static — статические объекты, т. е. все объекты, которые служат чисто в декоративных целях;
Weapon — оружие;
NPC — персонажи;
Creature — все создания и твари (Дагот Ур в том числе) в игре;
Leveled Creature — создания, сила которых зависит от уровня персонажа;
Activator — объекты, содержащие макросы или скрипты (т. е. которые что-то активируют);
Apparatus — снаряжение алхимика, т. е. все, чем можно создавать зелья;
Armor — броня;
Body Part — части тела, с ними мы разобрались в прошлой статье;
Book — книги, свитки, бумага, т. е. все, что сделано из целлюлозы;
Clothing — одежда;
Container — контейнеры, т. е. все, что может содержать другие объекты;
Spellmaking — заклинания;
Enchanting — магические эффекты;
Alchemy — все зелья, т. е. рай для алкоголика;
Leveled Item — вещи, зависящие от уровня персонажа.
Ну вот и ВСЕ!!! Вы закончили изучение 1% от всех возможностей Сета. Остальное изучайте сами;).

Урок 6
Цель: FAQ.
Тут моя цель ответить на ваши вопросы.

Как сделать так, чтобы можно было вступить в гильдию и повышаться в ней?
Результаты для повышения: "PCRaiseRank "имя_фракции"", например, "PCRaiseRank "Hlaalu"".
Результаты для вступления: "PCJoinFaction "имя_фракции"", например, "PCJoinFaction "Mages Guild"".
Важный аспект — это проверка "пригодности" к повышению: F/V >> Function >> Rank Requirement >> = >> 3.

Как сделать квест, в котором нужно принести, допустим, грибок?
Проверить наличие у игрока грибка — F/V >> Item >> Грибок >> > >> 0). В результатах фразы, чтобы убрать грибок, ставим RemoveItem (аналогично AddItem). Диалоги описывать не буду.

Я попытался напортачить новый квест. Но после вывода выбора (там, где "копи бабло, работа будет сделана" или "нет! Я не убийца") ничего не происходит. Квест вставлял в фразу приветствия Хасфата, что находится в Greething.
Надо и результатные фразы функции Choice вставлять в Greething.

Как сделать, чтобы NPC продавал что-нибудь?
Проще всего запихнуть все вещи в сундук, поставить владельцем NPC, запихать все такие же вещи в инвентарь NPC, только поставить количество товара со знаком минус.

Когда в Рендер-окне поменять координаты какой-нибудь книги, то Сет записывает в плагин ее содержание, а это очень сильно бьет по размеру. Что делать?
Перед тем, как перетаскивать книгу в Render Window, войди в ее свойства и поставь галочку в чекбоксе Blocked. Хотя и это не всегда помогает (странная штука этот Сет). Лучше сразу создай плагин, где поставь галочки на Blocked во всех книгах, а потом подгружай этот плагин каждый раз, когда будешь работать в Сете.

Как создавать объекты (копировать), если 3D моделей не имеется в наличии?
Входи в режим редакции нужного объекта, изменяй его ID и жми Save. На вопрос Create New Object отвечаешь "Да". Теперь ты имеешь клон объекта, характеристики которого можешь изменять на свое усмотрение.

Вот и весь курс TES3:Construction Set (после 6-го урока вы знаете 1,03% Сета). Пишите, постараюсь ответить на все ваши вопросы.

Шавловский Игорь, Ancorio

№ 52
Яндекс.Метрика