Найти в Дзене

СОЗДАЁМ НОВЫЕ ЗДАНИЯ ДЛЯ ИГРЫ CITY LIFE

СТРОИТЕЛЯМ ВИРТУАЛЬНЫХ ГОРОДОВ Приветствую всех любителей строить виртуальные города в City Life Deluxe или Edition! В предыдущих статьях я уже рассказывал о том, как редактировать свойства объектов города в прикладной программе BuildingCustomizationEditor, и о том, как значения этих свойств влияют на поведение того или иного здания в ходе строительства. В этой статье мы на конкретных примерах рассмотрим два способа создания нового здания для будущего города в Виртуальной реальности. ПЕРВЫЙ СПОСОБ ‒ Сохранение уже имеющегося здания под новым именем и в новом качестве. Этот способ ‒ наиболее простой. Вы просто открываете файл какого-нибудь здания, например, предприятие для бедноты или синих воротничков, или другой группы и сохраняете его под новым именем. В меню File программы выберите команду Save As... При этом не происходит переименование открытого в данный момент файла, а создаётся новый файл здания, основанный на открытом. Поскольку новое здание создаётся на основе ранее открытого,
Оглавление

СТРОИТЕЛЯМ ВИРТУАЛЬНЫХ ГОРОДОВ

Рисунок 1. Рабочее окно программы BuildingCustomizationEditor (Редактор строений).
Рисунок 1. Рабочее окно программы BuildingCustomizationEditor (Редактор строений).

Приветствую всех любителей строить виртуальные города в City Life Deluxe или Edition! В предыдущих статьях я уже рассказывал о том, как редактировать свойства объектов города в прикладной программе BuildingCustomizationEditor, и о том, как значения этих свойств влияют на поведение того или иного здания в ходе строительства.

В этой статье мы на конкретных примерах рассмотрим два способа создания нового здания для будущего города в Виртуальной реальности.

ПЕРВЫЙ СПОСОБ ‒ Сохранение уже имеющегося здания под новым именем и в новом качестве.

Этот способ ‒ наиболее простой. Вы просто открываете файл какого-нибудь здания, например, предприятие для бедноты или синих воротничков, или другой группы и сохраняете его под новым именем. В меню File программы выберите команду Save As...

Рисунок 2: Окно пересохранения файла под другим именем и в новом качестве.
Рисунок 2: Окно пересохранения файла под другим именем и в новом качестве.

При этом не происходит переименование открытого в данный момент файла, а создаётся новый файл здания, основанный на открытом. Поскольку новое здание создаётся на основе ранее открытого, оно наследует все свойства "родителя" в их первоначальных значениях. Также в меню зданий, появляющемся при открытии и соответствующем меню самой игры, новому зданию присваивается та же иконка, что и у здания-шаблона.

Если вы создаёте новое здание для другой социо-культурной группы и вообще для другой категории зданий, например из индустриальной зоны в муниципальную, то после пересохранения нужно поменять значения всех свойств. Как это сделать быстро? Очень просто! В меню Правка (Edit) выбираете команду Copy properties from... (Копировать свойства с ...). Откроется диалоговое окно открытия файлов зданий:

Рисунок 3: Открытие соответствующего файла для копирования свойств.
Рисунок 3: Открытие соответствующего файла для копирования свойств.

Для копирования свойств всегда выбирайте здание из той же директории, что и создаваемое, которому эти свойства делегируются. Вы также можете назначить новую иконку зданию. Для этого на панели задач есть жёлтенький квадратик. Перед созданием новой иконки выберите подходящую по вашему мнению позицию близости/отдалённости камеры, направленной на здание. Иконка будет создана из скриншота той части окна программы, где отображается ваше здание. Нажмите на жёлтый квадратик в панели задач и в появившемся диалоговом окне замены иконки нажмите снова ОК. Теперь в меню выбора зданий игры ваш новый объект (предприятие или учреждение) будет иметь собственный значок.

Примечание:
Настоятельно рекомендую перед пересохранением здания открыть соответствующий ему xml-файл свойств в Notepad++ и убедиться в том, что свойство EditableMeshState0 не содержит данных кроме "".
Рисунок 4: Свойство EditableMeshState0 не содержит никаких данных. Тем лучше!
Рисунок 4: Свойство EditableMeshState0 не содержит никаких данных. Тем лучше!

Почему это так важно? Дело в том, что при работе с "Редактором строений" я столкнулся с одной весьма выводящей меня из себя проблемой: возникающей ошибкой при сохранении здания под новым именем и, как следствие, прекращением работы программы. Раньше я думал, что это происходит при пересохранении здания в одном и том же разделе меню зданий. Но, как оказалось, причина заключалась в другом: свойство EditableMeshState0 содержало данные о "редактируемой модели", то есть, путь к файлу *.sg, тот же, что и в свойстве MeshState0. Во избежание этой проблемы лучше удалять все данные из EditableMeshState0 и сохранять изменения в Notepad++, но при этом не закрывая файл свойств в текстовом редакторе. Важно, чтобы во время этого процесса открытыми оставались оба редактора: игровой и текстовый. Таким образом, после перехода к "Редактору строений" вы снова открываете здание, уже открытое в Notepad++, и пересохраняете его, создавая из него новое, пока свойство EditableMeshState0 остаётся пустым. После создания нового файла вы можете вернуться к ранее открытому зданию в Notepad++ и отменить внесённые в документ изменения, если таковые производились. И так ‒ с каждым пересохраняемым зданием.

СОВЕТ: Если ваш творческий процесс по созданию новых предприятий, учреждений и прочих зданий для будущего города протекает успешно и без ошибок программы, и вам самим нравится то, что вы создаёте, сохраняйте всё, что создаёте. Помните, чем больше объектов города вы создадите, тем разнообразнее будет ваш будущий виртуальный город.

ВТОРОЙ СПОСОБ ‒ Создание нового здания с нуля.

Данный способ занимает больше времени и потребует от вас много терпения и аккуратности. Он предполагает создание нового объекта города, что называется "из ничего", буквально используя один из имеющихся в арсенале игры строительных наборов, состоящих из отдельных частей зданий, существующих в виде трёхмерных моделей и созданных в сторонних трёхмерных редакторах, таких как Blender и 3DS-MAX. Это файлы трёхмерных моделей, созданные в формате *.SG ‒ Scene Graph Files, разработанном специально для таких игр, как City Life. Однако, работа этих файлов в свою очередь опирается на вспомогательные файлы *.mesh и *.meshdata, без которых правильное отображение SG-файлов было бы невозможно. Но в этот дремучий для многих из вас лес я углублять вас не стану, тем более, что BuildingCustomizationEditor сам генерирует эти файлы в процессе создания нового строения для игры.

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

ШАГ 1: ВЫБИРАЕМ, ЧТО СОЗДАТЬ: ЖИЛОЙ ДОМ ИЛИ ЗДАНИЕ НЕЖИЛОГО НАЗНАЧЕНИЯ.

Вариант 1: Начинаем создание дома.

Жилые дома в игре City Life и в программе BuildingCustomizationEditor ‒ это отдельная категория зданий ‒ "Жилой фонд". Для создания жилого дома на панели инструментов нажимаем на значок, который вы видите самым первым слева. При наведении на него курсора мыши появляется подсказка "Create a new residential building" ‒ создать новое жилое здание.

Рисунок 5. Начинаем процесс создания жилого здания.
Рисунок 5. Начинаем процесс создания жилого здания.

Как только нажали на этот значок, тут же появляется диалоговое окно, где вам предлагается выбрать размер дома: Small ‒ маленький, Medium ‒ средний и Big ‒ большое жилое здание и социальную группу, представители которой будут потенциальными жильцами в новом доме.

Как видно на рисунке №5, первое текстовое поле в этом диалоговом окне предназначено для ввода имени, которое будет присвоено создаваемому жилому зданию и соответствующему ему xml-файлу со свойствами объекта. Введите новое имя в формате "House0_group1". Вместо слова group должно быть:

allam ‒ синие воротнички;
bobos ‒ прогрессивная интеллигенция;
fringe ‒ бюджетники;
lowlife ‒ беднота;
preppy ‒ элита;
suits ‒ белые воротнички.

Цифра после слова House должна быть от 0 до 2, а слово после "_" должно совпадать с категорией в списке "Culture". Последующие шаги для обоих вариантов одинаковы. Однако помните, что первый описанный способ не подходит для создания дома, только второй.

Вариант 2: Начинаем создание нежилого здания.

Рисунок 6: Создание нежилого здания.
Рисунок 6: Создание нежилого здания.

Если мы создаём здание нежилого назначения, то выбираем второй значок на панели инструментов и щёлкаем его.

ШАГ 2. ВЫБИРАЕМ СТРОИТЕЛЬНЫЙ НАБОР ДЛЯ ДОБАВЛЕНИЯ ДЕТАЛЕЙ.

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

Рисунок 7: Диалоговое окно выбора строительного набора.
Рисунок 7: Диалоговое окно выбора строительного набора.

Выберите наиболее подходящий по вашему мнению и желанию строительный набор и нажмите ОК.

ШАГ 3. НАЧИНАЕМ ДОБАВЛЕНИЕ ДЕТАЛЕЙ НА СЦЕНУ.

Рисунок 8: Добавление деталей, частей здания на сцену.
Рисунок 8: Добавление деталей, частей здания на сцену.

Итак, после минуты ожидания, а именно столько времени обычно требуется BuildingCustomizationEditor для создания новых файлов, мы увидим сцену в графической части окна программы. На неё и нужно добавлять части здания из строительного набора. В левой верхней части рабочего окна выберите вкладку "Construction parts" и просто перетаскивайте каждую деталь на сцену, цепляя её нажатием клавиши мыши на соответствующем ей элементе списка частей здания.

Хочу сразу предупредить всех желающих поработать в программе BuildingCustomizationEditor и с её помощью насоздавать целую кучу разнообразных зданий для будущего города: процесс этот весьма трудоёмкий, но очень творческий и интересный, требующий терпения и дизайнерского подхода. Почему трудоёмкий? ‒ спросите вы. И я с радостью отвечу ‒ потому что BuildingCustomizationEditor ‒ программа, в принципе, как задумка, сама по себе хорошая, но приложение имеет ряд изъянов, которые меня просто бесят иногда при работе с ним. Одним из таких изъянов, как я уже говорил ранее, является свойство программы глючить при пересохранении зданий с целью создания новых производных объектов. Но иногда это происходит и при создании чего-либо с нуля, а именно, при добавлении деталей на сцену. Я с этим, по крайней мере, столкнулся. Поэтому настоятельно рекомендую почаще сохранять изменения, которые вы совершаете при создании объектов.

Другой изъян ‒ не менее существенный, поскольку он затрудняет дизайн строения. В программе не предусмотрено инструментов для точного позиционирования и масштабирования частей здания, нет форм дополнительных, которые можно было бы вызвать для настройки размера и расположения по точным координатам в трёхмерном пространстве сцены. Одним словом, BuildingCustomizationEditor ‒ это вам не Blender и не 3DSMAX, к сожалению, он гораздо проще и примитивнее. Возможности этого прикладного к игре City Life редактора сильно ограничены. Да, и что тут говорить, если нет даже возможности копирования и вставки, то есть, создания копий уже добавленных деталей. Конечно, это большие минусы BuildingCustomizationEditor, с которыми вы неизбежно столкнётесь, если захотите существенно расширить меню зданий игры, пополнив его вашими, авторскими. Однако, это ‒ моё лирическое отступление. Использовать BuildingCustomizationEditor и создавать ли свои авторские здания для города или обойтись теми, что уже есть в меню игры, по-любому, решать вам. Но, если решите обойтись тем, что уже есть и было создано авторами и дизайнерами игры ‒ разработчиками, а они создали их не очень много, то будьте готовы к тому, что ваши будущие города не будут отличаться особым многообразием зданий. В дальнейшем виртуально-реалистично гуляя по ним, вы будете видеть одни и те же здания больниц, школ, пожарных станций и полицейских участков, предприятий и организаций, объектов инфраструктуры и экологического окружения. Согласитесь, дорогие друзья, что это скучно! Я же предлагаю "немножко" помучиться с этим несчастным и несколько недоделанным редактором строений, чтобы потом мы с вами могли получать максимум удовольствия от строительства городов и дальнейших прогулок по ним.

Итак, немного отвлеклись, отдохнули, продолжим занятие!

Естественно, в BuildingCustomizationEditor есть возможность произвольно располагать части здания и настраивать их размеры, но делается это буквально вручную. На панели инструментов есть кнопки, предназначенные специально для этого, они располагаются в правой части панели инструментов. Позиционировать части здания можно практически как угодно, а вот масштабирование происходит одновременно пропорционально по всем величинам: высоте, длине и глубине. Пытался менять что-то одно из этого ‒ не получается.

ШАГ 4. ДОБАВЛЕНИЕ ДЕКОРАЦИЙ ‒ ЛАНДШАФТНЫЙ ДИЗАЙН.

Не исключено, что многие из вас слышали когда-нибудь о ландшафтном дизайне и о программах, позволяющих им заниматься. Так вот, и в "Редакторе строений" есть нечто подобное. Теперь, когда все части здания на сцену добавлены, переходим к другой вкладке левой верхней части рабочего окна. Эта вкладка обычно ‒ первая. В ней вы увидите папки, в которых хранятся различные объекты для декораций и ландшафтного дизайна. Добавляются они на сцену тем же способом, что и детали здания из "Сonstruction parts" ‒ перетаскиванием.

ШАГ 5. РАБОТА С ТЕКСТУРАМИ.

Не менее важный и очень интересный момент в любом дизайне ‒ это работа с текстурами. Чтобы начать её, необходимо перейти к соответствующей вкладке ‒ Texture region. Но перед тем, как начать изменение текстур здания, зайдите в меню Файл и выберите команду Editable textures, чтобы отметить её галочкой. При этом появится следующее сообщение:

Рисунок 9: Предупреждение перед изменением текстур.
Рисунок 9: Предупреждение перед изменением текстур.

Те, кто знают английский язык, поймут, о чём это сообщение. Для тех, кто не знает, переведу:

«Здание будет сохранено, и будет создана отдельная копия текстур здания. Вы уверены?»

Если и впрямь уверены, нажмите ОК, в противном случае ‒ Отмена.

Теперь можно редактировать текстуры, щёлкая в графической части окна интересующую вас область объекта или выбирая соответствующий квадратик текстуры из списка во вкладке "Текстуры" левой верхней части окна. Вы можете использовать уже имеющиеся в арсенале текстуры, а можете загружать ваши собственные из имеющихся на компьютере графических файлов. Изображения должны быть популярных графических форматов: ВМР, JPEG, TGA.

ШАГ 6. РАБОТА СО СВОЙСТВАМИ.

О самих свойствах объектов и их назначениях я вам рассказывал в предыдущей статье. Здесь скажу только, что при создании файла нового здания определённой категории программа автоматически задаёт этому зданию соответствующие его родной категории свойства. Вы можете вручную и по отдельности изменять значения свойств в таблице в левой нижней части рабочего окна редактора. Но если вы желаете сразу изменить значения нескольких свойств, и у вас есть уже здание данной категории с идеально настроенными свойствами, вы можете использовать такое здание в качестве некоего "шаблона" свойств, которые можно делегировать и другим зданиям из той же категории. Напомню, как это делается. Меню Edit > Copy properties from... и в открывшемся диалоговом окне выбора файла выбираете здание с желаемыми свойствами. Разумеется, вы должны помнить, в каком здании, в каком xml-файле вы храните такие свойства.

ШАГ 7. ИМПОРТ ИЗ РКВ И ЭКСПОРТ В РКВ-ФОРМАТ (опционально).

Наверно, многие из вас сталкивались с такой ситуацией: установлена на компьютер игра, созданы предварительно несколько пользовательских зданий для будущего города, и уж несколько городов построено... И тут пум-с! Возникла необходимость переустановить игру, например, в связи с установкой новой версии Windows. И вот, незадача! Все труды ‒ коту под хвост! Всё, что в Редакторе Строений было создано, навсегда утрачено, придётся заново разрабатывать эти здания, снова тратить драгоценное время.

Во избежание таких ситуаций рекомендую сохранять все созданные в Редакторе здания во внешние РКВ-файлы. Эти скомпилированные в результате экспорта файлы имеют сложный двоичный формат и содержат все данные о здании: его свойства, текстуры, трёхмерное отображение и много чего ещё. И всё это в ходе экспорта в РКВ-формат упаковывается в один файл немаленького размера, насчитывающего тысячи килобайт.

Эти файлы-упаковщики зданий для нашей игры нужно бережно хранить где-нибудь не очень далеко на компьютере, чтобы при осуществлении импорта их обратно в игру их можно было легко найти. Я их храню на Яндекс.Диске, в папке, которую я создал специально для них, имеющую те же подпапки, что и в меню Редактора зданий, которое открывается по команде "Открыть" или "Копировать свойства из...".

Но это мой личный подход. Теперь ближе к сути.

Для экспорта зданий в РКВ-файл и импорта их из РКВ-файла в Редакторе зданий есть две команды в меню "Файл": Export и Import. Надо сказать, в этой программе только при выполнении этих двух команд открывается стандартное диалоговое окно выбора и сохранения файлов.

ПРИМЕРЫ ЗДАНИЙ, СОЗДАННЫХ ДЛЯ CITY-LIFE, В PKB-ФОРМАТЕ

Эти хранилища объектов зданий для City Life будут постоянно обновляться по мере создания новых объектов и их экспорта через Редактор Строений.

Сельсоветы

Образовательные учреждения

Развлечения

Экология, окружение

Пожарные станции

Медицина

Гостиницы