Skip to content

Elengal/ShaderForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShaderForge — Процедурные Текстуры для RimWorld

Мод для RimWorld, который автоматически перерисовывает все текстуры игры через математический процедурный шум. Никаких рисунков и текстурных файлов — чистая математика.

Один Harmony-патч на ContentFinder<Texture2D>.Get() — и вся игра перерисована. Работает на все моды без исключения.

Стили (12 штук)

Стиль Описание
Боевой Грязь, потёртости, царапины
Ржавый Окисление, ржавчина, выцветание
Пустыня Песок, жара, выцветание
Заснеженный Иней, лёд, морозные узоры
Древний Мох, трещины, возрастные следы
Кровавый Кровь, грязь, свежие пятна
Заводской Чистый, блеск, заводское состояние
Мистический Магия, руны, свечение
Токсичный Яд, радиация, мутации
Обожжённый Огонь, пепел, обугленность
Заросший Мох, лианы, поглощение природой
Пустошь Постапокалипсис, разруха

Интенсивность настраивается от 5% до 100%.

Пресеты (8 штук)

Готовые комбинации настроек для разных атмосфер:

  • Ядерная Зима — замороженный мир после ядерной войны (заснеженный стиль + снег)
  • Токсичная Пустошь — радиоактивные пустоши с кислотными дождями (пустошь + пепел)
  • Древние Руины — забытый храм в джунглях (древний + дождь)
  • Магический Мир — фэнтези с магическим свечением (мистический + туман)
  • Пыльный Переход — выжженная солнцем пустыня (пустыня + пыль)
  • Обожжённая Земля — после прохода огненной бури (обожжённый + пепел)
  • Заражённый Лес — мутации и ядовитая растительность (токсичный + дождь)
  • Заброшенный Мир — заросшие руины цивилизации (заросший + дождь)

Цветокоррекция

Полный набор цветовых фильтров, запекаемых прямо в текстуры:

  • Сдвиг оттенка — от -180° до +180°
  • Насыщенность — от обесцвечивания до гиперъярких цветов
  • Яркость — от тёмных теней до пересвета
  • Контраст — от плоского до резкого
  • Цветовой фильтр (Tint) — отдельные каналы R, G, B

Погодные оверлеи

Эффекты погоды, запекаемые в текстуры (требуют профиль Medium или High):

Оверлей Описание
Снег Хлопья, иней, морозные узоры
Пыль Песок, буря, выцветание
Пепел Дым, копоть, серость
Дождь Потёки, мокрые пятна
Туман Бледность, дымка, размытость

Автоопределение материалов

Мод анализирует пиксели текстуры и автоматически определяет тип материала:

Metal, Wood, Stone, Fabric, Skin, Plastic, Glass, Plant, Dirt, Snow, Fire, Blood, Water, Mushroom, Crystal, Ash

Каждый тип материала обрабатывается по-своему — ржавчина ложится на металл, мох — на камень, а иней — на ткань. Без метаданных, без разметки — чистый анализ цвета через HSL.

Фильтры категорий

Выберите, какие текстуры перерисовывать:

  • Предметы (оружие, еда, ресурсы)
  • Здания (стены, мебель, турели)
  • Террен (земля, трава, вода)
  • Растения
  • Пешки (персонажи)
  • UI / Меню

Пер-биом стили

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

Маски по Def'ам

Фильтрация текстур по именам def'ов через запятую. Режим чёрного списка (исключить) или белого списка (только указанные).

Профили производительности

Профиль Описание
Low Только статические стили, 0 дополнительной нагрузки
Medium + погодные оверлеи, цветокоррекция
High Максимальная детализация, все эффекты

Установка

Steam Workshop

Подпишитесь на мод в Steam Workshop — активируется автоматически.

Вручную

  1. Скачайте последний релиз
  2. Распакуйте папку ShaderForge в директорию модов RimWorld
  3. Активируйте мод в мод-меню игры

Путь к модам:

  • Windows: %USERPROFILE%\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Mods\
  • Linux: ~/.config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios/Mods/
  • macOS: ~/Library/Application Support/Ludeon Studios/RimWorld by Ludeon Studios/Mods/

Настройки

Все настройки в: Настройки модов → ShaderForge v2

Встроенное превью — сравнение оригинальной и обработанной текстуры прямо в окне настроек.

Конфиг: Config\ShaderForge\Config.xml

Как это работает

  1. Перехват текстур — Harmony-патч на ContentFinder<Texture2D>.Get() перехватывает загрузку любой текстуры
  2. Анализ материалаMaterialAnalyzer определяет тип материала по цвету пикселей (HSL-классификация)
  3. Процедурная обработкаProceduralProcessor применяет шумовые функции (Perlin, Ridged, DomainWarp, Voronoi, Cellular) в зависимости от стиля и типа материала
  4. Цветокоррекция — применяется поверх: hue shift, saturation, brightness, contrast, tint
  5. Погодный оверлей — финальный проход (если включён): снег, пыль, пепел, дождь, туман
  6. Кэширование — обработанные текстуры кэшируются, повторная обработка только при смене настроек

Совместимость

  • RimWorld 1.5 и 1.6
  • Работает со всеми модами — перехват происходит на уровне движка
  • Конфликтующие моды можно исключить через маски по Def'ам

Структура проекта

Source/
  ShaderForgeMod.cs       — главный класс мода + UI настроек
  ShaderForgeInfo.cs      — метаданные и версия
  MaterialAnalyzer.cs     — автоопределение типа материала по цвету
  ProceduralNoise.cs      — шумовые функции (Perlin, Ridged, Voronoi...)
  ProceduralProcessor.cs  — обработка пикселей (стили, цветокоррекция, погода)
  TextureInterceptor.cs   — перехват загрузки текстур + кэш
  LoadedModManager_*.cs   — патч пути конфига

Автор

Elengal (Semushkin Alexander Gennadyevich) GitHub: https://github.com/Elengal

About

ShaderForge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages