Изменение файлов .GeoPcDx

Игровые модификации (улучшения), патчи, звуковые пакеты, локализации, перекраски подвижного состава и всё остальное для дополнений и в виде дополнений к Train Simulator.
Ответить
Аватара пользователя
IlyaPolygalov
Бывалый
Бывалый
Сообщения: 30
Зарегистрирован: 22 дек 2010
Откуда: Россия, Пермь
Репутация: 26
Контактная информация:

Изменение файлов .GeoPcDx

Сообщение IlyaPolygalov »

Решение проблемы в теме маршрута "The Valley Of Mountains".
В местах, приближенных к дороге, я использовал копирование сборок из двух типов ёлок: "ель_01" и "ель_02". Теперь о том, почему я использовал только именно их.
Сравните скриншоты с типом елей 01 и 02 - Изображение и вместе с типом 03 и 04 - Изображение,
а теперь натуральный лес - Изображение Изображение Изображение, и тогда вы поймете, почему я взял только типы 01 и 02.
Так вот, так как по отдельности деревьев очень много, это и дает торможения при попадания в кадр, а блок из всех типов елок (в том числе 03 и 04) всего один, вместо 20-ти! Если я не ошибаюсь, то проблема с ресурсами как раз в количестве. Так вот, появилась идея - собрать этот же самый блок, но только из типов 01 и 02!

Стал рыться в кодовых файлах этих самых блоков и отдельных деревьев. Обнаружил, что этот блок ссылается на текстурки этих же деревьев, как я и предполагал. В файле с расширением .GeoPcDx нужно найти строку, отвечающую за ссылки на текстуру в папке textures к формату .TgPcDx.
Нашел имя текстурки

Код: Выделить всё

<TextureByName><e d:type="cDeltaString">textures\[0c]tree_fir_02_mid</e></TextureByName>
...причем наверно в параметре [0c] как раз и заключается ссылка. Далее, ничего не нашел путного, чтобы хоть как-то изменить ссылки текстур 03 и 04 на 01 и 02, кроме как вот такого шестнадцатеричного кода:
вот для ели_01 -

Код: Выделить всё

<d:blob d:size="112">
ACE8883F2EA7A441 567909BC00000000 
000000002A0AB8C0 00000000ACE8883F
00A0503C567909BC 000000000000003F 
2A0AB8C000000080 ACE8883F2EA7A441
567909BCCEC7E03E 000000002A0AB840 
00000000ACE8883F 00A0503C567909BC
CEC7E03E0000003F 2A0AB84000000080
</d:blob>
и подобные, но разные у других (по 2 столбца и 7 строк).
А в блоке их как раз столько сколько и деревьев, но никакого прямого совпадения с каждым деревом по отдельности нет! - это уже беда. И еще в коде прописаны не только ссылки на текстурку, но и место её расположения. Попробовал расшифровать их с помощью 16-ичного редактора - получилось вот это - Изображение.
Вот на этом я и застопорился. Жду совета от тех, кто тоже пытался что-либо подобное провернуть.
p.s. Я понимаю, что творю не совсем правовые дела, но думаю разработчики от Kuju не обидятся, если все получится, и я смогу создать копию, но уже с реалистичными деревьями (хотя и их тоже не назовешь уж идеалом) - все на благо маршрута.
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

Re: Изменение файлов .GeoPcDx

Сообщение Sergey1507 »

Что я знаю про *.GeoPcDx
1. *.GeoPcDx - файл 3D-модели с некой кодировкой которая задает параметры поверхности и прочих поверхностных свойств (редактированию без обратного конвертирования не подлежит).
2. Можно поменять ссылки на текстуры (можно в Hex-редакторе или можно в RW-tools)
3. Можно поменять дистанцию отображения LOD-ов (лучше делать в RW-tools)
4. Можно изменить тип поверхности материала (сделать прозрачным, зеркальным и т.п.)

Если RW-tools нет, тогда можно расширение ".GeoPcDx" заменит на расширение ".bin" и с помощью serz.exe превратить в xml-файл (который можно хоть блокнотом править). Последовательность превращения в ".GeoPcDx" обратная.

Теперь о проблемах с загруженностью маршрутов. Маршруты нынче до безобразия загружены объектами в которых высоко детализированные LODы отображаются на довольно больших расстояниях. Такая идеология нынче противоречит идеологии KUJU (сыграните в RailSimulator и почувствуете разницу - объекты вроде бы те же, но при однотипных настройках RailSimulator шуршит быстрее). Плюс еще TSX с включенными тенями (тени хорошо сжирают ресурс).

Вывод как всегда один:
Для снижения тормозов на маршруте надо снижать количество треугольников в отображаемой сцене. Так же надо снижать количество расчетных операций (по сути это количество одновременно едущих на маршруте поездов, как встречающихся, так и тех, что где-то далеко).
У KUJU для этой цели на маршрутах на всем протяжении стояли порталы для убирания "ненужных" поездов. А теперь посмотрите WCML, DonnerPas, NorthEast corridor, Подкову, Woodhead. Где порталы? Раз, два и все. А при всем этом большущие составы из далека идут на встречу и после встречи тоже еще не мало едут, и компьютер это все вынужден обсчитывать. А когда поезд ушел в портал, там обсчитывать нечего.

Вот что надо для оптимизации!!! Cнижать количество треугольников, и порталов побольше ставить.
Аватара пользователя
IlyaPolygalov
Бывалый
Бывалый
Сообщения: 30
Зарегистрирован: 22 дек 2010
Откуда: Россия, Пермь
Репутация: 26
Контактная информация:

Re: Изменение файлов .GeoPcDx

Сообщение IlyaPolygalov »

Sergey1507 писал(а):Что я знаю про *.GeoPcDx
2. Можно поменять ссылки на текстуры (можно в Hex-редакторе или можно в RW-tools)
вот этим мне и надо воспользоваться. Дело в том что файл текстуры один tree_fir_02_mid
Изображение
и текстура нужного дерева берется из этого файла. Осталось определить только как задаются координаты нужной текстуры, в этом я и ломаю голову. Но походу дела все это бесполезно, т.к. думаю им автоматически присваивается положение текстуры при создании объекта, и ни чем их не изменить, как раз сам путь и лежит в этом шестнадцатеричном коде.
Закрываю этот вопрос!
Зато получил результат по другому пути: заменил текстуры 3-ого и 4-ого дерева на 1-е и 2-е Изображение по каждому каналу, в том числе и по альфа каналу. Далее конвертация из bmp в dds, ну а уже потом в текстурный файл TgPcDx. Напоследок заменил оригинал и готово:
Изображение
Результат порадовал. Такой лес теперь буду создавать как отдельное дополнение к маршруту.
Аватара пользователя
Damien Thorn
Профессор
Профессор
Сообщения: 2055
Зарегистрирован: 29 окт 2011
Откуда: Nowhere
Репутация: 1444

Re: Изменение файлов .GeoPcDx

Сообщение Damien Thorn »

Вот недавно как раз столкнулся с такой задачей, как изменение путей к текстурам в файле GeoPcDx относящегося к одному локомотиву. По всей видимости, тяжеловат файл оказался, так как при попытке преобразовать файл xml обратно в бинарный, serz.exe просто вылетает. И как быть в таком случае?
Аватара пользователя
maxvel
Магистр
Магистр
Сообщения: 920
Зарегистрирован: 18 сен 2010
Репутация: 270

Re: Изменение файлов .GeoPcDx

Сообщение maxvel »

А если не запаковывать xml файл в BIN, по работе движка видно то что он все равно их распаковывает и хранит во временной папке..
Электроника БК0010-01 и БК0011м.
Аватара пользователя
Damien Thorn
Профессор
Профессор
Сообщения: 2055
Зарегистрирован: 29 окт 2011
Откуда: Nowhere
Репутация: 1444

Re: Изменение файлов .GeoPcDx

Сообщение Damien Thorn »

В bin запаковать нужно обязательно, ведь иначе как преобразовать в файл GeoPcDx после редакции.
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

Re: Изменение файлов .GeoPcDx

Сообщение Sergey1507 »

Damien Thorn
попробую объяснить принцип изменения путей к текстурам в файле GeoPcDx в Hex-редакторе.
вот картинка
Изображение

Если мы видим "textures\[00]class37_window01_nm" - это случай, когда текстура находится в папке textures той же директории где и GeoPcDx-файл.
если текстура лежит где-то в другом месте то мы увидим например такое "..\..\railfreight_grey\engine\textures\[00]class37_window01_nm". Вот это "..\..\" (или 5E 5E 5C 5E 5E 5C в Hex-коде) говорит о том, что для зацепа текстуры надо вернуться на две директории (от того места где GeoPcDx-файл) выше по каталогу (Примечание 5E 5E 5C - один переход на директорию выше). "railfreight_grey\engine\textures\[00]class37_window01_nm" - новый путь к текстуре от того места куда перешли. (В моем случае исходное место - это "Assets\RSC\Class37Pack01\RailVehicles\Diesel\Class37\Intercity\Engine". Место куда надо вернуться - "Assets\RSC\Class37Pack01\RailVehicles\Diesel\Class37"). На картинке есть символ подчеркнутый красным. Это число символов в строке "..\..\railfreight_grey\engine\textures\[00]class37_window01_nm" в шестнадцатеричном виде (должно быть указано правильно, иначе будет ошибка).
Так меняются пути к текстурам.
Аватара пользователя
Damien Thorn
Профессор
Профессор
Сообщения: 2055
Зарегистрирован: 29 окт 2011
Откуда: Nowhere
Репутация: 1444

Re: Изменение файлов .GeoPcDx

Сообщение Damien Thorn »

Да уж... Вот только в HEX редакторе остается ковыряться. Sergey1507, может быть поможешь мне, конкретно? Я скину файлик модели, там надо просто заменить название пары текстур, кузова и телег. Причем текстуры будут лежать в той же директории, то бишь никаких левых путей. Если не возражаешь свяжемся в личке.
Буду очень признателен. :)
Аватара пользователя
taurus1016
Мастер
Мастер
Сообщения: 418
Зарегистрирован: 26 янв 2012
Откуда: Москва
Репутация: 326

Re: Изменение файлов .GeoPcDx

Сообщение taurus1016 »

Так в RW_Tools, если модель недефолтная, поменять пути и названия текстур элементарно, гораздо проще, чем в HEX редакторе. Файл .geopcdx дефолтной модели сохранить в RW_Tools не удастся.
Аватара пользователя
Damien Thorn
Профессор
Профессор
Сообщения: 2055
Зарегистрирован: 29 окт 2011
Откуда: Nowhere
Репутация: 1444

Re: Изменение файлов .GeoPcDx

Сообщение Damien Thorn »

Почему же? Лично сколько раз менял у копий дефолтных моделей пути текстур. Все зависит видимо от величины xml файла. Разжать файл модели RW_Tools (используя для этого serz.exe) может любой, но вот сжать обратно уже отредактированный получается не каждый.
Аватара пользователя
taurus1016
Мастер
Мастер
Сообщения: 418
Зарегистрирован: 26 янв 2012
Откуда: Москва
Репутация: 326

Re: Изменение файлов .GeoPcDx

Сообщение taurus1016 »

Damien Thorn писал(а):Почему же? Лично сколько раз менял у копий дефолтных моделей пути текстур. Все зависит видимо от величины xml файла. Разжать файл модели RW_Tools (используя для этого serz.exe) может любой, но вот сжать обратно уже отредактированный получается не каждый.
Да, похоже ты прав. Файлы размером свыше 2.2 Мб не сохраняются. Просто я эксперементировал с BR143 от German Railroads, файл шейпа сохранялся и сохраняется нормально.
Ответить