HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- Новый ModelViewer (https://hlfx.ru/forum/showthread.php?threadid=6148)
Отправлено JPEG 10-02-2026 в 12:28:
Новый ModelViewer
На говновайбкодил тут такой вьювер, за основу был взят наш отечественный hlmvqt и сильно перепилен.
Скачать: https://gamebanana.com/tools/21890
Что есть:
- Никаких вонючих свёрнутых списков, только православные развёрнутые QListWidget - не нужно ничего лишний раз листать
- Вверх-вниз смена анимаций/текстур, влево-вправо моделей
- При открытии вкладки - фокус сразу не ней
- Эксплорер моделей с миниатюрами, через меню файл можно проверить кеш
- Поддержка тем (пока редактируются в блокноте, но можно нейронкой генерить, она понимает формат)
- Список текстур в виде миниатюр с масштабированием, в том числе поддерживаются пкм, колесико для зума
- Наконец-то правильный хром, как в Хламе (почти... немного перепутал билд, сейчас рефлекс отображается снизу, скоро перекомпилирую)
- Отображение ббоксов, позиции глаз, имён костей (но надо б также добавить отображение cbox, у барнакла, к примеру, используется). У всех линий двойная ширина, можно не ломать глаза, старался удобно подобрать цвета
- Компиляция и декомпиляция в один клик - после выбора компиляции модель мгновенно сама открывается в редакторе (пока глюк, если в модели используется blank, поправлю)
- Запоминает положения элементов, всех галочек, размеры окна
- Я долго возился с этими спейсерами, по-идее должно быть адаптивные размеры элементов, но не знаю, как это выглядит на 4к, масштабируется ли там шрифт и т.п., наверное должен
- Динамическая скорость перемещения и зума, позволяет перемещать большие модели также как маленькие (это есть в п2 и пх, но нет в хламе и джеде)
- На дабл-клик - развернуть окно во весь экран/обратно, на F фильтр текстур, также можно включить msaa
- Модели оружий показываются с камерой от перового лица, но при этом не нужно ничего переключать, чтобы посмотреть модель со стороны, можно сразу крутить камеру, управление не блокируется. R - сброс вида
- В секвенциях сразу пишутся фпс, количество фреймов и наличие events (позже добавлю акты сведение о лупе)
Что нужно добавить:
Пока работаю над партиклями, чтобы вьювер показывал стандартные кваковские партикли из флагов. Ими никто не пользуется, но я лично в своём моде задействую их, имхо прикольные штуки
WASD и камеру с полётом (удобно для 3д-скайбоксов)
Чуть осветлить шейдинг, сейчас он темноват, как в оригинальном hlmv
Декомпиляцию и компиляцию в полноцветный пнг с прозрачностью, вместо мучений с палитрой
Немного доработать интерфейс, вкладки чуть корявые. +
В список миниатюр б тоже зум со слайдером сделать
Остановку анимации, в том числе на пробел
Алфавитную навигацию в миниатюры, папки. Переименовывание
Подзвучку events
Бленды, их пока нет
Ремапы
Добавлено 10-02-2026 в 15:28:
-
__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено Дядя Миша 10-02-2026 в 17:19:
Цитата:
JPEG писал:
Декомпиляцию и компиляцию в полноцветный пнг с прозрачностью, вместо мучений с палитрой
Эмм, так халфа же с поллитрой требует 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено JPEG 10-02-2026 в 17:52:
Цитата:
Дядя Миша писал:
Эмм, так халфа же с поллитрой требует
есть абсолютно гениальная тулза, которая это делает) конвертирует автоматом маску в альфу пнг и обратно https://github.com/pwitvoet/wadmake...master/WadMaker__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено XaeroX 11-02-2026 в 00:48:
Цитата:
JPEG писал:
Никаких вонючих свёрнутых списков
Это всё конечно хорошо, но с каких пор свёрнутые списки стали вонючими?
Они ж придуманы для того, чтобы экономить пространство UI.
Ну чтобы больше полезного на экране было, а не списки, часть из которых нужны очень редко, типа того же рендермода.
Отправлено JPEG 11-02-2026 в 02:12:
Цитата:
XaeroX писал:
Это всё конечно хорошо, но с каких пор свёрнутые списки стали вонючими?
Они ж придуманы для того, чтобы экономить пространство UI.
Ну чтобы больше полезного на экране было, а не списки, часть из которых нужны очень редко, типа того же рендермода.
это понятно, речь про контекст, в хлмв они излишни, только мешают__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено FiEctro 11-02-2026 в 07:02:
Мне кажется основной UI лучше сделать столбиком справа. А снизу файловый менеджер с превьюшками.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Chyvachok 11-02-2026 в 08:35:
Палитра еще нужна для dm_base и прочих раскрашиваемых текстур, там надо чтоб цвета в палитре прям в определенных местах были.
https://the303.org/tutorials/gold_remap.htm
Отправлено JPEG 11-02-2026 в 15:16:
Цитата:
FiEctro писал:
Мне кажется основной UI лучше сделать столбиком справа. А снизу файловый менеджер с превьюшками.
да вот сложно решить. У любого хлмв очень компактно всё сделано, что им удобно пользоваться не разворачивая во весь экран (кроме Хлама) и это очень нужно сохранить. Если ориентироваться на максимизированное окно, то, конечно, гораздо проще все разместить, но буду ориентироваться на минимзированное. Попробовал в пейнте наколхозить:
1) Ну вроде прикольно. Ширину само-собой настраиваемой сделать, во весь экран - больше столбиков миниатюр.
2) В какой-то deex exploration превращается) Лично меня отталкивает почему-то
3) Как будто самый оптимальный вариант. Так и список секвенций больше вместит, и окно камеры больше. Я думаю так может. Но панельку лучше тогда справа - привычнее
4) Оставить как есть
6) Вариация 3, вроде неплохо. Но в любом случае панель миниатюр отключаемой нужно сделать, тогда это один вариант с 3
надо думоть
Добавлено 11-02-2026 в 17:51:
Цитата:
ага, ну я писал про ремапы)
Добавлено 11-02-2026 в 18:16:
Склоняюсь всё-таки к третьему варианту, с панелью слева, где миниатюры - одна из вкладок. Ну либо 6, где миниатюры отдельная панель__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено Дядя Миша 12-02-2026 в 06:10:
Цитата:
JPEG писал:
конвертирует автоматом маску в альфу пнг и обратно
C++ Source Code:
internal class IndexedImageSavingQuantizer : IQuantizer, IQuantizer<Rgba32> |
Ну и что, хорошее качество получается?
В p2studiomdl это тоже есть, но конвертацию однобитной альфы я не сделал.
Цитата:
JPEG писал:
Склоняюсь всё-таки к третьему варианту, с панелью слева, где миниатюры - одна из вкладок
Выглядит так, как будто большевики до власти дорвались.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 12-02-2026 в 07:07:
JPEG
Ну вот браузер моделей из варианта 2 лучше. Так же я не очень понял зачем вкладки типа Animation под бразером. Лучше стобец с вкладками как в варианте 6 сделать (ака блендер) и более аккуратно.
Добавлено 12-02-2026 в 09:42:
Цитата:
FiEctro писал:
1) Ну вроде прикольно. Ширину само-собой настраиваемой сделать, во весь экран - больше столбиков миниатюр.
Столбики слишком узкие они будут вечно кропать текст. Так конечно выглядит красиво, но не практично.
Цитата:
JPEG писал:
2) В какой-то deex exploration превращается) Лично меня отталкивает почему-то
не знаю про deex exploration, но информационно это самый лучший вариант. Проблема всех модельвьюверов что вьюпорт съедает большую часть пространства, а на интерфейсе из-за этого творится какая то каша.
Цитата:
JPEG писал:
3) Как будто самый оптимальный вариант. Так и список секвенций больше вместит, и окно камеры больше. Я думаю так может. Но панельку лучше тогда справа - привычнее
непонятно куда подевался браузер? в целом все эти окна можно и нужно делать сворачиваемыми.
Цитата:
JPEG писал:
6) Вариация 3, вроде неплохо. Но в любом случае панель миниатюр отключаемой нужно сделать, тогда это один вариант с 3
Тоже неплохо, но очень долго листать такие списки миниатюр, и нет иерархии. Вот ДМ правильно сделал что иерархический список добавил. Но до полноценного браузера это недотягивает всётаки.
Вот примерный шаблон по расположению элементов, не по дизайну. Конечно надо сделать более аккуратно и заголовки и вкладки не такие громоздкие. А так же сделать кнопки для сворачивания интерфейса и браузера.
Добавлено 12-02-2026 в 10:07:
Так же рекомендую сделать в настройках фона горизонтальный градиент с 2 цветами, это выглядит немного приятнее чем просто цвет.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 13-02-2026 в 07:05:
Цитата:
FiEctro писал:
Вот ДМ правильно сделал что иерархический список добавил. Но до полноценного браузера это недотягивает всётаки.
Это же beta 0.1, я ещё буду думать.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Raid 13-02-2026 в 10:04:
Отлично, жду ещё фич чтобы с жиру побесится. Наконец-то свежая жёлтая струя в нашем болоте.
Добавлено 13-02-2026 в 13:04:
Цитата:
JPEG писал:
Что нужно добавить:
Дальность прорисовки, цифрой в поле. Ко всему перечисленному. От 0 до 10^28 - пока не упадёт, не вижу смысла ограничивать. Плато стабильной работы всё равно выработается.__________________
Ты себя ведёшь как маленький ребёнок, который на улице увидел говно и обрадовался - говно-говно, смотрите кто-то насрал, ну и дела! © Дядя Миша
лиса.забирать.сыр.кусочек = ворона.уронить.сыр.кусочек( 1шт ); © FiEctro
Отправлено Ku2zoff 13-02-2026 в 14:39:
Цитата:
FiEctro писал:
браузер моделей
Фича полезная. А как для неё превьюшки делаются?
Отправлено FiEctro 13-02-2026 в 16:27:
Цитата:
Ku2zoff писал:
Фича полезная. А как для неё превьюшки делаются?
Очень грубо говоря - смотришь когда последний раз обновлялся файл, и рендеришь ему превьюшку. Потом просто загружаешь как картинки. Ессно делать это надо асинхронно.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Ku2zoff 13-02-2026 в 18:01:
FiEctro как-то не очень это звучит. Где хранить превьюшки? Как их соотносить с моделями, если есть несколько моделей с одинаковыми именами?
Если хранить рядом с самой моделью, то соотносить ничего не придётся. Но каталоги засруться этими превьюшками, что юзеру не шибко надо. Если хранить в папке моделвьювера, то как соотносить? По пути до модели? По хеш-сумме модели? Мне идеальным видится вариант, в котором превьюшка вшита в саму модель. Собсно, это можно реализовать в новом ксаше, с его новыми форматами. А чтобы каждый раз не читать превьюшки из моделей, вычитывать их при изменениях, и хранить в папке моделвьювера в одном файле как виндовый кэш эскизов, для быстрого доступа. Опять же, снова встаёт вопрос, как соотносить, потому что каталогов с моделями может быть много. Если используем браузер с превьюшками, значит работаем с конкретным катлогом. Получается, привязываем превьюшки к каталогу.
Отправлено FiEctro 13-02-2026 в 20:30:
Цитата:
Ku2zoff писал:
FiEctro как-то не очень это звучит. Где хранить превьюшки? Как их соотносить с моделями, если есть несколько моделей с одинаковыми именами?
Если хранить рядом с самой моделью, то соотносить ничего не придётся. Но каталоги засруться этими превьюшками, что юзеру не шибко надо. Если хранить в папке моделвьювера, то как соотносить? По пути до модели? По хеш-сумме модели? Мне идеальным видится вариант, в котором превьюшка вшита в саму модель. Собсно, это можно реализовать в новом ксаше, с его новыми форматами. А чтобы каждый раз не читать превьюшки из моделей, вычитывать их при изменениях, и хранить в папке моделвьювера в одном файле как виндовый кэш эскизов, для быстрого доступа. Опять же, снова встаёт вопрос, как соотносить, потому что каталогов с моделями может быть много. Если используем браузер с превьюшками, значит работаем с конкретным катлогом. Получается, привязываем превьюшки к каталогу.
Реализаций масса. Хранить превьюшки можно и в папке и в архиве с той же иерархией что и у моделей или вообще как угодно. У файлов помимо имени есть ещё и путь так что одинаковый нейминг вообще не проблема. Вшивать не знаю, обычно так никто не делает, нужно изучать этот вопрос. Естественно загружать нужно не всё, а только то что открыто в браузере. Ну собственно как делает это винда, да. Александр говорил что можно сделать какую то таблицу с блобами для быстрого доступа, но с этим я тоже не имел дела.
Вот что нейронка пишет (для обж):
Цитата:
1) Уникальная идентификация моделей (проблема одинаковых имён)
Никогда не ключуй по имени файла. Ключ должен быть стабильным и уникальным:
Вариант A (обычно достаточно)
canonical_full_path (нормализованный полный путь)
last_write_time
file_size
cache_schema_version (чтобы сбрасывать кэш при смене рендера)
Ключ кэша = hash(path + mtime + size + schema_version) → имя PNG.
Вариант B (реально профессионально на Windows)
Используй File ID:
GetFileInformationByHandleEx(FileIdInfo, ...) → FILE_ID_INFO.FileId
VolumeSerialNumber (из BY_HANDLE_FILE_INFORMATION)
Это даёт стабильный идентификатор файла в пределах тома, и не путается при одинаковых именах.
Если файл переместили/переименовали в пределах тома, FileId сохранится — кэш не “теряется”.
2) Кэш превью (чтобы не рендерить каждый раз)
Храни превью не рядом с моделями, а в %LOCALAPPDATA%\YourApp\thumbs\...
Формат: PNG (простая поддержка) или WebP (меньше размер, но нужна библиотека/кодек).
Размеры: например 256×256 и/или 512×512 (часто делают 256 для списка, 512 для карточки).
Метаданные: рядом .json/.bin или запись в SQLite:
source_id (FileId или canonical path)
mtime/size
параметры рендера (FOV, свет, фон)
версия алгоритма
Инвалидация кэша
Превью считается валидным, если совпадают:
file_id/path
size
last_write_time
schema_version
3) Индексация файлов (быстро и без тормозов UI)
Минимум
Рекурсивный обход папок (Win32 FindFirstFileW/FindNextFileW или std::filesystem).
Собираешь список файлов *.obj (+можно *.fbx и т.п. позже).
Профессионально (если файлов много)
Храни индекс в SQLite (путь, FileId, мтайм, размер, теги, статус превью).
Обновляй индекс:
либо ReadDirectoryChangesW (watcher по выбранным папкам),
либо периодический “рескан” (для сетевых дисков watcher может быть ненадёжным).
UI всегда работает с индексом, а не “лазит по диску” на каждый скролл.
4) Очередь генерации превью (асинхронно, приоритетно)
Ключевой принцип
UI показывает:
имя + путь (или путь в tooltip)
плейсхолдер-картинку
и ставит задачи на превью только для видимых элементов (и чуть вперёд по скроллу).
Очередь
priority queue: visible → next visible → остальное
несколько worker-потоков, но рендер лучше ограничить (1–2 потока), чтобы не убивать GPU/драйвер.
Дедупликация
Если 20 раз запросили один и тот же id — в очереди должна быть одна задача.
5) Как рендерить превью (детерминированно и красиво)
Тебе нужен offscreen render (рендер в текстуру), а потом сохранение.
На Windows самый практичный путь
Direct3D 11:
Создаёшь ID3D11Device один раз на приложение.
Для каждого превью:
Texture2D (RGBA8) с RenderTargetView
DepthStencil
рендеришь сцену
копируешь в staging texture
Map() → получаешь пиксели на CPU
Кодируешь в PNG через WIC (Windows Imaging Component).
Плюс: D3D11 + WIC = “нативно”, без лишних зависимостей.
Камера “автофит”
Чтобы все превью выглядели консистентно:
посчитай AABB модели (min/max)
центр = (min+max)/2
радиус = 0.5 * length(max-min)
поставь камеру в фиксированном направлении (например 3/4):
dir = normalize( (1, 1, 1) ) или (1, 0.8, 1)
расстояние камеры вычисляй так, чтобы модель влезла по FOV:
dist = radius / sin(fov/2) (с небольшим запасом *1.2)
Свет и фон
1 directional + 1 fill (мягче тени)
лёгкий ambient
фон: нейтральный градиент или “студийный” серый
включи гамма-коррекцию (sRGB), MSAA если хочешь “дорого”
Материалы OBJ/MTL
ищи .mtl, текстуры — относительные пути от mtl/obj
если текстуры не найдены — дефолтный материал (серый) и всё равно делай превью (не “пусто”).
6) UI: список/плитка без лагов (виртуализация)
Независимо от того, Win32/Qt/ImGui:
делай виртуализированный список (рисуются только видимые элементы)
подгружай превью лениво
кешируй уже декодированные текстуры (LRU в памяти), но ограничивай память, например 200–500 миниатюр.
Пользовательская часть:
показывай не только имя, а ещё “папку” (или …\parent\file.obj), иначе одинаковые имена будут неотличимы.
tooltip = полный путь.
7) Практическая структура проекта (как обычно делают)
Модули:
AssetIndex (скан/SQLite/обновление)
ThumbnailCache (путь → ключ → PNG + мета)
ThumbnailRenderer (D3D11 offscreen → pixels)
ThumbnailJobs (очередь, приоритеты, воркеры)
BrowserUI (виртуализация, запросы превью, поиск/фильтры)
Потоки:
UI thread: только рисует и отправляет запросы
IO thread(s): чтение файлов/текстур
Render thread (1): GPU рендер превью
Encode thread: PNG/WIC (можно вместе с render, но лучше разделять при нагрузке)
8) Мелочи, которые отличают “профессионально” от “работает”
Версионирование кэша (поменял свет/камеру → schema_version++)
Защита от “тяжёлых” моделей (таймаут/лимит треугольников для превью)
Логи статуса: “ошибка парсинга”, “не найден mtl”, “нет текстур”
Параллельная загрузка текстур + кеш текстур (иначе 100 превью будут каждый раз читать одно и то же)
Отмена задач: если пользователь резко проскроллил — старые задачи можно отменить/понизить приоритет.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 14-02-2026 в 05:40:
Цитата:
Ku2zoff писал:
Но каталоги засруться этими превьюшками, что юзеру не шибко надо
Ну винда точно так же засирает папки превьюшками, создавая thumbs.db
Цитата:
Ku2zoff писал:
Собсно, это можно реализовать в новом ксаше, с его новыми форматами
Запросто__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 14-02-2026 в 06:19:
Цитата:
Дядя Миша писал:
винда точно так же засирает папки превьюшками, создавая thumbs.db
Кажется, начиная с висты, файл эскизов один: thumbcache в папке пользователя. А XP создавала в каждой папке файлик thumbs.db. Думаю, что и то, и другое вариант, только вместо общего кэша в папке пользователя общий кэш в папке моделвьювера. Я бы всё-таки рассмотрел вариант зашивать превьюшку в модель и забабахать плагин для проводника, чтобы модели отображались превьюшками, как обычные картиники. Видео файлы ведь могут так отображаться после установки кодек-пака.
Отправлено FiEctro 14-02-2026 в 12:06:
Цитата:
Ku2zoff писал:
и забабахать плагин для проводника
И опять наткнуться на теже грабли когда у тебя несколько версий плагина, а проводник один 
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено JPEG 16-02-2026 в 17:03:
https://gamebanana.com/tools/21890
ну што, крупное обновление, новые функции
- драг н мать его дроп текстур. Туда и обратно. Можно на окно текстур, на окно модели. Если тащить несколько текстур в программу, то заменятся те, у кого совпадут имена. Если же тащить внешнюю картинку на текстуру в программе - она заменится и унаследует имя от внешней. Для ремапов сохраняется в бмп 8-бит
- импорт текстур любого разрешения - uv растянется само.
- чтение и запись в пнг 24-бит, 8-бит, бмп. Маски становятся альфой, альфа становится маской, всё автоматизировано, применяется классический флойд-дизер
- сохранение моделей, в том числе с t.mdl. При открытии t.mdl или 01.mdl 02 и тп. - открывается основная модель.
- переименовывание текстур
- можно выделить несколько текстур и применить ко всем флаг (пока при выделении общие флаги не показываются как общие отдельной галкой)
- ручная смена размера текстур. С сохранением аспекта и без, сглаживается хорошо
- поддержка ремапов обоих форматов (старый и тфцшный)
- отображение аддитивных текстур, ремапов и масочных в том виде, в котором они будут в игре (а в миниатюрах в исходном) - удобно
- Показ uv mask. Экспорт в пнг с альфой и толщиной линии в 1 пиксель без сглаживания
- корректный шейдинг для фуллбрайт и флетшейда. Аддитивные текстуры с правильным всратым хлшным порядком отрисовки (когда неаддитивные части модели позади перекрывают аддитивные как будто они над ними) - хотя не особо тестировал, но вообще оно ни в одном хлмф не было правильным.
- дальность прорисовки в 131к юнита для Райда
- блендинг, в том числе кс-формата
- блендинг между секвенциями. Для v_ отлючён
- градиентный фон
- флаги отображения партиклевых эффектов - эффекты отображаются (не прям 1в1, но представление дают). Флаги освещения (форсированный скайлайт и уменьшение шейдинга)
- переключение рендер модов на цифорки + один новый режим (я думаю вообще можно их всех галочками сделать, тогда будет проще комбинировать, а-ля текстурный режим без шейдинга + скелет, к примеру)
- акты и лупы в секвенциях. Пока список активитис захардкоден
- остановка анимации на пробел в любом окне, листание покадрово, отображение текущего кадра (никогда раньше не замечал что у гибсов зачем-то анимация из двух кадров - теперь по счётчику сразу видно)
- переименовывание, копирование в буфер, удаление и открытие в проводнике для моделей в окне миниатюр. Учитываются внешние части модели (t.mdl, 01 02 03... mdl). Текстуру кстати можно тоже в буфер копировать и потом вставить в проводник, либо в редактор изображений, в браузер и тп.
- осветлил шейдинг, чуть подкорректировал хром
- поиск по вводу клавиши в абсолютно любом списке (анимации, миниатюры, текстуры). Как в проводнике windows - быстро ввёл sc - перешил на scientist, с паузой - сначла выбрались модели на s, потом на c и т.п.
некоторые вещи пока не оттачивал (а-ля запрет ввода русских символов, приоритет отображения при нескольких выбранных флагах, макс и мин разрешение и т.п.). Полёт пока не делал, надо подумать, как лучше, на z как в джеке или на зажатый пкм как в бспгай/годоте (ну или и то, и то). ui ещё не трогал. Бон контроллеров максимум вроде 8 всего, можно вообще их разделить - по высоте вместятся - для каждого свой слайдер, чем один общий. И надо будет извлекать значения блендов и ремапов в текстовом виде.
А вообще удивительный эффект, я миллиард раз видел все эти стандартные модели, но сейчас благодаря развёрнутому браузеру текстур с крупным видом, я впервые вижу текстуры этих моделей))
__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено Дядя Миша 17-02-2026 в 05:49:
Цитата:
JPEG писал:
применяется классический флойд-дизер
Как жы я ненавижу дизеринг на восьмибитных текстурах.
Цитата:
JPEG писал:
но вообще оно ни в одном хлмф не было правильным.
Вообще-то в моём было правильным
Цитата:
JPEG писал:
флаги отображения партиклевых эффектов - эффекты отображаются (не прям 1в1, но представление дают).
Можно поподробнее? Смысл тех эффектов - в движении модели, пока модель не движется, партиклы не спавнятся. А во вьювере она неподвижна.
Цитата:
JPEG писал:
на z как в джеке или на зажатый пкм как в бспгай/годоте
На ЛКМ - вращение камеры, полёт на WSAD, в Джеке оно так же.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 17-02-2026 в 06:06:
Цитата:
JPEG писал:
- сохранение моделей, в том числе с t.mdl. При открытии t.mdl или 01.mdl 02 и тп. - открывается основная модель.
Кстати объясните смысл вот этого? Для чего с моделью тащить эти файлики?__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено JPEG 17-02-2026 в 15:03:
Цитата:
Дядя Миша писал:
Как жы я ненавижу дизеринг на восьмибитных текстурах.
мне нравится дизер Байера, такой с узорами) Ну а без него совсем плохо, резкие переходы ж
Цитата:
FiEctro писал:
Вообще-то в моём было правильным
ну возьми модель гмана, сделай литсо аддитивным и глянь, что будет. В игре воротник отрисовывается поверх)) Не исключаю, что это может быть только в стим-версии, хз, пока не проверял
Цитата:
Дядя Миша писал:
На ЛКМ - вращение камеры, полёт на WSAD, в Джеке оно так же.
в Джеке на лкм выбор объекта. Если нажать z то полет, пока не нажмешь лкм (это отменит полет). А в бспгай, годоте, и скорее всего юнити - нужно зажать пкм. В целом и то, и то удобно. В хлмв просто на пкм же зум. Сейчас зум дублируется на колесико, может и можно занять пкм
Добавлено 17-02-2026 в 18:03:
Цитата:
Дядя Миша писал:
Смысл тех эффектов - в движении модели,
поэтому там упрощенное состояние, а-ля при рокет трейле - частицы движутся вверх (по-сути это пламя), дым вверх, кровь вниз течет и тп. Это вьювер, поэтому оно всегда отображается. Можно канеш к анимации привязать и симулировать движение, чтобы хвост тянулся, но мудрёно и всё равно криво получится__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено Ku2zoff 18-02-2026 в 07:33:
Цитата:
FiEctro писал:
Кстати объясните смысл вот этого? Для чего с моделью тащить эти файлики?
Когда оперативки было мало, модели компилили с разбиением на части. T-файлы для сохранения текстур, выделенный сервер их не грузит, тем самым экономит оперативку. 01-0X файлы с анимациями. Тоже, видимо для экономии памяти, чтобы всё сразу не грузить. Хотя, не очень понятно зачем. Скорее всего оригинальный компилятор не справлялся и вылетал. Такое поведение легко воспроизвести, попытавшись скомпилить модельки игроков из CS 1.6/CZ/DoD милкой. Либо дробишь модель на части, либо вылет в конце компиляции.
Добавлено 18-02-2026 в 14:31:
Цитата:
JPEG писал:
Если нажать z то полет, пока не нажмешь лкм (это отменит полет). А в бспгай, годоте, и скорее всего юнити - нужно зажать пкм. В целом и то, и то удобно. В хлмв просто на пкм же зум.
ЛКМ - вращение камеры вокруг модели. ПКМ - вращение камеры относительно точки обзора (как в игре), СКМ - перемещение камеры в шести направлениях. Колёсико - зум. Z - переключение на хаммероподобное управление, если вдруг кому-то так удобно.
Добавлено 18-02-2026 в 14:33:
Цитата:
FiEctro писал:
И опять наткнуться на теже грабли когда у тебя несколько версий плагина, а проводник один
Про какой плагин ты говоришь? Их огромное множество, естественно они могут конфликтовать друг с другом. Если у юзера руки из седалища, а не из плеч.
Отправлено FiEctro 18-02-2026 в 09:00:
Цитата:
Ku2zoff писал:
Про какой плагин ты говоришь? Их огромное множество, естественно они могут конфликтовать друг с другом. Если у юзера руки из седалища, а не из плеч.
По мне использовать встроенный в софт браузер файлов куда удобнее и предсказуемее чем полагаться на винду, учитывая что ещё винда тоже разная бывает.
Цитата:
Ku2zoff писал:
Когда оперативки было мало, модели компилили с разбиением на части. T-файлы для сохранения текстур, выделенный сервер их не грузит, тем самым экономит оперативку. 01-0X файлы с анимациями. Тоже, видимо для экономии памяти, чтобы всё сразу не грузить. Хотя, не очень понятно зачем. Скорее всего оригинальный компилятор не справлялся и вылетал. Такое поведение легко воспроизвести, попытавшись скомпилить модельки игроков из CS 1.6/CZ/DoD милкой. Либо дробишь модель на части, либо вылет в конце компиляции.
Наверное это что то связано с отрисовкой в софтварном режиме как обычно.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Ku2zoff 18-02-2026 в 09:50:
Цитата:
FiEctro писал:
использовать встроенный в софт браузер файлов куда удобнее и предсказуемее чем полагаться на винду
Согласен. Но при условии, что софт - комбайн, включающий в себя все редакторы. Точнее, необходимый набор: просмотровщики форматов, компиляторы/декомпиляторы, редакторы уровней, скриптов, шейдеров и проч. Узкоспециализированные 3д, звуковые и текстурные редакторы могут быть внешними.
Добавлено 18-02-2026 в 16:50:
А то, перескакивание с моделвьювера в редактор уровней, например, с помощью ALT+TAB такое себе занятие ради установки модельке одного флага, или замены одной текстуры.
Отправлено Дядя Миша 18-02-2026 в 16:35:
Цитата:
FiEctro писал:
Для чего с моделью тащить эти файлики?
В 98-м году Вальв экономила память, подгружала модельку по частям.
Цитата:
JPEG писал:
мне нравится дизер Байера, такой с узорами) Ну а без него совсем плохо, резкие переходы ж
Индексация нейронкой даёт вполне приличный результат и без дизеринга.
Цитата:
Ku2zoff писал:
T-файлы для сохранения текстур, выделенный сервер их не грузит, тем самым экономит оперативку
Да дурь это. Никакой проблемы отрезать хвост файла с текстурами при загрузке нет. Я в ксаше так и делаю, точнее наоборот.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено JPEG 19-02-2026 в 14:59:
добавил поддержку $freecoords, теперь модельки из диффужина и старого мира грузит нормально (если они без $boneweights
). В окне текстур в таком случае текстура отображается с повторами в затайленном виде, приводя изумлённого юзера в замешательство (этот параметр часто используется там, где не ожидаешь его встретить).
добавил простую но супер-прикольную фичу - дабблклик по текстуре открывает ее через любимый просмоторщик пользователя (при дабблклике все текстуры распаковываются во временную папку в пнг и происходит открытие выбранной текстуры) В принципе так можно даже сразу редактирование добавить через внешний софт с мгновенной записью в модель, был бы смысл
добавил вывод встроенного в модель имени,
там бывают интересные вещи скрыты: имя автора, имя компилятора, изначальное имя модели, все эти xpшные пути до файлов и т.п.
экспорт uvшек для всех выделенных текстур
драг н дроп пофиксил, до этого не всегда срабатывал
Отправлено Дядя Миша 19-02-2026 в 15:25:
Цитата:
JPEG писал:
добавил поддержку $freecoords, теперь модельки из диффужина и старого мира грузит нормально

__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено JPEG 14-04-2026 в 19:04:
Что нового:
- режим полета
- миниатюры в проводнике windows для моделей hl, q1, q2
- поддержка моделей q1/hexen 2, q2, hl alpha (пока анимация дерганная), sin, heretic 2, alice/fakk2 (сейчас без скелеталки). Читает obj, но парсер нужно доработать. mdx от kingpina есть, но там видимо пути до текстур в коде игры прописываются, и субмодели лежат отдельно, поэтому пока неудобно пользоваться.
https://gamebanana.com/tools/21890
__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено FiEctro 15-04-2026 в 06:01:
JPEG
Супер, за превьюшки респект
Не думал переписать под более новую версию QT и портировать под разные платформы? Щас нейронки очень сильно помочь могут в этом.
Можно ещё сделать окошко с иерархией костей как в всех других нормальных вьюверах.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено JPEG 15-04-2026 в 10:30:
Цитата:
FiEctro писал:
JPEG
Супер, за превьюшки респект
Не думал переписать под более новую версию QT и портировать под разные платформы? Щас нейронки очень сильно помочь могут в этом.
Можно ещё сделать окошко с иерархией костей как в всех других нормальных вьюверах.
спасибо) Да как-то пока лишний раз не хочется снова все качать, настраивать, возиться - был бы смысл. Мне в целом QT не сказать, что зашел, хотя вёрстка интерфейсов видимо везде калечная. cmake в какой-то момент вообще стал компилировать по 5 минут, ещё и пути хардкодятся, неудобно резервные копии запускать. Потом на студию перешёл, тут поудобнее, но только windows. Если когда-то дорастет до полноценного вьювера с продуманным ui и большим количеством форматов, то можно будет и портировать, но сейчас рано
Добавлено 15-04-2026 в 13:30:
Какие вообще есть нормальные Вьюверы? Кто чем пользуется?__________________
https://www.moddb.com/mods/half-life-system-error
https://vk.com/aaatrigger
Отправлено FiEctro 17-04-2026 в 07:11:
JPEG
Да само понятие как отдельный вьювер уже устаревшее как и игровой СДК. Сейчас всё внутри IDE движка встроено и является одной экосистемой. Вам бы с Дядей Мишей сколлабиться, сделать хороший редактор.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!