Кстати да, вот тут http://www.md5.cz например MD5 хэш выдается в том числе и в виде массива цветных пикселей. Ничего не мешает встроить его куда-нибудь в текстуру, а при загрузке в видеопамять просто игнорить
Добавлено 13-10-2016 в 19:59:
Ну или завести свой формат со специально отведенным блоком MD5
Дядя Миша писал: Так они в любом случае снаружи хранятся, те, которые полноцветные.
Ну так зачем тогда плодить сущности. Там текстуры, тут текстуры, эти собери, те положи.
В идеале всем текстурам лежать бы в одной папке, всем моделям - в другой. Без подпапок. Для удобства навигации давать файлам осмысленные префиксы.
Я тут Urho3D скачал. Так там знаете, каждый материал в отдельной папке.
Ну то есть папка допустим Sand. И там три текстуры
Albedo.jpg, Normal.jpg, Properties.jpg. Заходиш в другую папку - там другие текстуры, с такими же именами. Правда здорово? Захочешь переместить текстурки и перезапишешь случайно.
Дядя Миша писал: Я тут 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, ну и пару тех фич
ILZM писал: В халфе, грубо говоря, 20 пушек. Везде в этих моделях одинаковые руки с текстурами. Т. е. в каждой модели дописывается при компиляции референс рук.
Ну в халве еще проблема в том что руки разные с разной разверткой и мешами, и плюс скелет рук не всегда одинаковый, то есть если с другого оружия загрузить анимацию на руку есть шанс что рука будет жутко вывернута, тут для начала нужно еще будет переанимировать оружие чтобы руки имели одинаковый скелет и могли использовать анимации от всего оружия. Совмещение моделей уже сделано для моделей игрока и _p моделей оружия.
Цитата:
ILZM писал: 1. Так как в гсе удаляются все кости без прикрепленных к ним вершин, то надо убрать эту фичу. А то как создать модель без меша и только с анимами. Чтобы определять что за тип модели это, добавляем ANI расширение. MDL - есть вершины с анимациями. ANI - нет вершин, только анимации.
Это уже компилятор удаляет, а не сам двиг, я думаю что достаточно студиомдл команду сделать, что кости не трогает.
Добавлено 14-10-2016 в 12:21:
Насчет дублирования текстур тех же рук, можно как в сорсе сделать чтобы при компиляции можно было указать папку где лежат текстуры.
ILZM писал:
Чтобы определять что за тип модели это, добавляем ANI расширение. MDL - есть вершины с анимациями. ANI - нет вершин, только анимации.
Я убеждён, что анимации должны быть отдельными файлами (ну или записями в "базе"), содержащими только иерархию и последовательности трансформаций костей.