При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2016, 21:55  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,911


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

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

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

Собственно это последний не до конца ясный мне момент во всей этой бесконечной эпопее с внедрением материалов. Давайте уже расставим точки над Ё.
Дядя Миша вне форума Ответить с цитированием
Старый 01.12.2016, 00:18  #2
Qwertyus
Qwertyus
Подполковник
Регистрация: 13.08.2009
Сообщения: 1,142


По умолчанию

Есть такой вариант, я хз, можно сделать это или нет, но - делать простейший, зип-архив (можно без сжатия), называть его именем модели, и туда запихивать все текстуры и т. п, а сам архив класть в ту же папку models, вместе с моделькой (ну, или в папку models внутри папки с материалами, но это вроде менее удобно, хотя и плюсы в этом есть). Можно придумать изменённое расширение для этих архивов, чтобы движок по расширению распознавал их и не путал со случайными зипами. Зип-архив предлагаю потому, что с ним максимально просто работать. Единственное, будет ли проблема со считыванием таких архивов, например, из pak-файла...

Последний раз редактировалось Qwertyus, 01.12.2016 в 00:21.
Qwertyus вне форума Ответить с цитированием
Старый 01.12.2016, 00:24  #3
IvanZ9
IvanZ9
Старший сержант
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 25
Сообщения: 390


По умолчанию

Может тогда просто models\modelname.mat и все остальное, а к примеру, в зип (или вад) с приоритетом выше всех для конкурса. Вадник в ваднике получится?)
IvanZ9 вне форума Ответить с цитированием
Старый 01.12.2016, 00:34  #4
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,911


По умолчанию

Так, вы не усложняйте. Технически у меня есть возможность вкомпиливать ддски прямо в модели или вады, не нарушая совместимость. Тут проблема другого рода - народ не хочет. Говорят невдобно им, когда всё запаковано.
А так бы это конечно был неплохой вариант. И вообще прошу заметить, что я эти темы создаю, исключительно беспокоясь об вашем удобстве. Мне вообще без разницы.
Дядя Миша вне форума Ответить с цитированием
Старый 01.12.2016, 00:40  #5
IvanZ9
IvanZ9
Старший сержант
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 25
Сообщения: 390


По умолчанию

Ну, тут не мешало бы прояснить, распаковки поддерживаться будут и у кого приоритет выше?

IvanZ9, подумав, добавил 01.12.2016 в 00:43
И яб ваще предложил бы материалы отдельно от текстур хранить (отдельно папка\вадник с одним и отдельно с другим).

А почему всего 56 кстати?

Последний раз редактировалось IvanZ9, 01.12.2016 в 00:43.
IvanZ9 вне форума Ответить с цитированием
Старый 01.12.2016, 00:47  #6
Qwertyus
Qwertyus
Подполковник
Регистрация: 13.08.2009
Сообщения: 1,142


По умолчанию

2 Дядя Миша:
С точки зрения конечного разработчика, простой зип-архив с именем модели рядом с самой моделью - это вообще полное удобство. Легко создать подручным архиватором, легко менять содержимое (даже Винда с зипами может работать напрямую, как с папками). Лежит вместе с моделью, значит всегда под рукой, в то же время не сильно захламляет. И, между прочим, такой подход элементарно даёт возможность встроить в твой моделвьюер подключение таких внешних паков. Т. е. это практически, как вкомпиленные в модель текстуры, только гораздо удобнее.
Qwertyus вне форума Ответить с цитированием
Старый 01.12.2016, 00:59  #7
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,911


По умолчанию

[ Цитата ] А почему всего 56 кстати?
Код:
typedef struct
{
	int		ident;
	int		dirofs;
	int		dirlen;
} dpackheader_t;

typedef struct
{
	char		name[56];		// total 64 bytes
	int		filepos;
	int		filelen;
} dpackfile_t;
[ Цитата ] Т. е. это практически, как вкомпиленные в модель текстуры, только гораздо удобнее.
ну и чем зип-папка отличается от обычной папки? Идея в том, чтобы рассматривать модель или вад, как некую еденичную сущность, без хвоста.
Да и толку от зип-папки никакой - DDS и так уже ужат максимально, он не сожмется еще больше.

Дядя Миша, подумав, добавил 01.12.2016 в 01:02
ЗЫ. там основная идея, как я понял в том, что людям удобнее работать с TGA, а потом перед релизом хоп и пересобрать всё в DDS. Но в целом операция по пересборке будет выглядеть так:
1. Сохраняем TGA в фотошопе
2. запускаем studiomdl или makewad. А он уже сам проверит, что дата изменения текстуры новее, чем дата обновления вада и вкомпилит нужную. Т.е. технически я не вижу каких-то серъезных усложнений процесса. Ну вады конечно здоровые будут, под пятсот метров, но ково этим щас напугаешь?

Последний раз редактировалось Дядя Миша, 01.12.2016 в 01:02.
Дядя Миша вне форума Ответить с цитированием
Старый 01.12.2016, 01:18  #8
Qwertyus
Qwertyus
Подполковник
Регистрация: 13.08.2009
Сообщения: 1,142


По умолчанию

2 Дядя Миша:
Зип, как один файл, в чём-то более удобен, чем просто папка. Например, отсортировал файлы по имени, и сразу видишь, к какой модели у тебя внешние текстуры есть. Лежит рядом с моделью - движку не нужно утруждаться поиском этих текстур, проверкой содержимого одноимённых папок и т. п. Если сделать изменённое расширение файла, то гарантировано отсутствие путаницы. В конце концов, крупные файлы легче копируются, чем много мелких такого же объёма. Вот к примеру, в ХЛ есть бесполезное в нынешних реалиях разделение моделей на части, всякие там 0*.mdl & *T.mdl. И их иногда по нескольку штук к одной модели. А это всего лишь ещё один файлик лежит рядом с моделью. И зип именно из-за распространённости и удобства формата, а не для того, чтобы сжимать. Сжимать-то практически нет смысла. Даже при разделении труда в процессе разработки удобно. Моделлер взял, сделал модель, компильнул. Текстурщик поработал, переделал текстуры, упаковал. Результат работы передаётся одним файлом и легко обновляется, даже будучи полученным от разных людей.
Qwertyus вне форума Ответить с цитированием
Старый 01.12.2016, 01:20  #9
IvanZ9
IvanZ9
Старший сержант
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 25
Сообщения: 390


По умолчанию

Ну, текстуры понятно а модели , звуки и прочее?
Не, ну можно все в отдельный вадник кидать, структура та же, ток содержит всю байду вместе, а не отдельно, не?
IvanZ9 вне форума Ответить с цитированием
Старый 01.12.2016, 01:36  #10
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 748
Замечания: 1


По умолчанию

При условиях что:

- вы не любите прописывать пути вручную
- стараетесь хранить инфу о текстурах предельно одинаково и в одинаковом месте

Следует вывод - в П2 удобная система работы с материалами. Главное что работа с материалами как для моделей так и геометрией уровней - одинаково редактируемая, и я бы их не разделял.

WAD - всегда считал недаразумением, люблю ку3 внешние текстуры. Т.к. от него нельзя избавится, максимум что там должно лежать - диффуз для геометрии уровней.

Последний раз редактировалось ElbeR, 01.12.2016 в 01:52.
ElbeR вне форума Ответить с цитированием
Старый 01.12.2016, 03:07  #11
IvanZ9
IvanZ9
Старший сержант
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 25
Сообщения: 390


По умолчанию

Ну, тут смотря, насколько удобно будет работать с этим делом. Причем как движку, так и в редакторе.
Конечно, если придется при каждой правке гонять это дело заново, то тут да - хреново и убого, а если нет и это дело только на релиз паковать, то че бы и нет.

Было же вроде предложение типа с параметром аля -debug распаковки читаются, а без параметра только паки. Или что-то вроде того, не?
IvanZ9 вне форума Ответить с цитированием
Старый 01.12.2016, 06:24  #12
Lefront
Lefront
всегда можно орнуть
Регистрация: 30.06.2008
Адрес: Свердловская Область 66
Возраст: 27
Сообщения: 2,163
Замечания: 1


По умолчанию

Скажу свое мнение. Меня например устраивает система материалов в П2.
Папка Textures и там все дифузки,нормалки,глоски. Захотел покрутить параметры, зашел в текстовый файл и вписал нужные параметры. А так все по дефолту.
А если вписывать каждой текстуре в отдельный файл параметры - это геморой.
У мапера может просто отпасть желание добавлять больше текстур и эксперементировать с ними. Пример:
-Такс такс такс, хочу добавить вот эту тестурку и посмотреть подойдет она к этому кроидорчику. Мои действия. Подогнал текстуру под 1024х1024, сделал хейтмапу, по ней нормалку, а далее глосску. Сохранил в папочку textures. Затем оригинал уменьшил до 256*256 и запихнул в wad.
Все, маплю, крашу стены в эту текстуру, захожу в игру и смотрю на результат.
Не понравилось, нашел по имени в папке, удалил. И из вадника удалил.

Тут же еще к этой текстуре предлагаете писать пути где она лежит, писать какую нормалку она использует, какую глоску, параметры. Потом еще удалять малоли.

В общем я не вижу особой нужды, кардинально менять, что то.
Lefront вне форума Ответить с цитированием
Старый 01.12.2016, 06:40  #13
ILZM
ILZM
3 в 1
Регистрация: 28.03.2011
Адрес: Mega City One
Сообщения: 500


По умолчанию

Зачем нужен префикс models/, если у звуков его нету. Нельзя на этом сэкономить? Даже в коде приходится каждый раз писать эту хрень, ажно трисет

ILZM, подумав, добавил 01.12.2016 в 06:44
В П2, как я понял, система как в source, только текстуры лежат в редакторском формате, а не vtf. Довольно удобная техника, если сравнить с гс

Последний раз редактировалось ILZM, 01.12.2016 в 06:44.
ILZM сейчас на форуме Ответить с цитированием
Старый 01.12.2016, 08:05  #14
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 26
Сообщения: 16,340


По умолчанию

Моё мнение наверное лучше использовать несколько .mat файлов в корне (дабы каждый маппер мог создавать свой) и формировать из них уже общий список. Причем в этих файлах хранить инфу как о текстурах к вадам, так и к моделям. Естественно чтобы не было конфликтов придётся хранить пути (зачем постоянно повторять в путях имя корневой папки "textures" тоже мне непонятно).

Но всеравно посути это не будет материалом. Потому что мы сначала обращаемся к текстуре, потом к материалу и уже подсовываем другую текстуру. А в том же сорсе, он ни о каких вадах ничего не знает, там только пути к .vmt

Всётаки вариант когда всё вшито в WAD меня больше устраивает. Это снимает множество проблем и наводит чистоту в папке игры.

Последний раз редактировалось FiEctro, 01.12.2016 в 08:13.
FiEctro вне форума Ответить с цитированием
Старый 01.12.2016, 08:53  #15
ZhekA
ZhekA
Забаненный
Регистрация: 27.02.2008
Адрес: Москва
Возраст: 29
Сообщения: 3,685
Замечания: 4


По умолчанию

Дядя Миша:
Всем ты все ровно НИКОГДА не угодишь, а то, что народ ленивый это сугубо проблемы лично каждого. Я считаю, что, например, в хлфх очень удобная система. Тем более, что в джеке есть встроенный очень удобный редактор системы материалов для ку3 и не только.
ZhekA вне форума Ответить с цитированием
Старый 01.12.2016, 09:38  #16
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,730


По умолчанию

[ Цитата ] textures\имявада\имявада.mat
Зачем ещё папка? textures\имявада.mat Аналогично для остального: textures\maps\имякарты.mat, textures\models\имямодели.mat Зачем ворох папок с индивидуальным названием карты? Пускай структура папок дублирует ту, что в папке мода, просто вместо файлов .bsp, .wad и .mdl будет один .mat Это упростит навигацию до предела, хотя и не исключит вероятности совпадений при скачивании карт с ресурсами. Максимальное самоподобие - онли тру-вэй, ящитаю, тк это позволяет понять что-то один раз, чтобы делать потом по аналогии везде, исключая лишние сущности. Если имена совпали - просто добавить, допустим, 2 в конце названия для каждой контентной единицы, а так же .mat файлов. Не быстро, но и имена совпадают не часто.

Raid, подумав, добавил 01.12.2016 в 10:30
К слову говоря 56 символов не так уж и мало, как я думал.

nameofpath/nameofpath/nameofpath/nameofpath/nameofpath/ -55 символов, включая слэши.

nameofpath - 10 символов. 5 подпапок по 10 символов. Очень даже нормально. В крайнем случае можно сократить названия.

Последний раз редактировалось Raid, 01.12.2016 в 10:31.
Raid вне форума Ответить с цитированием
Старый 01.12.2016, 10:49  #17
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,911


По умолчанию

[ Цитата ] Всем ты все ровно НИКОГДА не угодишь
я ориентируюсь на тех, кто что-то делает.
[ Цитата ] хотя и не исключит вероятности совпадений при скачивании карт с ресурсами
вотименно. Коллизий быть недолжно. А насчёт 56 символов в пути - их вполне хватило почти везде, кроме пары мест, где элбер дал текстурам какие-то запредельно длинные имена, ну навроде как рембытспецстройхимтресттехмонтаж.tga

Дядя Миша, подумав, добавил 01.12.2016 в 10:50
Корочи как я вас понял, всем насрать на эти конкурсные карты, оставить систему материалов такой, какая уже есть?

Последний раз редактировалось Дядя Миша, 01.12.2016 в 10:50.
Дядя Миша вне форума Ответить с цитированием
Старый 01.12.2016, 10:52  #18
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,730


По умолчанию

Насрать по той простой причине что ксаш - синглплеерный, и неизвестно когдаесли будет сетевым. Я высказал своё мнение, но это ничего не поменяет, тк большинство за то что уже есть (хотя я конечно вижу своё решение иделаьным, тк не привык ещё к материалам из п2 просто за их неиспользованием). В целом - лишь бы было уже хоть как-то реализовано, честно говоря.
Raid вне форума Ответить с цитированием
Старый 01.12.2016, 11:22  #19
IvanZ9
IvanZ9
Старший сержант
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 25
Сообщения: 390


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: я ориентируюсь на тех, кто что-то делает.
Ну, значит мое мнение можно не считать. Один хрен еще не скоро начну.
IvanZ9 вне форума Ответить с цитированием
Старый 01.12.2016, 11:53  #20
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,911


По умолчанию

[ Цитата ] ксаш - синглплеерный, и неизвестно когдаесли будет сетевым.
Уже год как сетевой и полно народу по всему миру гамают в этот ваш CS и миникрафт еще. Я сам удивился, карта так и называется DM_Minicraft.
Дядя Миша вне форума Ответить с цитированием
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:51.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community