HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Реюзабельность текстур в играх (https://hlfx.ru/forum/showthread.php?threadid=4870)
Отправлено Дядя Миша 13-10-2016 в 16:43:
Цитата:
KiQ писал:
Но теоретически можно сделать сравнение raw массива
Пока грузишь - рассчитай MD5 
А еще лутьшы - запиши прямо в текстуру.
Цитата:
ncuxonaT писал:
Сидишь собираешь-разбираешь модели.
Так они в любом случае снаружи хранятся, те, которые полноцветные.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KiQ 13-10-2016 в 16:59:
Кстати да, вот тут http://www.md5.cz например MD5 хэш выдается в том числе и в виде массива цветных пикселей. Ничего не мешает встроить его куда-нибудь в текстуру, а при загрузке в видеопамять просто игнорить
Добавлено 13-10-2016 в 19:59:
Ну или завести свой формат со специально отведенным блоком MD5
__________________
-Brain is dead-
Отправлено Дядя Миша 13-10-2016 в 17:55:
Да у тебя будет просто мусор первые 32 пикселя текстуры, ничего страшного в первокваке такое уже было 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 13-10-2016 в 18:20:
Цитата:
Дядя Миша писал:
почему?
Щели, тайнифэйсы, дикие разбиения и прочая мерзость BSP-архитектуры же.__________________
http://www.moddb.com/mods/monorail-quest
Отправлено ncuxonaT 13-10-2016 в 18:55:
Цитата:
Дядя Миша писал:
Так они в любом случае снаружи хранятся, те, которые полноцветные.
Ну так зачем тогда плодить сущности. Там текстуры, тут текстуры, эти собери, те положи.
В идеале всем текстурам лежать бы в одной папке, всем моделям - в другой. Без подпапок. Для удобства навигации давать файлам осмысленные префиксы.
Отправлено KiQ 13-10-2016 в 19:09:
Цитата:
Дядя Миша писал:
Да у тебя будет просто мусор первые 32 пикселя текстуры, ничего страшного в первокваке такое уже было
там разве не поллитра была?__________________
-Brain is dead-
Отправлено Дядя Миша 13-10-2016 в 19:13:
ncuxonaT лучше плодить сущности чем ломать совместимоть. ну потом поймешь.
Цитата:
KiQ писал:
там разве не поллитра была?
там была какая-то текстура патронов и вот у ей первые 32 пикселя были белыми. Ну художник накосячил. ЧСХ под софтварным рендерером было незаметно.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 13-10-2016 в 19:28:
Цитата:
Дядя Миша писал:
лучше плодить сущности чем ломать совместимоть
Ты сейчас про совместимость чего с чем?
Отправлено Дядя Миша 13-10-2016 в 21:29:
Я тут Urho3D скачал. Так там знаете, каждый материал в отдельной папке.
Ну то есть папка допустим Sand. И там три текстуры
Albedo.jpg, Normal.jpg, Properties.jpg. Заходиш в другую папку - там другие текстуры, с такими же именами. Правда здорово? Захочешь переместить текстурки и перезапишешь случайно.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ILZM 14-10-2016 в 09:24:
Цитата:
Дядя Миша писал:
Я тут Urho3D скачал. Так там знаете, каждый материал в отдельной папке.
Ну то есть папка допустим Sand. И там три текстуры
Albedo.jpg, Normal.jpg, Properties.jpg. Заходиш в другую папку - там другие текстуры, с такими же именами. Правда здорово? Захочешь переместить текстурки и перезапишешь случайно.
Это все авторский индивидуализм. Он их мог назвать sand_normal.lul или sand_diffuse.lul. В сорсе точно такая же структура, но ведь никто не жалуется. Это достаточно просто, даже я после гс быстренько сориентировался.
Если будет способ определения дубликаций, то норм. По факту:
1. В каждой третей модели хл есть маленькая 64 на 64 текстура хрома.
2. Очень много повторяющихся текстур рук, потому что они разбиты и не на одной uv карте
Если это не проблема для количества нужной памяти, то да, будет прикольненько
ПРЕДЛОЖЕНИЕ: Кстати, многие боятся повторения текстур, когда сами используют тот же меш для рук множество раз(лалки). В халфе, грубо говоря, 20 пушек. Везде в этих моделях одинаковые руки с текстурами. Т. е. в каждой модели дописывается при компиляции референс рук. Почему бы этот референс рук не удалить из конечной модели? А в игре к пушке прикреплять отдельную модель рук. Так и текстуры экономятся, и размер самой модели.
Если будет твой способ, то пусть ети мододелы в принудительном порядке удалят все меши рук с их оружий, и создадут отдельную модель. А чтобы в код не лезть, можно добавить параметр $ATTACH_MODEL PUT/RUKI.mdl. С таким способом открываются многие пути для экономия памяти.
ПРЕДЛОЖЕНИЕ: В Параное у многих персонажей одинаковые анимации. А что если в конечной модели персонажей не удалить повторяющиеся анимации? Запихиваем эти анимации в отдельную модель и пишем в qc персонажа $ATTACH_ANIMATION PUT/ANIMACII.ani.
ПРОБЛЕМА:
1. Так как в гсе удаляются все кости без прикрепленных к ним вершин, то надо убрать эту фичу. А то как создать модель без меша и только с анимами. Чтобы определять что за тип модели это, добавляем ANI расширение. MDL - есть вершины с анимациями. ANI - нет вершин, только анимации.
2. С прикреплением анимаций возникает проблема определения нужной анимации. В коде используются индексы для нужной анимации. А что если обращаться к нужной анимации на сервере по уникальному имени, а не номеру анимации в модели?
В общем, в конце концов я за Дядь Мишу, но только если он добавит $attach_model *.mdl и $attach_animation *.ani, ну и пару тех фич
Отправлено Chyvachok 14-10-2016 в 10:21:
Цитата:
ILZM писал:
В халфе, грубо говоря, 20 пушек. Везде в этих моделях одинаковые руки с текстурами. Т. е. в каждой модели дописывается при компиляции референс рук.
Ну в халве еще проблема в том что руки разные с разной разверткой и мешами, и плюс скелет рук не всегда одинаковый, то есть если с другого оружия загрузить анимацию на руку есть шанс что рука будет жутко вывернута, тут для начала нужно еще будет переанимировать оружие чтобы руки имели одинаковый скелет и могли использовать анимации от всего оружия. Совмещение моделей уже сделано для моделей игрока и _p моделей оружия.
Цитата:
ILZM писал:
1. Так как в гсе удаляются все кости без прикрепленных к ним вершин, то надо убрать эту фичу. А то как создать модель без меша и только с анимами. Чтобы определять что за тип модели это, добавляем ANI расширение. MDL - есть вершины с анимациями. ANI - нет вершин, только анимации.
Это уже компилятор удаляет, а не сам двиг, я думаю что достаточно студиомдл команду сделать, что кости не трогает.
Добавлено 14-10-2016 в 12:21:
Насчет дублирования текстур тех же рук, можно как в сорсе сделать чтобы при компиляции можно было указать папку где лежат текстуры.
Отправлено nemyax 14-10-2016 в 10:47:
Цитата:
ILZM писал:
Чтобы определять что за тип модели это, добавляем ANI расширение. MDL - есть вершины с анимациями. ANI - нет вершин, только анимации.
Я убеждён, что анимации должны быть отдельными файлами (ну или записями в "базе"), содержащими только иерархию и последовательности трансформаций костей.
Отправлено Paopapel 14-10-2016 в 11:51:
Добавить настроек для этих команд или новую с расширенными функциями.
$sequencegroupsize
$externaltextures
Отправлено KiQ 14-10-2016 в 13:28:
Вообще, мне кажется, что _t.mdl файлы и были изначально, чтобы шарить текстуры. Друого применения я им не вижу.
__________________
-Brain is dead-
Отправлено XaeroX 14-10-2016 в 13:29:
Цитата:
KiQ писал:
Друого применения я им не вижу.
Включи фантазию. 
Я дам на водку: mdl-файлы грузятся не только на клиенте (для отрисовки), но и на сервере (для трассировки).__________________