порт Корсаров на Андроид: Архив разработки адд-она

воскресенье, 5 ноября 2017 г.

Власть огня


На дворе 2017 год, делать адд-он к первым Корсарам и переименовывать Хайрок в Порт-Роял, Айль д'Оранж в Форт-де-Франс, придумывая при этом только имена персонажам - это одно, а изменять локации, а не пускать игрока по давно известным ему местам - это совершенно другое.

Модификацию начал делать с добавлением новых моделей в модель города. Добавление прошло успешно, правда пришлось повозиться с моделью колизий, но цель была достигнута. Наступила ночь. Взошла луна. И в Айль д'Оранж не загорался ни один факел. И вся проделанная работа, добавления виселиц, эшафота  оказалось напрасной. Модификацию города пришлось отложить и вместе с ним добавление новых локаций, которые хоть напрямую и не связаны с городом, но косвенным образом связаны с его уличным освещением.

Если вкратце рассказывать о взаимосвязи, то нужно обязательно выделить основные моменты. В игре есть четыре локации, в которые можно заходить. Таверна, магазин, верфь и резиденция губернатора. Меньше использовать можно, больше нет. Склад, тюрьму добавить нельзя, но поставить их вместо какой-то из выше перечисленных моделей  можно. Так как в Айль д'Оранж задействованы все 4 локации, я хотел сделать возможность входа в церковь, вместо магазина, продавца переселить на улицу, поставить ему лоток, ящики с продуктами, натянуть тенд, да и табличку около входа в магазин тоже надо было убрать, но это всё это означает редактирование модели города в Maya и добавление там локаторов, чтобы факелы зажглись.

В момент написания этой запили удалось выяснить причину аварийного завершения плагина cffTranslatorOpts и её устранить. Но все это время потраченное на поиск, меня занимал ещё один вопрос,  который возник после прочтения статьи Дмитрия Глашкова "Улучшаем графику в любой игре", почему нет ни одного ресурс пака? Утилиты для этого есть и давно, но ни одного ресурс пака! Только слышны отмазки на пиратских конференциях, что в игре главное не графика и не жаление игроков, которые начинают знакомство с серией играть в Проклятье дальних морей из-за устаревшей графики. Это настоящий парадокс.

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

Что касаться работы в Maya, то она очень не дружелюбная, что такое mtl который идет связке с obj не знает, наезд камеры (Dolly) в третей версии осуществляться при помощи "Alt + левая клавиша мыши + Средняя клавиша мыши", что жутко не удобно, так что отложил работу на потом.

воскресенье, 1 октября 2017 г.

Раритетный редактор. Часть II


Помню когда только появились Корсары 3 и начинали делать к ним модификации, ещё тогда возникали вопросы, где найти Maya 5, а тут ещё древнее артефакт Maya 2.0. В общем, продолжая поиски, решил обратиться к участникам конференции render.ru может у кого-то из них старый сборник на CD остался,  в котором шла и Мая. Долго к ним собирался, так как думал, что ни чего с этого не выйдет, но не пожелел, что обратился.

В ходе обсуждения выяснилось, что для работы плагина нужна не Maya 2.0, как я думал, а Maya 3.0 которую я в расчет не брал, было бы смешно в конечном итоге её разыскать, чтобы выяснить, что он под ней не пойдет.  Спасибо 4i4ikov-ву за анализ API версии плагина и за помощь в его запуске

Scooter.mll
Scooter - Maya 3
Серди множество опций (в отличии от плагина к 3D max 5) есть опции разворота модели по осям, масштабирования, экспорта текстур и как я и предполагал, опции расчета BSP, для задания коллизии, они точно такие как и в CLF Editor


Scooter oпции расчета BSP
Опция расчет BSP в плагине Maya
Пройдясь по всем опциям, в конечном итоге меня ждало разочарование, при экспорте возникла внутрення ошибка  Error: Could not save file и модель экспортировать не удалось.
И так, что мы имеем на этот час:
  • Плагин Alex.dle для 3ds Max 5 который экспортирует модель в CLF, которым пользуюсь сейчас
  • Плагин Max3exp.dle для 3ds Max 3.1 который экспортирует модель в CLF как и прошлый плагин, но по функционалу он хуже, чем прошлый
  • Плагин CorsairsExport.mll для Maya 5.0 которые экспроприирует модель, как и прошлые в CLF
Утилиту CLF Editor (bsp.exe) который конвертирует модель с формата CLF в CFF и производит расчет коллизий
  • Плагин cffTranslatorOpts.mel & Scooter.mll для  Maya 3.0 с большим функционалом, который может эспортировать модель сразу в формат CFF
Остается узнать:
Теряются ли локаторы при сохранении в формат CLF, не тереются ли они во время конвертации из формата CLF в CFF или же, как избавиться от внутренней ошибки, которая возникла в Maya 3.0

вторник, 29 августа 2017 г.

Состарившаяся обшивка кораблей

Вернувшись к созданию настоящей 3D модели Города Погибших Кораблей, не путать с городом  из дополнения к игре "Корсары: Возвращение Легенды". Задался вопросом создания для моделей текстур старой обшивки, которая от солнца и ветра дала трещины. Немного поэкспериментировав, вопрос решил при помощи фильтра "Кракелюры"
кракелюры
Photoshop: фильтр "Кракелюры"
Порадовало то, что в 3D Max  модель перезагружать не нежно, чтобы посмотреть, как легли новые текстуры, в вьюпорте материал меняется автоматически сразу после сохранения текстуры в Photoshop-е.

pinas потрескавшаяся краска
Сравнение результата на модели в 3D max

пятница, 25 августа 2017 г.

Раритетный редактор

Меня заинтересовал плагин cffTranslatorOpts тем, что судя по названию, сразу экспортирует модель в формат CFF, а не в CLF. И по ходу дела у него есть опция расчета BSP т.к. сразу экспортирует в CFF и Bsp.exe (CLF Editor) будет уже не нужен. Только для какой он версии Maya не известно, известно только, что это плагин от самой Акеллы т.к. в тексте скрипта стоит её копирайт.
Небольшой экскурс в историю. В апреле 1999 года появилась Maya 2, в ноябре этого года появилась Maya 2.5, а в июне 2000 Maya 3.
Плагин состоит из двух фалов:
  1. cffTranslatorOpts.mel датируется 24.05.2000
  2. Scooter.mll датируется 28.08.2000
Сами файлы 3D моделей в основном датируются с 25.05.2000 это на день позже чем появился cffTranslatorOpts, но есть несколько фалов которые появились раньше пять файлов в апреле и один в январе 2000, думаю это связано с настройкой самого плагина.
Путем не хитрых исчислений Maya 3 в расчет не бралась т.к. у неё дата выхода позже чем у скрипта. По датам подходят две версии 2.0 и 2.5 Разница между ними пол года, вряд ли версия изменилась на столько , что плагин ко второй версии не подойдет к промежуточной (0.5) при этом, что обе 99-го года выпуска.

Scooter и Maya 2.5
Посоветовавшись Capitan-ом Blood-ом, к какой он версии скорее всего был написан, склонились к тому, что он для версии 2.5 Это версия раритет оказался ещё тот, даже в пиринговых сетях следов не осталось. Спасибо cmykcat с конференции render.ru за предоставленную копию редактора. После удачной установки и запуска, пришлось обломаться, плагин под версией 2.5 загружаться отказался.
Значит этот плагин к более ранний версии, в феврале 1999 года была впущена ещё одна версия, первая версия Maya. Надо было убедиться, что плагин не от неё. Удалось разыскать. Установил, запустил, платин не пошел. Осталось Maya 2.0

среда, 24 мая 2017 г.

Исчезновение части модели в Рендере и в Игре

Исчезновение части модели в рендере можно решить поставив в галочку Force 2-Sided в Render Setup (клавиша F10) в закладке common, но мне надо ни только в рендере, но и в игре. Эту проблему решил применив к недостающим частям 3D модели модификатор Shell с нулевыми параметрами.

3D max - Модификатор Shell
И как только все стало на свои места, и я ввел новую модель в игру, как Главный герой прошел сквозь неё ((

Коллизия в городе не такая, как в море. Я как будто чувствовал, что не будет всё гладко, когда после первого теста установки модели Хайрока обратно в игру врезался в невидимую стену. Ну что, Process Monitor в зубы и смотреть, что это ещё загружается, кроме модели города, и каким файлам обращается ENGINE.exe

четверг, 18 мая 2017 г.

Развернуть текстуры - третий способ

Немного поразворачивав текстуры, как я говорил в прошлой записи, решил продолжить поиски, так как:
Первый способ хоть и рабочий, но заменять существующие текстуры перевернутыми изображениями или дублировать их, увеличивая тем самым количество файлов из-за того, что CFFEditor криво экспроприирует координаты, совсем ни куда не годиться.
Перевернутая текстура
Что касаться второго способа, то он подходит,  если у модели всего 1-а текстура, ну максимум 10 - 15, но когда их около 50 и более (модель города), то сбиться при таком количестве очень легко, а если вторая модель имеет столько же текстур, то энтузиазм что-либо моделировать резко падает ещё на этапе подготовке модели к тому виду которую мы видим в игре.
Пораскинув мозгами, как ещё можно развернуть текстуры, решил попробовать поправить сам OBJ-ект, который представляет из себя обычный текстовый файл в котором хранятся координаты точек, описание координат текстур, которые задаются параметром (vt).
И начал с того, что просто поменять знак, минус на плюс, а плюс на минус. Текстуры развернулись на 180, но при этом развернулись и на 180 по горизонтали, что мне совсем не надо
Разворот текстур на 180 и по вертикали и по горизонтали

а для чтобы привести к тому формату, который мне нужен, потребуется ещё больше времени, чем занимает второй способ, так что я эту затею оставил, но вопрос остался отрытым
- Раз все текстуры выделить (сделать активными) ни как нельзя - подумал я, - то наветчика надеться скрипт, который сделает за меня всё, что мне нужно. Порыскав по инету наткнулся на  скрипт randomizetexture1.2.ms Александра Кладова, хоть он развернул текстуры точно так, как выше описанный способ, но сам код работает через UVW Xform, что меня заинтересовало т.к. я до этого пробовал Material Editor и модификатор UVW Map, который все рекомендуют и всего одна галочка этого модификатора разом перевернула все текстуры, как мне надо!
uvw Xform
С текстурами вроде бы всё... Остаться разобраться с исчезновением части модели, как в рендере, так и в игре.
Исчезновение части модели

среда, 3 мая 2017 г.

3D max и CFFEditor


Сколько бы я не искал 3D Ripper который дружил бы с DirectX 7 и смог бы вытащить модели из игры "Корсары: Проклятье дальних морей" я так и не нашел, поэтому вернулся к CFFEditor-у.
3D max 5 SP1
 В 3D max 5 при импорте OBJ файла терялась часть модели (полигонов), а в 3D Max 2012 все проходило нормально, загвоздка была том, что max 5 с которого можно экспортировать модель в формат CFL работал только под Win ХР, а  Max 2012 под Win 7. Для того чтобы посмотреть модель в игре приходилось перезагружать комп для выбора нужной системы, что естественно затягивало моделирование. Совершенно случайно наткнулся на пятую версию со встроенным сервис паком, после чего стало возможно запуск пятерки под Win 7, теперь дела пошли на много быстрее.
BFF Exporter v. 0.4.2

Совместимость версий разница между которыми 10 лет решил при помощи скрипта BFF Exporter (BFF0_4_3), который позволяет сохранить геометрию, текстуры, анимацию и т.д.  одной версии макса и отрыть их в другой.
Устанавливаться легко, файл скрипта копируем в ..\Autodesk\3ds Max 2012\Scripts\Startup
потом:
Установка BFF exporter-а
 Для того чтобы отрыть в максе экспортируемую модель заходим MAX Script -> Run Script
Импорт файла с версии 3D max
С геометрией вроде бы все понятно, но как я говорил ранее, при конвертировании в формат OBJ сбиваются координаты текстур и они накладываются вверх ногами
Как импортируется и как должно быть

тут два пути решения
Первый:
Конвертировать текстуры в формат TGA и при помощи Photoshop-а развернуть их на 180 ( Редактирование - трансформирование - Поворот на 180)
Второй:
Изменить координаты текстур в самом 3D редакторе

Изменить координаты текстур при помощи редактора материалов

понедельник, 10 апреля 2017 г.

Экспорт - Импорт моделей из игры Корсары: ПДМ

Под новый год загорелся идей вести в игру новую модель. Но прежде чем приступить, решил проверит на работоспособность все плагины и утилиты которые есть, чтобы не получилось так, модель будет готова, а засунуть её в игру будет нельзя... Потом переезд на новый домен, адаптация на новом месте (подключение метрики, веб-мастера и т.д.) и все нюансами с которыми столкнулся за это время подзабыл, потому и решил зависти рубрику "Дневник разработчика"

Plugin 3D max - Alex.dle
Alex.dle
Плагин для 3D max 5 от unk1024 (один из разработчиков аддона "Золотой Кораван", член конференции ПНВ (Пираты Нашего Времени)). Плагин рабочий. Экспортирует модель в формат CLF достался мне от CapitanBlood-а разарабочика адд-он(а) Пираты российской империи к игре К2:ПКМ
Нюансы:
3D max 5 работает только под Windows XP, под  Windows 7 не запустился.

CLF Editor

Bsp
Bsp.exe
Утилита от бургов конвертирует формат CLF -> CFF
CFF - формат всех 3D моделей кораблей, остров, зданий, персонажей.
CLF - хоть 8 файлов можно найти в ресурсах игры, их предназначение я пока не определил
Кроме этого утилита прописывает Сollision Detection, Action -> Create BSP  (параметр для определения физического столкновения двух твёрдых тел во время движения при помощи которого и определяется  алгоритм при физическом столкновении). Спасибо Capitan-у Blood-у за консультацию в решении этого вопроса  решением этого вопроса.

 CFF Editor

Редактор CFF
Эту утилиту тоже написал unk1024 (Lesha) при помощи которой модели в формате CFF конвертируются в OBJ
Конвертирует коряво, текстуры вверх ногами, сама модель развернута на 180 градусов и имеет зеркальное отражение

SeeLod_Viewer
Бала идея рипнуть модель при помощи Ninja Ripper загрузив её через просмотрщик SeeLod_Viewer, Риппер разобрав модель на 1256 частей, с текстурами была таже беда
3D Ripper DX текстуры наложил идеально, но из-за невозможности выбрать значение Recomendet values, модель сплющилась

Сплющенная модель Пинаса