Военный конструктор. Редактор Operation Flashpoint: 1985 Cold War Crisis. Часть шестая: Военные краски
Где взять: Встроен в игру Возможности: 40% игровых; после данной статьи: 90% игровых
Сложность освоения: В зависимости от вашего желания. От очень легкого до экстремально сложного. Цикл статей по редактированию Operation Flashpoint близится к завершению. Хотя тема поистине безгранична, рано или поздно нужно подводить черту. Мы и так уже превысили все разумные пределы для описания редактирования. Поэтому следующая статья будут последней. Вышедшая локализация от компании "Бука" буквально вдохнула вторую жизнь в Flashpoint в России. Форумы на flashpoint-сайтах запестрили новичками, мой ящик просто-таки завалила волна писем, основной смысл которых сводился к "наконец-то ваши статьи мне пригодились", и, что самое главное, стали приходить не только вопросы, но и уже готовые работы. Спасибо всем, кто поделился ими — всегда рад видеть ваши работы на своем почтовом ящике. Только в будущем — шлите сразу на orange@igromania.ru с пометкой "Работа читателя "Мании"". В прошлой статье я пообещал в следующем номере рассказать об уникальных и, что немаловажно, сложных скриптах, но поскольку цикл завершается, решил отказаться от этой идеи. Желающих ознакомиться с данной темой я отправляю по адресу http://flashpoint.xaos.ru/fec/scripts — тут собрана хорошая подборка сложных скриптов с описанием на русском языке. Темой же сегодняшнего разговора будут текстуры. Bohemia Interactive уже выпустила утилиту для включения своих 3D-моделей в игру, но... зажала ее. Разработчики выдают ее только избранным, преимущественно создателям модов. Так что, как бы ни хотелось поговорить о 3D-моделинге, придется ограничиться лишь текстурами. Основные принципы Объяснять, что такое "текстура", таким образованным читателям, как вы, не нужно. А вот пояснить несколько вещей относительно текстур в Operation Flashpoint следует. В игре нет такого понятия, как "смена текстуры" (в отличие от Quake, например), — есть лишь понятие объекта и принадлежащей ему текстуры. Что это значит? А просто то, что нельзя наделать разных текстур для "Абрамса", а затем менять их в редакторе. При замене текстуры вы тем самым создаете новуюмодель, которую нужно помещать в папку Addons, либо просто заменяете оригинальную. Вот о том, как это делать, и пойдет сегодня речь. Инструментарий Для работы нам понадобятся: — Редактор, умеющий работать с tga-форматом (Photoshop и другие); — PBOTool — программа для создания и распаковки файлов типа *.pbo; — xPack — утилита для расшифровки файлов, содержащихся в *.pbo; — Texture Swap Utility — утилита для замены текстур в файле модели (P3D); — TexView — фирменная утилита BIS для конвертирования текстур; — и, конечно же, "Блокнот". Все программы, кроме "Блокнота", находятся на нашем компакте. Также их можно скачать с сайта www.ofpeditingcenter.com. Начало начал
Создание текстуры начинается... с выбора объекта, для которого она будет создана. Запускаем программку под названием PBOTool и с помощью нее раскрываем два файла в директории Flashpoint/DTA (либо Flashpoint/DTA/HWTL) — Data.pbo и Data3D.pbo. Программка распакует все в директории с аналогичными именами. Заглянув в директорию Data, вы обнаружите множество файлов с расширениями .pac и .paa; это как раз то, что нам нужно, — текстуры. В Data3D же содержатся файлы с расширением .p3d — фирменный формат 3D-моделей Flashpoint. Теперь вы поступаете следующим образом: выбираете нужную модель (это легко сделать по названию файлов) и переносите ее в какую-нибудь временную папку. Что сразу бросается в глаза — чехи народ цивилизованный, славянский, и поэтому вместо всяких rock'ов в названиях файлов присутствуют более
понятные слова, вроде "kamen". Запускаете утилиту xPack и расшифровываете p3d-файл. Старый файл удаляете, а получившийся открываете с помощью утилиты Texture Swap. Через некоторое время после открытия (если ожидание затянулось, не бойтесь — программа не зависла, а лишь считывает данные) в левой части интерфейса программы появится набор текстур. Отправляйтесь в директорию Data и среди великого многообразия текстур ищите те, которые требуются для модели — кропотливая работа, должен заметить. Скопировав текстуры во временную папку, запускайте фирменную программу BIS для просмотра и конвертирования текстур — TexView. Просмотрите все текстуры в поисках нужных и, утвердившись в выборе, начинайте конвертировать файлы в tga-формат (File/Save As... —вместо расширения .paa ставьте .tga). Открывайте любой редактор, понимающий tga,и делайте с текстурой все что угодно, вплоть до замены ее на другую. Сохраните работу в том же формате. На пути домой Теперь нам нужно поместить текстуру
обратно в архив. Для этого запускаем TexView и открываем отредактированные текстуры. Тут есть маленький нюанс, который очень легко проглядеть. Дело в том, что движок OFP оптимизирован так, что с удалением от объекта (например, дерева) детализация этого объекта начинает постепенно уменьшается, равно как и качество текстур. Для того чтобы игра знала, насколько ей ухудшать текстуру, нужно применить в выше обозначенной TexView команду Mipmap/Generate. Программка сама сгенерит "уровни
деградации" текстуры, избавив вас тем самым от излишних мучений. После проделанной операции сохраните текстуру в прежнем расширении. Тут стоит обратить внимание на то, что TexView сохраняет только в расширении .paa. Разницы между этими форматами нет, но расширение имеет важное значение (все файлы прописаны в модели). Если ваша текстура раньше была с расширением .pac, то просто переименуйте ее в .paa. Развилка Возвращать текстуры в игру можно двумя различными путями — "тупо и быстро" или "медленно, но со вкусом". Первый — берем готовые текстуры и запихиваем их в игру вместо старых (при помощи PBOTool либо StuffPBO, работу которой мы описывали в предыдущих статьях). Второй путь сложный, но в результате приведет к созданию полноценного отдельного юнита, помещаемого в папку Addons. Текстуры уже готовы
— осталось лишь включить модель в игру. Запускайте утилиту Texture Swap. Среди списка текстур, что находится в левой части интерфейса программы, вам нужно найти те, которые подверглись редактированию. При выборе текстуры показывается путь, по которому ее ищет игра. Все, что нужно сделать, — изменить этот путь. Сначала нажмите на кнопку Replacement и выберите нужную текстуру. В поле Texture Folder напишите название файла вашей миссии и в конце поставьте "\" — игра воспринимает все файлы *.pbo как поддиректории, и слеш является обязательным. Проведя замену путей к текстурам, сохраните новый *.p3d, удалите старый и переименуйте новый так, чтобы он соответствовал указанным путям. Теперь наступает самая сложная стадия — написание файла config.cpp. Файл содержит в себе очень много информации о вашем юните, в том числе его физические характеристики. Подробно останавливаться мы на нем сегодня не будем — ждите рассказа в следующей, завершающей статье. А чтобы жизнь вам не казалась такой сложной, на компакт мы выкладываем расшифрованные версии config.cpp практически для всех юнитов, присутствующих в игре. Вы сможете скомпилировать конфиг под свой юнит — останется лишь запустить PBOTool, дабы собрать весь материал в один (не сомневаюсь, что большой) pbo-файл. Но помните о путях, прописанных для текстур! На сегодня — все. Как я уже сказал, в следующем номере мы создадим свой собственный юнит, пускай и из стандартной модели.
981 Прочтений • [Военный конструктор. Редактор Operation Flashpoint: 1985 Cold War Crisis. Часть шестая: Военные краски] [19.05.2012] [Комментариев: 0]