Qwertyus писал: речь шла о конвертировании текстур из одного формата в другой вообще
и я тебе о том жы говорю. В старом ксаше был легендарный набор инструментов, в том числе - конвертор текстур из одного формата в другой. Он даже из первого дуума умел текстуры конвертировать без потери прозрачности.
Дядя Миша писал: Препятствие ровно одно - несмотря на наличие готовой реализации в старом ксаше придется перепахать полдвижка и опять в параноях-хлфх-ха посыплются текстуры и прочая пердь начнется. Не нужно оно.
И это тоже аргумент против, с которым я согласен.
Цитата:
Дядя Миша писал: Я корочи понял. Твои сборные солянки и так предполагают минимум твоего участия в работе, но тебе хочется чтобы работы было еще меньше.
Чтобы взять текстуры из хл2, заархивировать их и налепить ярлык SuperTexturePack by Qwertyus, правильно понимаю?
Нет, неправильно ты понимаешь. Я просто поднял вопрос о возможности реализовать нововведение, которое могло бы быть полезным, далеко не только мне лично. Если возможности такой нет, так и скажите. А удовольствия от возможности подписаться под чужим трудом я не испытываю.
по техническим причинам на форуме сложновато найти некоторые вещи, потому я просто сейчас читаю новое и "слежу за темой"
потому я так же спрашиваю, а почему так, а не этак
не надо всех считать 30рублей_просильщиками (извиняюсь, но это тренд на этом форуме )
иногда человек просто не в теме...
з.ы. а почему нету штатных отвечающих на тупые вопросы ? штат маленький ?
Подход изначально не верный, Qwertyus, ты предлагаешь движку сделать поддержку нового формата текстур только по тому что в этом формате существует огромный контент из других игр, за место того, что бы адаптировать все это под Xash (to TGA).
PS:
VTF ведь собственный формат текстур VALVe? Если это так, то сюда еще добавятся всевозможные проблемы с авторскими правами, коих наверняка в Xashe по отношению к VALVe уже куча, если всем этим займутся юристы.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
и там расказано обо всём, что раньше было ?
я, например, не вижу там упоминания про тулзы старого Ксаша
про них вообще сложно найти что-то... даже место нынешней жизни
Предложу ещё одну вещь. Сразу оговорюсь - это только общая идея, строгих вариантов реализации не предлагаю. И опять же - если это реализовать по какой-то причине нельзя, либо это бесполезно / неудобоваримо для Ксаша - ну и бог с ним. Если что-то из предложенного будет удобно использовать частично или в изменённом виде - ради бога. Смысл такой - сделать в Ксаше для "внешне подключаемых" текстур поддержку индексных файлов собственного формата, отталкиваясь от формата файлов vmt. То есть, вместо того, чтобы создавать один большой индексный файл, в который будут запиханы сведения о всех текстурах, возможно, будет лучше сделать отдельный индексный файл на каждую текстуру.
Т. е. сами по себе эти индексные файлы будут находиться в папках materials/common, либо materials/имя_карты. Движок Ксаша в приоритетном порядке будет проверять наличие в этих папках индексного файла для каждой из текстур, которая должна быть загружена. По имени файла эти индексные файлы должны иметь то же имя, что и имя текстуры в ваде. Находя такой файл, движок считывает детальную информацию о самой по себе текстуре и дополнительных параметрах её обработки.
Какую информацию можно поместить внутрь такого файла.
1. Должна ли текстура грузиться из вада или из внешнего файла (tga, например).
2. Если имеется внешняя HD-текстура на замену стандартной текстуре из вада, то должно быть указано её имя или путь к файлу текстуры (имеется в виду возможность поместить текстуру в подпапку, например, имеющую имя вада). Отдельным параметром (если такое возможно) можно задать масштаб использования данной текстуры (1.0 - целиком / 0.5 и т. п. - часть / 2.0 и т. п. - "плитка").
3. Используется ли для данной текстуры дополнительная "детализирующая" текстура (создающая особый эффект поверхности). Если да, то указать её имя / путь к файлу. Кроме того, отдельным параметром можно задать масштаб наложения этой детализирующей текстуры поверх основной, либо ещё какие-то параметры (если Ксаш их поддерживает).
4. Используется ли для данной текстуры дополнительная luma-текстура. Если да, то указать её имя / путь к файлу. Кроме того, отдельным параметром можно задать масштаб наложения этой детализирующей текстуры поверх основной, либо ещё какие-то параметры (если Ксаш их поддерживает).
Если Ксаш поддерживает карты нормалей для текстур или ещё что в этом роде (тут я просто делаю предположение о наличии каких-либо дополнительных функций, если их нету, значит этот пункт опускаем), то точно также данная информация может добавляться в индексный файл при наличии самих этих дополнительных файлов.
Что мы получаем в итоге.
1. Возможность гибкой настройки параметров использования любой отдельно взятой текстуры. Причём эти параметры могут быть легко изменены, в отличие от необходимости ползать по громоздкому индексному файлу, если он будет общим для всех текстур.
2. Сами файлы основных и вспомогательных текстур могут быть рассортированы по отдельным подпапкам, в общей куче будут лежать только индексные файлы. При этом нет необходимости делать множественные копии одинаковых текстур. На замену основной текстуры может быть использована текстура с другим именем, если это удобно по какой-либо причине (рэндом-тайлинг, иже с ним).
3. Если будет добавлена поддержка масштабирования текстур, то это также расширит возможности использования имеющихся текстур без необходимости создавать изменённую копию текстуры на каждый отдельный случай.
Ну, и на всякий случай приведу пример того, как выглядит изнутри vmt-файл, чтоб далеко не ходить:
Не проще ли попросить Дядь Мишу дать ссылку на ксашевский конвертер текстур? Если самому найти трудно?
Цитата:
Qwertyus писал: возможно, будет лучше сделать отдельный индексный файл на каждую текстуру.
И получить кашу из файлов. Нет, увольте. Лучше индексный файл для каждой карты. Только нафиг он нужен?
По моему мнению нужны следующие типы индексных файлов:
1. Список ДЕТАЛЬНЫХ текстур для карты. (которые серые, и это уже есть в ксаше)
2. Список ПОХОЖИХ текстур, для которых создаём рельеф, блеск и проч. при наличии рендера а-ля ХЛФХ, тоже для карты. (Пример: есть четыре текстуры стены - с красной, жёлтой, синей и зелёной полосами соответственно. Чтобы не дублировать, пишем в файле имена этих четырёх текстур, и всем им указываем одинаковую бампмапу. Для остальных текстур грузим бампмапы как в Паранойе)
3. Типа шойдер как в ку3 для мерцающих поверхностей, воды и проч. при наличии рендера а-ля ХЛФХ. Тоже для каждой карты отдельно.
Ku2zoff писал: 3. Типа шойдер как в ку3 для мерцающих поверхностей, воды и проч. при наличии рендера а-ля ХЛФХ. Тоже для каждой карты отдельно.
И первые два пункта лихко в него укладываются. Примерно так оно в ксаше и планировалось в те времена, когда солнце было ярче, трава зеленее, а девушки обнажались за спасибо. Но потом оказалось, что пускать слюни на ксаш/волатилу/хлфх/спирит (нужное расскрасить) все горазды, а сделать хоть что-то до конца под один из этих проектов способны очень немногие, да и те, зачастую, асоциальны до истерик. В итоге любуемся тем, что не лень было делать с осознанием, что оно никому больше нафиг не нужно.
Основной смысл данного предложения прост - иметь возможность одновременно заюзать под Ксашем как текстуру высокого разрешения, так и детализирующую текстуру. В данный момент приходится выбирать одно из двух, либо создавать файл с описанием детализирующих текстур отдельно для каждой карты. Если же изначально будет предусмотрена возможность гибкой настройки для каждой отдельной текстуры, будет легко создать универсальный пак текстур, включающий как текстуры высокого разрешения, так и детализирующие текстуры. При этом все установки будут применяться Ксашем автоматически к любой карте, соответственно эффект от данного пака мы сможем в полной мере увидеть в любом моде / карте, запущенном под Ксашем, даже если никакой детализации в нём не предполагалось.
А за "кашу" скажите спасибо Valve, которые свалили почти все текстуры в одну кучу. Да и кому будет дело до этой каши? Главное, чтобы работало это правильно. Человек скачивает Ксаш, скачивает универсальный пак текстур для него (возможны варианты! ) и наслаждается всеми возможностями движка в полной мере. А не ждёт, пока какой-нибудь мододел дотянется своими ручками, чтобы сделать редукс какого-нибудь классического мода (что в подавляющем большинстве случаев не произойдёт никогда). Лично я в этом и вижу основное преимущество Ксаша перед ГС. И реализация подобных вещей - это способ сделать Ксаш более привлекательным для широкий аудитории, так сказать. В общем, я предложил, а вы сами смотрите.
Ku2zoff писал: Может быть, эта система будет заново реализована в движке XashXT...
а в московкой области построили новую школу. Поверх старой
Зачем заново реализовывать, когда оно там и так уже есть? Ну и плюс накопленный материал, полученный при разработке совместимого ксаша.
Вот дайте только ксаш-мод доделаю и римейк кваки.
Я вам скоро покажу мовевитч как в хл2 на ксаш-моде.
Цитата:
Qwertyus писал: иметь возможность одновременно заюзать под Ксашем как текстуру высокого разрешения, так и детализирующую текстуру
ну для чего нормальному человеку РАЗНЫЕ сигареты? (с)
К тому же я неоднократно упоминал что никаких препятствий к этому нет.
Не надо делать текстуры высокого разрешения по методу FiEctro. Это плохой, негодный способ для ксаша. Берешь текстуру высокого разрешения, корочи кладешь в папку materials. Берешь детальную текстуру, корочи кладешь в папку gfx\detail. И всё. И не надо ничего выдумывать. Бъёрн Страуструп однажды не смог разобраться с Симулой и создал С++. Последствия мы до сих пор расхлёбываем.
Ты лучше бы разобрался с уже имеющимися возможностями, чем выдумать нечто такое что тебе одному понятно. Потому что, чем больше ты пишешь - тем меньше я понимаю твою мысль. Еще пара постов и перестану понимать окончательно.
Дядя Миша писал: Берешь детальную текстуру, корочи кладешь в папку gfx\detail. И всё.
Это понятно, что её туда можно положить. Но чтобы она вот так просто сразу работала, нужно, чтобы имя у неё было, как у основной текстуры, разве не так? А если так, то нужно для 3000 основных текстур наклепать 3000 текстур детализирующих, если не прибегать к помощи индексных файлов. В связи с этим вы предлагаете пойти по пути, предлагаемому в Стим-ХЛ и клепать индексные файлы для каждой отдельно взятой карты, чтобы в них прописывать детализирующие текстуры. Только я не пронимаю, зачем прибегать к таким костылям, если можно добавить в Ксаш поддержку глобальных индексных файлов. Которые будут управлять подстановкой текстур централизованно, вместо необходимости прописывать одно и то же для разных карт разных модов.
Соответственно, реализовать это можно двумя способами:
1. Сделать один большой общий файл, в который будут занесены данные о всех подстановках детализирующих текстур, имена которых не совпадают с именем основной текстуры. Т. е. этот файл будет аналогичен по своей сути индексным файлам в Стим-ХЛ, с тем отличием, что он будет управлять подстановкой текстур для любых карт, а не для каких-то конкретных.
2. Сделать маленькие файлы для каждой отдельной текстуры, как было описано выше.
Если есть другие способы настроить одновременное использование текстур высокого разрешения и детализирующих текстур без необходимости клонировать схожие текстуры (или создавать индексные файлы для каждой конкретной карты) и что-то добавлять в Ксаш, пожалуйста, объясните, как.