HLFX.Ru Forum
Показать все 15 сообщений этой темы на одной странице

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=4898)


Отправлено Дядя Миша 30-11-2016 в 20:05:

И снова про систему материалов :)

Да, непростое это дело. Уже сколько всяких вариантов обсудили за эти годы, а воз и ныне там. Но с другой стороны я постепенно выработал для себя концепцию того, как это всё должно выглядеть.

Остался только один актуальный вопрос - в каком виде должны хранится описания, собственно материалов, сколько их должно быть и в каких местах. При этом я должен учитывать такую насущную проблему как возможность создания сингл-карты под игру, ну допустим в рамках какова-та коткурса. Второй насущный момент - максимальная длина пути - 56 символов. Ну и конечно система должна быть наглядная и понятная, без чтения документации.
Для текстур уровня мне представляется актуальной такая схема:
textures\имявада\имявада.mat - здесь лежит скрипт, аналогичный matdesc.txt в старой версии P2:Savior и описаны текстуры из этого вада.
там же лежат и сами текстуры.
textures\имякарты\имякарты.mat - а здесь лежат текстуры для конкретного уровня, но только лишь при том условии, что эти текстуры были вкомпилены внутрь него. Иными словами для встроенных текстур внешние будут искаться по адресу textures\имякарты\. А для внешних - textures\имявада\. Таким образом карта для конкурса не перезаписывает файлы самой игры и не конфликтует с ними. Разумеется для самой игры текстуры внутрь уровня вкомпиливать незачем.
Конечно и эта система имеет определенные недостатки, например, никто же не мешает вкомпиливать внутрь карты уже имеющиеся текстуры в соседних вадах. Но это уже на усмотрение мододела, т.к. реального конфликта имён всё равно не произойдет.
С моделями всё еще сложнее. С одной стороны можно на каждую модельку завести отдельный файлик и класть текстуры рядом с моделью. Но во первых у нас тогда будет каша из текстур и моделей, а во вторых так часто случается, что разные модели используют одинаковое имя текстуры (при этом далеко не факт, что и содержимое текстуры - идентично). Т.е. если уж давать возможность в качестве опции прописывать к текстурам любые пути, то надо быть точно уверенным что авто-подставление путей не накосячит. Единичный файл-описалово для всех моделей неудобен, по причине описанной выше - карта на коткурс. вариант models\modelname\modelname.mat возможен, но здесь вступает ограничение другого рода - максимальная длина пути в 56 символов. Технически для текстуры с одним именем можно назначить текстуру с любым именем и путём, но тогда автозаполнение путей к текстурам работать уже не будет, а практика показывает, что народ крайне ленив, чтобы эти пути как-то вручную прописывать. И еще один момент для любителей приводить кутришные шейдеры в пример - там не было автоподстановки дефолтных путей, там всегда приходилось прописывать эти пути ручками, потому что явных путей там не было.
То есть когда вы говорите "я хачю шейдеры как в кутри" вы таким образом говорите "я хачю ко всем тикстурам прописывать пути вручную".

Собственно это последний не до конца ясный мне момент во всей этой бесконечной эпопее с внедрением материалов. Давайте уже расставим точки над Ё.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 30-11-2016 в 21:29:

Дядя Миша
Так тыже вроде делал новый формат вадов который позволяет зашивать материалы в него же, или я путаю что то? WAD это же просто архив, почему его нельзя использовать и для моделей?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-11-2016 в 21:38:

FiEctro делал. Но народ протиф таких вадов, говорят неудобно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 01-12-2016 в 05:39:

Цитата:
FiEctro писал:
почему его нельзя использовать и для моделей?

ЕМНИП, меня на КСМ говном закидали, когда я предложил хранить текстуры для моделей тоже в вадах
Цитата:
Дядя Миша писал:
Но народ протиф таких вадов, говорят неудобно.

Ты народу напиши утилиту-браузер, чтоб не через командную строку эти вады компоновать и редактировать. Тогда и твоя оптимальная концепция приживётся, и народ её схавает не особо матерясь.


Отправлено FiEctro 01-12-2016 в 06:16:

>> Ты народу напиши утилиту-браузер, чтоб не через командную строку эти вады компоновать и редактировать. Тогда и твоя оптимальная концепция приживётся, и народ её схавает не особо матерясь.

Полностью поддерживаю, хотя и понимаю что ДМ никогда не возьмётся за подобную прогу.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 01-12-2016 в 08:40:

Цитата:
Ku2zoff писал:
Ты народу напиши утилиту-браузер, чтоб не через командную строку эти вады компоновать и редактировать.

я пишу тулзы по принципу кнопки "сделать круто". Проще один раз нажать, чем открывать в окошках чота выбирать, добавлять, возиться, итд.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 01-12-2016 в 08:43:

Кому вообще нужны эти окошки? Проще один раз вбить в консоли "mount /dev/sda1 /mnt/extdrv -t vfat", чем лезть в файловый менеджер, чота выбирать, добавлять, возиться итд.

__________________

xaerox on Vivino


Отправлено Дядя Миша 01-12-2016 в 09:09:

XaeroX я не предлагаю ничего вбивать в консоли. Я предлагаю просто запустить программу двойным кликом, а дальше она уже сама разберется.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 01-12-2016 в 10:29:

Дядя Миша
А если она что-нибудь напутает?

__________________

xaerox on Vivino


Отправлено Ku2zoff 01-12-2016 в 11:04:

Цитата:
Дядя Миша писал:
Проще один раз нажать, чем открывать в окошках чота выбирать, добавлять, возиться, итд.

Я вот о чём в данном случае: например, есть у нас кучка текстур, отображаются они 256х256 превьюшками, как в браузере текстур хаммера/джекхаммера. Подносим мыш, жмём на плюсик рядом с именем текстуры, и у нас вниз разворачивается список, в котором превьюшки нормалок, глоссмап и прочей ереси. И в самом низу кликабельная ссылка на mat-файл. Который, к слову открывается внутри этой же проги и поддерживает подсветку синтаксиса.

Понимаешь? Всё наглядно. А по твоей логике получается: забыл добавить нормалку в папку, макевад её не подхватил. В игре увидел, что нет нормалки, надо пересобирать вад. Ну или удалил текстуру (диффузку), а нормал и глосс нет. И оно мусором валяется внутри вада. Ксер правильно пишет:
Цитата:
XaeroX писал:
А если она что-нибудь напутает?

Нельзя полностью полагаться на всякие батники и утилиты.


Отправлено FiEctro 01-12-2016 в 12:14:

Цитата:
Дядя Миша писал:
XaeroX я не предлагаю ничего вбивать в консоли. Я предлагаю просто запустить программу двойным кликом, а дальше она уже сама разберется.


И при добавлении одной текстурки, пересобирать все игровые ресурсы , а если не дай бог понадобится её переименовать или заменить то это вообще супер будет.

У ДМ есть прекрасная система ВАДов, которая совместима как с материалами, так и картами нормалей и т.д. вот её и надо юзать

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Ku2zoff 01-12-2016 в 13:35:

Цитата:
FiEctro писал:
прекрасная система ВАДов, которая совместима как с материалами, так и картами нормалей и т.д. вот её и надо юзать

Ей бы ещё визуальный редактор (браузер) вроде Wally с функционалом, как я описал.


Отправлено Дядя Миша 01-12-2016 в 14:50:

Цитата:
XaeroX писал:
А если она что-нибудь напутает?

а если нет?

Цитата:
Ku2zoff писал:
В игре увидел, что нет нормалки, надо пересобирать вад.

вообще-то добавление новой текстуры в вад или изменение уже существующей предполагает непосредственную операцию только с этой текстурой. Вад - не пересобирается заново. Вся операция занимает около секунды. Удалить - другое дело, с этим сложнее, мейквад не поддерживает удаление текстур. Но это разруливается через создание нового вада в пакетном режиме. Также можно распакавать всё, удалить ненужные текстуры и запустить создание нового вада. Поскольку декомпил будет уже в DDS, на создание нового вада так же уйдет 1-2 секунды.

Цитата:
FiEctro писал:
И при добавлении одной текстурки, пересобирать все игровые ресурсы

Это вы по юнити судите.
На практике консоль (любая) самый мощный и удобный инструмент для операции над файлами и альтернативы ей нет.
Я никогда свои пакетные приложения не променяю на идиотские окошки.
Тем более шта, как вы понимаете, если бы мне так уж хотелось тыкать в окошки, я бы за эти годы один раз заморочился, но всё жы сделал такой интерфейс. Я не делаю, вот именно потому, что лично мне в миллион раз удобнее через консоль.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 01-12-2016 в 15:10:

Цитата:
Дядя Миша писал:
а если нет?

Ну а всё-таки, вдруг?
Цитата:
Дядя Миша писал:
На практике консоль (любая) самый мощный и удобный инструмент для операции над файлами и альтернативы ей нет.

На практике все сидят в тотал-коммандере, ну или на худой конец в проводнике.
Видишь ли какое дело, в теории между практикой и теорией нет разницы, а на практике - есть.

__________________

xaerox on Vivino


Отправлено Дядя Миша 01-12-2016 в 15:58:

Цитата:
XaeroX писал:
Ну а всё-таки, вдруг?

Не, ну если так, то да. Но вообще нет.
Ну введем очередную систему Anti-Zheka. Делов-то.

Цитата:
XaeroX писал:
Видишь ли какое дело, в теории между практикой и теорией нет разницы, а на практике - есть.

Стал бы я мучица если в акошке удобнее, нет? То-то жы!

Добавлено 01-12-2016 в 18:58:

Ну ладно, поскольку единого мнения так и не было выработано - пущай остается старая система - один глобальный файл описания всех материалов.
Ну с небольшими дополнениями конечно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 09:08.
Показать все 15 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024