Вивисекция КСП

» Гайды

Несколько недель назад у меня очень жестко стал глючить мод TextureReplacer, который стал ронять FPS до нуля каждую секунду независимо вообще ни от чего. Есть текстуры в нем, нет ли, есть ли прочие моды, переустановлена ли игра - нет, он тормозил и бесил. За это мод был наказан и изгнан подальше. Ну а на днях Major Tom спросил в чате, а можно ли впихнуть текстуры непосредственно в игру, чтобы оперативка не использовалась для хранения базовых, которые все равно не будут использованы? Я решил озаботиться этим вопросом и в конце концов он был разрешен! Итак...
Вивисекция КСП

Сейчас мы научимся впендюривать сторонние текстуры непосредственно в архивы игры. Естественно, мы будем ЗАМЕНЯТЬ существующие текстуры, а не добавлять новые объекты. Для этого нам понадобятся:
1) Unity Assets Unpacker
2) Собственно текстуры на замену, например из мода KSPRC.
3) Возможно, понадобится редактор изображений, который воспринимает файлы формата dds. Например, paint.net с необходимыми плагинами.
В качестве учебного пособия воспользуемся текстурой Felsmak-а для Джула. Файл идет в формате png, поэтому сохраняем его в dds. Выбираем формат DXT-1 для экономии памяти с генерацией мипмапов.

Неслабый размерчик, да?
Так, теперь всё это надо проинсталлировать в игру. Запускаем свежескаченный UnityAssetsUnpacker и наблюдаем его минималистичный дизайн. Немного информации по поводу того, как информация хранися в игре.
В егре есть два типа файлов - часть хранится в папке GameData в открытом виде. Это модельки деталей, различные настройки, флажки и т.п., с чем мы работаем непосредственно в игре. А в папке KSP_Data хранится сама Вселенная игры - библиотеки юнити и ассеты со всей солнечной системой. Именно там и живут все звуки, текстуры планет и Джеба, параметры орбит и т.д. Туда мы и полезем на свой страх и риск.
Итак, смело открываем файл с названием shaderassets0.assets в папке KSP_Data нажатием на первую кнопку нашего анпакера. Наблюдаем кучу файликов разных типов. Нам нужен gas1_clouds, именно так называется текстура Джула в игре. Поиска в программе нет, поэтому ищем по старинке - упорядочивая по имени. Итак, вот оно!

Обратите внимание, нам нужна именно текстура 2D, а не материал! К сожалению, материалы я еще не научился нормально декомпилировать, так можно было бы такого наворотить с самой игрой!.. Не отвлекаемся!
Выделяем наш файл, щелкаем по третьей кнопке - импорт. Выбираем свежесохраненную текстуру Джула (кстати, ее название совершенно не важно)...

Вуаля!

А в игре...

Таким макаром мы можем улучшить все текстуры в игре и не прибегать к услугам TextureManager, который будет дольше грузиться и схавает больше памяти. Конечно, без него не будет отражений на стеклах, разных костюмчиков и прочего. Но мы (точнее вы) можете оставить его, но сначала открыть папку TextureManager/Default

И перебросить все содержимое в ассеты! Особенно это касается больших текстур, которые весят 10-40 мб, а вот от памяти откусывают гораздо больше! Сейчас я на пальцах расскажу, как насильно засунуть в КСП текстуры из самого продвинутого на сегодня мода KSPRC.
1) Все делаем, как описано выше, но текстуры уже подготовлены, так что никак их не пересохраняем и не трогаем вообще!
2) Так как мы воруем работу у мода, легко догадаться, что мы должны найти в shaderassets0.assets файлы с таким же названием и импортировать их! На всякий случай запоминаем:


Где-то минут за 30 вполне можно управиться, после чего выпилить совсем те текстуры, которые мы проинсталлировали в игру. Существует пара подводных камней в данном процессе, так что рассмотрим их.


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

Ну и совсем для лентяев с достаточно быстрым интернетом можно скачать те заархивированные файлы, которые я себе уже запилил (подходит для последней версии КСП с билдом 1028, на более ранних возможны баги!)
shaderassets0 - с оттекстуренными планетами (почти 500 мб!)
shaderassets2 - с обновленным небом из мода BetterAtmosphere
shaderassets4 от Майора Тома с выпиленной огромной текстурой из титров (в КСП есть титры!)
Важно - на всякий случай скопируйте свои сейвы в надежное место перед запуском! Возможны конфликты с модами!

Такие вот пироги! Благодарите теперь Майора Тома, без него бы КСП ассеты сохранили бы свою девственность!
Мод SSTO Parts Plus - тест
Мод SSTO Parts Plus - тест
17 июн 2016 в 11:56,
Облака теперь приятней
Облака теперь приятней
27 июл 2014 в 08:24,
  1. Russia_kun

    Russia_kun @Дмитрий 8 января 2016 18:42

    Так, где плюс ставить?

  2. морковка

    морковка 8 января 2016 18:44

    я процитирую:
    а, щикарно! =)


    upd: Поставил готовые ассеты. Доволен! решил провести эксперимент: установил просто KSPRC
    результат производительность очень низкая, поставил ассетки с заменёнными файлами-лаги прощайте! токо делайте бэкапы (я просто сохранил стоковые ассетки в папку на рабочем столе)

  3. alexoff

    alexoff @Александр 8 января 2016 18:45 Автор

    забыл включить

  4. nikollor

    nikollor @Ник 8 января 2016 18:53

    Негодяй! Хотел свалить по-тихому т от плюсов отмазаться? Не выйдет!!

  5. The_Petrovich

    The_Petrovich 8 января 2016 19:07

    На глагне! На глагне срочно!

  6. Major Tom

    Major Tom 8 января 2016 19:09

    вот! вот это правильно , надо нести знания в народные массы!


    кстати про этот KSPRC имейте в виду, что Proot конечно добавил в свой мод там коперникус, но добавил его так глюкаво, что он загадит вам 300 астеройдами файл сохранения (и вы будете либо лагать и вылетать, либо чистить сейв игры ручками час).
    Посему рекомендую коперникус и все что касается его в папке KSPRC сжечь на огне инквизиции!

  7. alexoff

    alexoff @Александр 8 января 2016 19:20 Автор

    не, он просто взял тогда текущий коперникус, в котором был такой баг. в последнем коперникусе написано "Implemented a Limit for untracked Asteroids". надо обновить всего лишь.

  8. Major Tom

    Major Tom 8 января 2016 19:25

    ты прав, или да - сделать так :)

  9. Eanayayo

    Eanayayo 8 января 2016 20:05

    Но плюс поставил

  10. Jenyaza01

    Jenyaza01 @Евгений 8 января 2016 20:54


    Сама текстура (минимум фотошопа, 2K) Jool.dds

  11. Наблюдатель

    Наблюдатель @Александр 8 января 2016 20:55

    Здорово. Работа проделана полезная. + Хотя, я привык к стоковым текстуркам, и наверное не променяю их ни на какие другие, если только "Сквейд" сам не изменит чего нибудь.

  12. alexoff

    alexoff @Александр 8 января 2016 20:56 Автор

    ну для Джула по барабану все ж

  13. Lynx

    Lynx 8 января 2016 21:37

    А может ты еще и готовый ассетс с красивыми планетками выложишь?

    Цитата: Наблюдатель
    Хотя, я привык к стоковым текстуркам, и наверное не променяю их ни на какие другие, если только "Сквейд" сам не изменит чего нибудь.
    теперь у тебя будет вариант вернуть привычные текстуры ;)

  14. alexoff

    alexoff @Александр 8 января 2016 21:48 Автор

    ну если ты расскажешь, как деобфускацию других материалов юнити проводить, то выложу. конкретно меня интересуют материалы с расширением .mat

  15. Lynx

    Lynx 8 января 2016 22:25

    Не совсем понял, ты же показываешь эти годные планеты, значит они существуют? Ну и как на счет их выложить?

  16. alexoff

    alexoff @Александр 8 января 2016 22:27 Автор

    это стоковые планеты. ссылки на ассеты получит тот, кто сможет асилить текст.

  17. alexoff

    alexoff @Александр 8 января 2016 22:32 Автор

    даю подсказку!

  18. s0ntrava

    s0ntrava @Владимир 8 января 2016 22:54

    очень нравятся линзовые эффекты от солнца (блики) из вышеуказанной компиляции (да, мне лень переключить раскладку)), вопрос: в каком ассете лежит стоковый эффект и можно ли его заменить на тот что в кспрц? kawai
    (не пихая лишних конфигов)

  19. alexoff

    alexoff @Александр 8 января 2016 23:03 Автор

    из КСПРС можно взять только файл KSPRC/KSPRC_Lensflase.cfg, KSPRC/Plugin с содержимым и KSPRC/Assets с содержимым.ну естественно оставить их в том порядке, что и было. в самих ассетах линза не меняется из-за неустановленного бага.

  20. Наблюдатель

    Наблюдатель @Александр 8 января 2016 23:08

    Поживём - увидим. Хотя, я не думаю что они будут что-то менять. Вон, планет у них новых не допросишься, но по этому поводу я тоже не переживаю. Лучше пусть сделают чтобы "вылетов" игры уже наконец-то не было.

  21. zzz

    zzz @Арсений 8 января 2016 23:39

    В каком ассете лежат текстуры аномалий?

  22. alexoff

    alexoff @Александр 8 января 2016 23:47 Автор

    вроде в нулевом, текстуры кракена там присутствовали.

  23. Moryarty

    Moryarty @Альберт 9 января 2016 01:53

    Вивисектор, а ну иди сюда, гений хренов! Что, решил КСП вскрывать?! Ты, гений чертов, а? Ну, иди сюда, попробуй КСП вскрыть, я тебя сам плюсану, гений, вивисектор чертов! Иди, вивисектор, плюсовать тебя и твоего Майор Тома буду, гений хренов, вивисектор, гений, вскрыватель, блин! Иди сюда, хороший человек, вивисектор, гений, иди сюда, ты, текстурщик, ПЛЮС!


    am

  24. veld

    veld @Veld 9 января 2016 03:08

    Сие колдунство заслуживает плюса.
    в процессе читания...
    (...Выбираем формат DXT-1 для экономии памяти с генерацией мипмапов-мипмапы обязательны???)

  25. Басила

    Басила 9 января 2016 04:25

    А как же осознание того, что Джул перевернут? Это же невыносимо!

  26. tehnik147

    tehnik147 @Димон 9 января 2016 09:56

    ДА ЭТО ЖЕ ЕРЕСЬ!
    А вот если серьёзно, просто невероятно, что вы с Майором смогли проделать такую большую и кропотливую работу, благодаря которой я наконец смог понять: как, чёрт возьми, автор Текстур Реплейсера смог достать текстурки планет! А не далековато-то ли у него ручки полезли? catt

  27. BlackTigerX

    BlackTigerX 9 января 2016 13:05

    А можно ли так через юнити-ассеты химичить с конфигурациями планет (радиус, гравитация, атмосфера и т.д.)? Добавлять/удалять планеты? И если да, то даст ли это выигрыш в памяти по сравнению с коперникусом?

  28. alexoff

    alexoff @Александр 9 января 2016 13:37 Автор

    про мипмапы - ну попробуй без них, расскажешь. давно пробовал - были какие-то глюки

  29. alexoff

    alexoff @Александр 9 января 2016 13:44 Автор

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

  30. BlackTigerX

    BlackTigerX 9 января 2016 13:47

    Ясно, спасибо за инфу. В конце концов, в коперникусе можно в конфиге вырубить вообще все планеты и сделать кербольскую систему с нуля. Кперникус ведь срабатывает до планетной системы, то есть если планеты выключить убрать из конфига, то они не будут загружаться, ведь так?

Последние сообщения с форума
  • Тема в разделе: Технические вопросы
    Просмотров: 1575
    Ответов: 1
  • Тема в разделе: Технические вопросы
    Просмотров: 85764
    Ответов: 453
  • Тема в разделе: Предложения и Ошибки
    Просмотров: 245
    Ответов: 0
  • Тема в разделе: Модераторский раздел
    Просмотров: 179
    Ответов: 13
  • Тема в разделе: Моды
    Просмотров: 233522
    Ответов: 2633
    Все сообщения..
    Полный список последних сообщений
    Loading...

    Нашли ошибку?
    Вы можете сообщить об этом администрации.
    Выделив текст нажмите Alt+Ctrl