Ku2zoff писал: FiEctro как-то не очень это звучит. Где хранить превьюшки? Как их соотносить с моделями, если есть несколько моделей с одинаковыми именами?
Если хранить рядом с самой моделью, то соотносить ничего не придётся. Но каталоги засруться этими превьюшками, что юзеру не шибко надо. Если хранить в папке моделвьювера, то как соотносить? По пути до модели? По хеш-сумме модели? Мне идеальным видится вариант, в котором превьюшка вшита в саму модель. Собсно, это можно реализовать в новом ксаше, с его новыми форматами. А чтобы каждый раз не читать превьюшки из моделей, вычитывать их при изменениях, и хранить в папке моделвьювера в одном файле как виндовый кэш эскизов, для быстрого доступа. Опять же, снова встаёт вопрос, как соотносить, потому что каталогов с моделями может быть много. Если используем браузер с превьюшками, значит работаем с конкретным катлогом. Получается, привязываем превьюшки к каталогу.
Реализаций масса. Хранить превьюшки можно и в папке и в архиве с той же иерархией что и у моделей или вообще как угодно. У файлов помимо имени есть ещё и путь так что одинаковый нейминг вообще не проблема. Вшивать не знаю, обычно так никто не делает, нужно изучать этот вопрос. Естественно загружать нужно не всё, а только то что открыто в браузере. Ну собственно как делает это винда, да. Александр говорил что можно сделать какую то таблицу с блобами для быстрого доступа, но с этим я тоже не имел дела.
Вот что нейронка пишет (для обж):
Цитата:
1) Уникальная идентификация моделей (проблема одинаковых имён)
Никогда не ключуй по имени файла. Ключ должен быть стабильным и уникальным:
Вариант A (обычно достаточно)
canonical_full_path (нормализованный полный путь)
last_write_time
file_size
cache_schema_version (чтобы сбрасывать кэш при смене рендера)
Параллельная загрузка текстур + кеш текстур (иначе 100 превью будут каждый раз читать одно и то же)
Отмена задач: если пользователь резко проскроллил — старые задачи можно отменить/понизить приоритет.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: винда точно так же засирает папки превьюшками, создавая thumbs.db
Кажется, начиная с висты, файл эскизов один: thumbcache в папке пользователя. А XP создавала в каждой папке файлик thumbs.db. Думаю, что и то, и другое вариант, только вместо общего кэша в папке пользователя общий кэш в папке моделвьювера. Я бы всё-таки рассмотрел вариант зашивать превьюшку в модель и забабахать плагин для проводника, чтобы модели отображались превьюшками, как обычные картиники. Видео файлы ведь могут так отображаться после установки кодек-пака.
И опять наткнуться на теже грабли когда у тебя несколько версий плагина, а проводник один
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
ну што, крупное обновление, новые функции
- драг н мать его дроп текстур. Туда и обратно. Можно на окно текстур, на окно модели. Если тащить несколько текстур в программу, то заменятся те, у кого совпадут имена. Если же тащить внешнюю картинку на текстуру в программе - она заменится и унаследует имя от внешней. Для ремапов сохраняется в бмп 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 всего, можно вообще их разделить - по высоте вместятся - для каждого свой слайдер, чем один общий. И надо будет извлекать значения блендов и ремапов в текстовом виде.
А вообще удивительный эффект, я миллиард раз видел все эти стандартные модели, но сейчас благодаря развёрнутому браузеру текстур с крупным видом, я впервые вижу текстуры этих моделей))
JPEG писал: - сохранение моделей, в том числе с t.mdl. При открытии t.mdl или 01.mdl 02 и тп. - открывается основная модель.
Кстати объясните смысл вот этого? Для чего с моделью тащить эти файлики?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал:
Как жы я ненавижу дизеринг на восьмибитных текстурах.
мне нравится дизер Байера, такой с узорами) Ну а без него совсем плохо, резкие переходы ж
Цитата:
FiEctro писал: Вообще-то в моём было правильным
ну возьми модель гмана, сделай литсо аддитивным и глянь, что будет. В игре воротник отрисовывается поверх)) Не исключаю, что это может быть только в стим-версии, хз, пока не проверял
Цитата:
Дядя Миша писал: На ЛКМ - вращение камеры, полёт на WSAD, в Джеке оно так же.
в Джеке на лкм выбор объекта. Если нажать z то полет, пока не нажмешь лкм (это отменит полет). А в бспгай, годоте, и скорее всего юнити - нужно зажать пкм. В целом и то, и то удобно. В хлмв просто на пкм же зум. Сейчас зум дублируется на колесико, может и можно занять пкм
Добавлено 17-02-2026 в 18:03:
Цитата:
Дядя Миша писал: Смысл тех эффектов - в движении модели,
поэтому там упрощенное состояние, а-ля при рокет трейле - частицы движутся вверх (по-сути это пламя), дым вверх, кровь вниз течет и тп. Это вьювер, поэтому оно всегда отображается. Можно канеш к анимации привязать и симулировать движение, чтобы хвост тянулся, но мудрёно и всё равно криво получится
FiEctro писал: Кстати объясните смысл вот этого? Для чего с моделью тащить эти файлики?
Когда оперативки было мало, модели компилили с разбиением на части. T-файлы для сохранения текстур, выделенный сервер их не грузит, тем самым экономит оперативку. 01-0X файлы с анимациями. Тоже, видимо для экономии памяти, чтобы всё сразу не грузить. Хотя, не очень понятно зачем. Скорее всего оригинальный компилятор не справлялся и вылетал. Такое поведение легко воспроизвести, попытавшись скомпилить модельки игроков из CS 1.6/CZ/DoD милкой. Либо дробишь модель на части, либо вылет в конце компиляции.
Добавлено 18-02-2026 в 14:31:
Цитата:
JPEG писал: Если нажать z то полет, пока не нажмешь лкм (это отменит полет). А в бспгай, годоте, и скорее всего юнити - нужно зажать пкм. В целом и то, и то удобно. В хлмв просто на пкм же зум.
ЛКМ - вращение камеры вокруг модели. ПКМ - вращение камеры относительно точки обзора (как в игре), СКМ - перемещение камеры в шести направлениях. Колёсико - зум. Z - переключение на хаммероподобное управление, если вдруг кому-то так удобно.
Добавлено 18-02-2026 в 14:33:
Цитата:
FiEctro писал: И опять наткнуться на теже грабли когда у тебя несколько версий плагина, а проводник один
Про какой плагин ты говоришь? Их огромное множество, естественно они могут конфликтовать друг с другом. Если у юзера руки из седалища, а не из плеч.
Ku2zoff писал: Про какой плагин ты говоришь? Их огромное множество, естественно они могут конфликтовать друг с другом. Если у юзера руки из седалища, а не из плеч.
По мне использовать встроенный в софт браузер файлов куда удобнее и предсказуемее чем полагаться на винду, учитывая что ещё винда тоже разная бывает.
Цитата:
Ku2zoff писал: Когда оперативки было мало, модели компилили с разбиением на части. T-файлы для сохранения текстур, выделенный сервер их не грузит, тем самым экономит оперативку. 01-0X файлы с анимациями. Тоже, видимо для экономии памяти, чтобы всё сразу не грузить. Хотя, не очень понятно зачем. Скорее всего оригинальный компилятор не справлялся и вылетал. Такое поведение легко воспроизвести, попытавшись скомпилить модельки игроков из CS 1.6/CZ/DoD милкой. Либо дробишь модель на части, либо вылет в конце компиляции.
Наверное это что то связано с отрисовкой в софтварном режиме как обычно.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: использовать встроенный в софт браузер файлов куда удобнее и предсказуемее чем полагаться на винду
Согласен. Но при условии, что софт - комбайн, включающий в себя все редакторы. Точнее, необходимый набор: просмотровщики форматов, компиляторы/декомпиляторы, редакторы уровней, скриптов, шейдеров и проч. Узкоспециализированные 3д, звуковые и текстурные редакторы могут быть внешними.
Добавлено 18-02-2026 в 16:50:
А то, перескакивание с моделвьювера в редактор уровней, например, с помощью ALT+TAB такое себе занятие ради установки модельке одного флага, или замены одной текстуры.
добавил поддержку $freecoords, теперь модельки из диффужина и старого мира грузит нормально (если они без $boneweights ). В окне текстур в таком случае текстура отображается с повторами в затайленном виде, приводя изумлённого юзера в замешательство (этот параметр часто используется там, где не ожидаешь его встретить).
добавил простую но супер-прикольную фичу - дабблклик по текстуре открывает ее через любимый просмоторщик пользователя (при дабблклике все текстуры распаковываются во временную папку в пнг и происходит открытие выбранной текстуры) В принципе так можно даже сразу редактирование добавить через внешний софт с мгновенной записью в модель, был бы смысл
добавил вывод встроенного в модель имени,
там бывают интересные вещи скрыты: имя автора, имя компилятора, изначальное имя модели, все эти xpшные пути до файлов и т.п.
экспорт uvшек для всех выделенных текстур
драг н дроп пофиксил, до этого не всегда срабатывал
Что нового:
- режим полета
- миниатюры в проводнике windows для моделей hl, q1, q2
- поддержка моделей q1/hexen 2, q2, hl alpha (пока анимация дерганная), sin, heretic 2, alice/fakk2 (сейчас без скелеталки). Читает obj, но парсер нужно доработать. mdx от kingpina есть, но там видимо пути до текстур в коде игры прописываются, и субмодели лежат отдельно, поэтому пока неудобно пользоваться.