![]() |
Страницы (15): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя » Показать все 220 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Поддержка 32-bit текстур в ксаше (https://hlfx.ru/forum/showthread.php?threadid=2961)
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
по техническим причинам на форуме сложновато найти некоторые вещи, потому я просто сейчас читаю новое и "слежу за темой"
потому я так же спрашиваю, а почему так, а не этак
не надо всех считать 30рублей_просильщиками (извиняюсь, но это тренд на этом форуме )
иногда человек просто не в теме...
з.ы. а почему нету штатных отвечающих на тупые вопросы ? штат маленький ?
Подход изначально не верный, Qwertyus, ты предлагаешь движку сделать поддержку нового формата текстур только по тому что в этом формате существует огромный контент из других игр, за место того, что бы адаптировать все это под Xash (to TGA).
PS:
VTF ведь собственный формат текстур VALVe? Если это так, то сюда еще добавятся всевозможные проблемы с авторскими правами, коих наверняка в Xashe по отношению к VALVe уже куча, если всем этим займутся юристы.
underworlddemon
Для этого есть эта http://hlfx.ru/forum/showthread.php?threadid=2990 тема.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Предложу ещё одну вещь. Сразу оговорюсь - это только общая идея, строгих вариантов реализации не предлагаю. И опять же - если это реализовать по какой-то причине нельзя, либо это бесполезно / неудобоваримо для Ксаша - ну и бог с ним. Если что-то из предложенного будет удобно использовать частично или в изменённом виде - ради бога. Смысл такой - сделать в Ксаше для "внешне подключаемых" текстур поддержку индексных файлов собственного формата, отталкиваясь от формата файлов vmt. То есть, вместо того, чтобы создавать один большой индексный файл, в который будут запиханы сведения о всех текстурах, возможно, будет лучше сделать отдельный индексный файл на каждую текстуру.
Т. е. сами по себе эти индексные файлы будут находиться в папках materials/common, либо materials/имя_карты. Движок Ксаша в приоритетном порядке будет проверять наличие в этих папках индексного файла для каждой из текстур, которая должна быть загружена. По имени файла эти индексные файлы должны иметь то же имя, что и имя текстуры в ваде. Находя такой файл, движок считывает детальную информацию о самой по себе текстуре и дополнительных параметрах её обработки.
Какую информацию можно поместить внутрь такого файла.
1. Должна ли текстура грузиться из вада или из внешнего файла (tga, например).
2. Если имеется внешняя HD-текстура на замену стандартной текстуре из вада, то должно быть указано её имя или путь к файлу текстуры (имеется в виду возможность поместить текстуру в подпапку, например, имеющую имя вада). Отдельным параметром (если такое возможно) можно задать масштаб использования данной текстуры (1.0 - целиком / 0.5 и т. п. - часть / 2.0 и т. п. - "плитка").
3. Используется ли для данной текстуры дополнительная "детализирующая" текстура (создающая особый эффект поверхности). Если да, то указать её имя / путь к файлу. Кроме того, отдельным параметром можно задать масштаб наложения этой детализирующей текстуры поверх основной, либо ещё какие-то параметры (если Ксаш их поддерживает).
4. Используется ли для данной текстуры дополнительная luma-текстура. Если да, то указать её имя / путь к файлу. Кроме того, отдельным параметром можно задать масштаб наложения этой детализирующей текстуры поверх основной, либо ещё какие-то параметры (если Ксаш их поддерживает).
Если Ксаш поддерживает карты нормалей для текстур или ещё что в этом роде (тут я просто делаю предположение о наличии каких-либо дополнительных функций, если их нету, значит этот пункт опускаем), то точно также данная информация может добавляться в индексный файл при наличии самих этих дополнительных файлов.
Что мы получаем в итоге.
1. Возможность гибкой настройки параметров использования любой отдельно взятой текстуры. Причём эти параметры могут быть легко изменены, в отличие от необходимости ползать по громоздкому индексному файлу, если он будет общим для всех текстур.
2. Сами файлы основных и вспомогательных текстур могут быть рассортированы по отдельным подпапкам, в общей куче будут лежать только индексные файлы. При этом нет необходимости делать множественные копии одинаковых текстур. На замену основной текстуры может быть использована текстура с другим именем, если это удобно по какой-либо причине (рэндом-тайлинг, иже с ним).
3. Если будет добавлена поддержка масштабирования текстур, то это также расширит возможности использования имеющихся текстур без необходимости создавать изменённую копию текстуры на каждый отдельный случай.
Ну, и на всякий случай приведу пример того, как выглядит изнутри vmt-файл, чтоб далеко не ходить:
code:
"LightmappedGeneric" { // Original shader: BaseTimesLightmapAlphaBlend "%compilepassbullets" 1 "$alphatest" 1 "$detail" "detail\metal_detail_01" "$detailscale" "2.5" "$detailblendfactor" ".65" "$detailblendmode" "0" "$basetexture" "halflife/{bars" "$surfaceprop" "metalgrate" }
Не проще ли попросить Дядь Мишу дать ссылку на ксашевский конвертер текстур? Если самому найти трудно?
Qwertyus чем катать километровые простыни каких-то фантазий - уже бы изучил С++ и написал свой собственный ксаш, какой тебе нравится.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Основной смысл данного предложения прост - иметь возможность одновременно заюзать под Ксашем как текстуру высокого разрешения, так и детализирующую текстуру. В данный момент приходится выбирать одно из двух, либо создавать файл с описанием детализирующих текстур отдельно для каждой карты. Если же изначально будет предусмотрена возможность гибкой настройки для каждой отдельной текстуры, будет легко создать универсальный пак текстур, включающий как текстуры высокого разрешения, так и детализирующие текстуры. При этом все установки будут применяться Ксашем автоматически к любой карте, соответственно эффект от данного пака мы сможем в полной мере увидеть в любом моде / карте, запущенном под Ксашем, даже если никакой детализации в нём не предполагалось.
А за "кашу" скажите спасибо Valve, которые свалили почти все текстуры в одну кучу. Да и кому будет дело до этой каши? Главное, чтобы работало это правильно. Человек скачивает Ксаш, скачивает универсальный пак текстур для него (возможны варианты! ) и наслаждается всеми возможностями движка в полной мере. А не ждёт, пока какой-нибудь мододел дотянется своими ручками, чтобы сделать редукс какого-нибудь классического мода (что в подавляющем большинстве случаев не произойдёт никогда). Лично я в этом и вижу основное преимущество Ксаша перед ГС. И реализация подобных вещей - это способ сделать Ксаш более привлекательным для широкий аудитории, так сказать. В общем, я предложил, а вы сами смотрите.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 12:47. | Страницы (15): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя » Показать все 220 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024