Sidebar

XashNT: информация, скриншоты

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Зачем так много?
Есть параметр ресайз, позволяющий задавать уменьшение индексированной текстуры в процентном соотношении к оригиналу.
Это всё захардкодено
Да. Но я потом опубликую сорцы мейквада, будете баловаться.
Для того, чтобы можно было их редактировать и сразу смотреть результат
Ничего страшного. Мейквад умеет пересобирать вады в деликатном режиме - заменяя только лишь выбранную текстуру, это не займет много времени.
оно не будет рассчитано на разрешения выше 800х600?
Из чего такой вывод?
Что-то мне подсказывает
Костыльность - это вот как раз внешние текстуры, ага. Когда уже не поймешь что откуда грузится, особенно когда накидываешь в одну папку параною, ионизацию и PBR от психопата. А потом сверху это полируешь модом рейда.

Внешние несжатые текстуры будут только для меню. Чтобы избежать артефактов.
Игровые ресы будут встроенные. На этом закончим дискуссию.

[ADDED=Дядя Миша]1459158082[/ADDED]
Зачем так много?
Есть параметр ресайз, позволяющий задавать уменьшение индексированной текстуры в процентном соотношении к оригиналу.
Это всё захардкодено
Да. Но я потом опубликую сорцы мейквада, будете баловаться.
Для того, чтобы можно было их редактировать и сразу смотреть результат
Ничего страшного. Мейквад умеет пересобирать вады в деликатном режиме - заменяя только лишь выбранную текстуру, это не займет много времени.
оно не будет рассчитано на разрешения выше 800х600?
Из чего такой вывод?
Что-то мне подсказывает
Костыльность - это вот как раз внешние текстуры, ага. Когда уже не поймешь что откуда грузится, особенно когда накидываешь в одну папку параною, ионизацию и PBR от психопата. А потом сверху это полируешь модом рейда.

Внешние несжатые текстуры будут только для меню. Чтобы избежать артефактов.
Игровые ресы будут встроенные. На этом закончим дискуссию.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Зачем так много?
Есть параметр ресайз, позволяющий задавать уменьшение индексированной текстуры в процентном соотношении к оригиналу.
Это всё захардкодено
Да. Но я потом опубликую сорцы мейквада, будете баловаться.
Для того, чтобы можно было их редактировать и сразу смотреть результат
Ничего страшного. Мейквад умеет пересобирать вады в деликатном режиме - заменяя только лишь выбранную текстуру, это не займет много времени.
оно не будет рассчитано на разрешения выше 800х600?
Из чего такой вывод?
Что-то мне подсказывает
Костыльность - это вот как раз внешние текстуры, ага. Когда уже не поймешь что откуда грузится, особенно когда накидываешь в одну папку параною, ионизацию и PBR от психопата. А потом сверху это полируешь модом рейда.

Внешние несжатые текстуры будут только для меню. Чтобы избежать артефактов.
Игровые ресы будут встроенные. На этом закончим дискуссию.
 

IvanZ9

New member
Apr 27, 2009
434
32
Я чет не понял. Возможно, под внешними текстурками понимаю не то (это те, которые не в вадниках\паках или еще где лежат, а в папке (как в сурсе, например)??).
Просто был случай, когда надо было подогнать текстуру на одну плоскость и не хотелось еще брашей создавать (один хрен задник).
Очень не хотелось бы такого варианта, когда ее надо дополнительно упаковывать\распаковывать в вадник, чтоб изменить.
Так-то про ценность вадов (да и паков вцелом) вопросов нет. По прочитанному складывается такое ощущение, что на выходе будет достаточно жесткая привязка содержимого к паку. Финальный этап - ладно, и даже хорошо, если будет возможность модификации без прибегания к изменению оригинального файла (для модов), но на этапах разработки может доставить неудобства.
Хотя, возможно это влияние сурса. )
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Э нет, если я оставлю возможность хотя бы временной загрузки текстур снаружи - все так и будут хранить снаружи. Если сделаю привязку на девелопер режим - все так и будут распространять игру со включенным девелопер-режимом.
Потому что многие мапперы очень неаккуратные, им ничего не стоит например забыть в папке мода psd мегабайт на 300, стандартная ситуация.
Раньше, когда не было внешних текстур, все сохраняли в вадник и не жужжали.
А теперь начинается. Я думаю это всего лишь вопрос удобства. Если скажем появится такой редактор, который будет уметь сразу в вадник сохранять, то никто и слова не скажет.
Но текстуры обязаны лежать в ваде, это единственный способ для меня проконтролировать их валидность, ужать в формат, понятный движку, расставить в хидере особые маркеры кастомного сжатия и многое-многое другое.
Научится джек понимать DDS, выйдет какой-нибудь JackWally - замечательно, можно будет отказаться от индексированных текстур совсем и хранить только ддс. Это задел на будущее.
Если бы DDS изначально был жостко стандартизован, я бы может и не парился так. Но сегодня это у нас YCoCg, завтра NM, послезавтра RGBE и я нивкуда не могу сохранить эту инфу, чтоб донести её до рендерера. И вы не будете этот формат текстур нигде прописывать в скриптах, оно вам вообще надо? Вникать в эти тонкости. И когда даёшь карту - не надо думать, ой забыл внешние текстуры положить. И не надо выискивать какие там внешние, какие внутренние.
Нет уж. Я признаю, что это может доставить некие потенциальные неудобства во время создания новых текстур, но когда текстуры уже созданы и вад укомплектован, то для вас никакой разницы нет. Высокое разрешение есть, альфа-канал есть.
 

FiEctro

Ведущий
Jul 28, 2006
17,139
33
2 Дядя Миша:
Нужен какой нить менеджер вадов, с консольными туллзами мапперам не очень удобно работать. Текстуры имеют тенденцию пререрисовываться, удаляться и переименовываться, и попробуй удержи всё это в голове. Валли к сожалению врядли покажет ДДС.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 FiEctro: ну перерисовывать DDS всё равно не получится, хоть в ваде, хоть снаружи, т.к. они сжатые. Я себе процесс создания текстур представляю следующим образом.
Берётся исходник, рисуется новая текстура. Исходник в формате PSD. Потом, предположим, вы его экспортируете в несжатую текстуру через фотошоп.
Но несжатые текстуры вам не нужны, т.к. занимают много места. Тот же Рейд наконвертировал все свои внешние текстуры в 8 бит. С таким же успехом он мог положить их в вад, но в ваде они займут больше места, потому что для них еще делается 3 мип-уровня. Ну идиотизм же хранить 8-битные текстуры снаружи.
Далее, предположим мы отказались от несжатых текстур, заюзали DDS. DDS имеет довольно неравномерное качество, приходится постоянно что-то изобретать. Nvidia в 2007 году изобрела YCoCg. Фотошоп умеет в этот формат сохранять? Сомневаюсь. Ну хорошо, даже если и умеет, вот мы сохранили, на вид она ничем не отличается от стокового DXT5. Только кое-где цвета покорёжены. Как я объясню движку, что это YCoCg? Правильно, никак. Аналогичная ситуация и с нормалмапами. Ну ничем не отличается DXT5NM от DXT5. Нет никаких косвенных признаков для детекта. Только указать явным образом, а где? Предположим я записал эту инфу внутрь DDS, там есть пара свободных переменных. Каким образом это делать? Сделать программку, которая будет модифицировать хидер? А как она узнает какие помечать, а какие нет?
Вручную указывать? И так - на каждую текстурку? Этот процесс пакетированию вообще не поддается. Иными словами, отредактировал текстуру, потом пожал в DDS, потом еще где-то указал, что это не стоковый формат, иначе цвета поплывут, нормали в говно превратятся. Причём кто-нибудь вообще не станет вникать в такие тонкости, а скажет движок говно, вместо бампа рисует черноту какую-то (а неправильно загруженный DXT5NM именно так и выглядит). И вот мы будем дружно гадать, то ли у него нормаль неправильная, то ли шейдер глючит, то ли еще что. Оно вам надо? Оно мне надо? Мейквад, это для меня прежде всего способ контролировать текстуры, которые будут поданы на вход движка, убедиться, что они правильного размера, сжаты в правильный формат и там всё хорошо. Насчёт менеджера - СоветКодер вроде бы обещал заняться, в будущем,
когда формат будет окончательно готов.
 

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
Ничего страшного. Мейквад умеет пересобирать вады в деликатном режиме - заменяя только лишь выбранную текстуру, это не займет много времени.
И на каждое изменение текстуры нужно запускать мейквад, еще и какие-то параметры прописывать.
Ты всё это пишешь и придумываешь, сам не будучи потребителем. И не представляешь, какой это геморрой, на каждый чих править какие-то скрипты, батники, индексировать текстуры, запускать утилиты.
Что ты сейчас предлагаешь: отредактировал текстуру - запихивай её в вад. 20 раз отредактировал - 20 раз запихивай. Это же вымораживает, это издевательство над разработчиком.
Хочешь сделать простую статическую модель - пожалуйста, индексируй текстуры, переназначай материалы, экспортируй, пиши скрипт, клади всё в папку, компилируй. Всё ради удобства.
Но сегодня это у нас YCoCg, завтра NM, послезавтра RGBE и я нивкуда не могу сохранить эту инфу, чтоб донести её до рендерера.
Разве это не прописывается в хидере ДДС?
Потому что многие мапперы очень неаккуратные, им ничего не стоит например забыть в папке мода psd мегабайт на 300, стандартная ситуация.
Для этого была бы полезней утилита, которая анализирует карты, собирает все используемые текстуры и модели и запаковывает всё это.

По поводу YCoCg, RxBG и так далее - а альфа-канал-то где хранить? Тем более что для 80% текстур DXT1 хватает с головой.
И если всё в вадах лежит, то где ж текстуры для моделей?

Выношу предложение. Держать текстуры внешними в отдельной папке. Можно 2 папки - для текстур уровня и для моделей. А мейквад будет создавать вад из внешних текстур. Только с индексированными текстурами и только для джекхаммера и компилятора.

ну перерисовывать DDS всё равно не получится, хоть в ваде, хоть снаружи, т.к. они сжатые.
Ну TGA-то получится.

Как я объясню движку, что это YCoCg?
Если это не прописывается в хидере, то есть тупой и простой вариант - постфикс в имени текстуры.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
И на каждое изменение текстуры нужно запускать мейквад, еще и какие-то параметры прописывать.
В общем случае это выглядит так: котошёп->экспорт в tga->запуск бат-файла, который запустит makewad с необходимыми парамсами. Параметры не меняются, всегда одни и те же. Кого и во что жать. он сам разберётся, как я уже говорил.
Таким образом экспорт сводится к запуску одного батника. Ну это как в студии лишний раз нажать кнопку компиляции.
Это же вымораживает, это издевательство над разработчиком.
Ага, 17 лет эти текстуры в вад сохраняли и не жужжали. А тут вдруг - издевательство.
Разве это не прописывается в хидере ДДС?
Нет. Как я уже говорил, можно внаглую заюзать одну из неиспользуемых переменных в хидере, но править придется отдельной утилиткой. И каждый раз по текстурке вручную, потому что все тулзы, конвертирующие в ддс, будут её затирать. Я так понимаю, вам этот подход больше нравится?
Для этого была бы полезней утилита, которая анализирует карты, собирает все используемые текстуры и модели и запаковывает всё это.
Такая тулза тоже планируется.
По поводу YCoCg, RxBG и так далее - а альфа-канал-то где хранить?
Для текстур с альфа-каналом используется обычный DXT5. И вот уже вплотную стал вопрос, ну как же нам их различить? :)
Держать текстуры внешними в отдельной папке. Можно 2 папки - для текстур уровня и для моделей.
Это уже было во второй параное и уже привело к разным проблемам и осложнениям. Второй раз я на эти грабли не наступлю.
Ну TGA-то получится.
Ну вот и будете сохранять в TGA. А потом один клик по батнику и текстура уже в ваде. Настоящее издевательство - лишний клик!
то есть тупой и простой вариант - постфикс в имени текстуры.
Потом будешь объяснять людям, что чтобы движок правильно прочитал текстуру её надо переименовать в какие-то дебильные буквы. По сути это тот же самый вариант с утилиткой, которая в хидере оставляет маркер, только еще запутанней. И потом будешь объяснять людям, почему некоторые текстуры без этого постфикса, а некоторые с ним. И как правильно переименовывать.
Т.е. ты предлагаешь очередной потенциальный геморрой, который лично для тебя кажется приемлемем. Но моя аудитория не ограничивается одним человеком.
Приходится думать за всех.
 

FiEctro

Ведущий
Jul 28, 2006
17,139
33
>> Ну вот и будете сохранять в TGA. А потом один клик по батнику и текстура уже в ваде. Настоящее издевательство - лишний клик!

А батники кто писать будет? Неужели так трудно сделать менеджер хотя бы на уровне нортон командера из DOS (или еще проще dir из самого cmd) прямо в cmd окне?

KbRj5.png
 
Last edited:

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
Ага, 17 лет эти текстуры в вад сохраняли и не жужжали. А тут вдруг - издевательство.
Жужжали. А потом ушли на юнити и удк.
Потом будешь объяснять людям, что чтобы движок правильно прочитал текстуру её надо переименовать в какие-то дебильные буквы.
Всяко проще, чем гонять батники и запускать утилиты.
Это уже было во второй параное и уже привело к разным проблемам и осложнениям.
Напомни, к каким проблемам?
Для текстур с альфа-каналом используется обычный DXT5.
Но ведь есть еще DXT1 с однобитной альфой :protest:
 

OEUVRE


Mar 6, 2013
936
0
0
ncuxonaT said:
Но ведь есть еще DXT1 с однобитной альфой :protest:

И еще DXT3. На нем держаться текстурки Max Payne 2: The Fall of Max Payne, TES: Oblivion, Fallout 3, Fallout New Vegas, TES: Skyrim.

PS. Начиная DX10 начали обратно использовать этот утерянный формат: DXT2, DXT4 - требуется специальный шейдер (возможно отработки какого спец-эффекта).
 

Cavador

New member
Dec 8, 2007
1,367
12
0
если текстуры вшиваются в каждую карту отдельно это бред, если это какой то отдельный фаил материалов для всего проекта со своими настройками может это и неплохо, но например в сурсе компиляция текс через батники сделана очень уродски, пока не появился плагин для фотошопа, хотя например если декомпилируешь текстуру она изменяет информацию о цвете это уже другая текстура которая не тайлится с аналогичной, а если делаешь принт скрин с окна материалов редактора все ок, все таки я скорее за такой подход, что бы можно было все сразу увидеть и нормалку и дифузку, и альфу, и рефлект, и настройки для материала в "одном окне". на крайний случай понадобилось вытащить текстуру например альфу - скопировал в буфер, перенес фотошоп подправил - поставил имя тип сохранил - так сказать сказано сделано.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Всяко проще, чем гонять батники и запускать утилиты.
А мне вот проще гонять батники, чем тыкать по окошкам. Потому что пакетная обработка рулит. Щас пример приведу. Во второй параное, как мы помним часть декалей попала из первой. А там они были отражены зеркально. Я Элберу сразу и говорю, давай я тебе за пять сек их переконверчу. И переконвертил в пакетном режиме, скинул. Но Элберу этот подход не понравился, как и тебе - ну как это так, батники писать, утилитки какие-то запускать - не царское дело.
Я говорит их потом вручную переконверчу. У меня ручная работа. Ну и конечно же забыл, и они так и попали в неправильном виде.
Напомни, к каким проблемам?
Да взять хотя бы твой PBR который у меня не заработал правильно, только из-за коллизии имён. Уже забыл? А были бы все текстуры и настройки в ваде - такой фигни бы не было.
 

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
А были бы все текстуры и настройки в ваде - такой фигни бы не было.
Если б были все текстуры в ваде, не было б никакого PBR, потому что я б всё проклял и ничем не занимался.
Потому что пакетная обработка рулит.
Какая нафиг пакетная обработка, когда ты текстуры по одной рисуешь и редактируешь? Отразить пачку декалей - да, это единичное действие для пакетной обработки. А когда ты что-то новое рисуешь и каждую минуту приходится крутить-вертеть-писать батники и утилиты - это издевательство.
Да взять хотя бы твой PBR который у меня не заработал правильно, только из-за коллизии имён.
Не заработал, потому что свойства материалов прописаны в одном файле. Если бы учитывалось содержимое всех matdesc.txt, было бы нормально.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
потому что я б всё проклял и ничем не занимался.
Не беда, в ксашНт PBR изкаропки идти будет. Я тут уже присмотрел несколько годных реализаций.
А когда ты что-то новое рисуешь и каждую минуту приходится крутить-вертеть-писать батники и утилиты - это издевательство.

makewad.exe -input *.tga -output my.wad
всё. успевай только запускать.

Если бы учитывалось содержимое всех matdesc.txt, было бы нормально.
Не надо мне всяких "если". Народ порой такое вытворял сливанием ресурсов, что я бы и за сто лет недогадался. Надо в корне исключить всякие если, а не делать смелые предположения. Там настройки, тут настройки, в паке настройки, в бейсдире настройки. Схема изначально ущербная. Когда ты ковыряешь свои полторы карты - это не заметно. Когда ты пихаешь в одно папку разные ресы от разных модов - всё ломается нахрен. А не пихать нельзя, потому что постоянно что-то скидывают, просят оценить, затестить, проверить, т.е. рабочая рутина. И я рассуждаю с учётом всех этих головняков, с которыми ты никогда в жизни не сталкивался и скорее всего не столкнешься, поэтому они тебе кажутся чем-то невозможным. Ну я лет 6 назад тоже так полагал.
Время развеяло эти приятные иллюзии. Там где есть человеческий фактор - нет места никаким допущениям. Уже один Рейд с его внешними 8-битными текстурами это успешно доказывает.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
ncuxonaT said:
20 раз отредактировал - 20 раз запихивай.
При экспорте в 8 бит тга так и происходит, тащемта. Не вижу принципиальной разницы во что экспортировать, тк и там и там это - ещё одна операция.
 

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
makewad.exe -input *.tga -output my.wad
всё. успевай только запускать.
Зачем запускать, если можно не запускать? Если один дурак, почему остальные должны мучаться?
Не вижу принципиальной разницы во что экспортировать, тк и там и там это - ещё одна операция.
Сохранил в тга - одна операция. Сохранил в тга и засунул в вад - две операции.
Когда ты пихаешь в одно папку разные ресы от разных модов - всё ломается нахрен. А не пихать нельзя, потому что постоянно что-то скидывают, просят оценить, затестить, проверить, т.е. рабочая рутина.
Вот ты и делаешь удобно для себя, а не для разработчика.
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord