Sidebar

Ещё раз про систему материалов

  • Наступило лето и у нас стартовал конкурс с призовым фондом в $120!
    "De-Make It!" Summer Contest.
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Ещё раз про систему материалов

Я положительно немогу приступить к работе, пока мы не обсудим с вами досконально систему материалов и не проработаем её детали как следует.
Это вытекает из самой идеологии Ксаша - если в движке какая-то часть разработки настолько сложная, что ей должен заниматься отдельный человек, то такой движок выпадает из поля зрения инди-девелоперов и отправляется прямо в ад подвешенное состояние, где он никому не нужен. Кутришные шейдеры по этой причине отпадают - никто их писать не будет, никто их писать не умеет. Да что там говорить - даже сорсовские материалы могут освоить не все. Не только лишь все, мало кто может это сделать. На данный момент я больше склоняюсь к концепции упрощенных материалов, которые необязательны к заполнению при полном сохранении функциональности.
Пример вида
Код:
MYCOOLTEXTURE
{
vhlt_surfaceLight 230 170 60 19000
vhlt_smoothAngle 110
$diffuse "textures\cool\mytexture.tga"
$normal "textures\cool\mytexture_norm.tga"
$gloss "textures\cool\mytexture_gloss.tga"
$glossPower "32"
$reflectScale "0.5"
}
Вот примерно такого вида. Всё что начинается со слова vhlt будет относится к компилятору. Остальное - непосредственно к движку (необязательно к рендереру). Без этого объявления движок может попытаться загрузить бамп-текстуры по стандартным путям, например или не делать этого совсем. Материалы будут располагаться с произвольных файлах с определенным расширением, т.е. в одном файле можно будет объявить несколько материалов, а не как в хл2 - только один. Это более удобно, на мой взгляд.
Главное преимущество данного подхода - он будет понятен вам и позволит мне вольно интерпретировать данные из материала, для получения максимальной производительности.
Кстати нечто подобное, но в упрощенном виде, вы сможете увидеть уже в параное-2.
 

GNU/Hurt

Maïté
05.03.2014
1 092
23
38
Награды
0
главное не делать обязательным наличие материала для каждой текстуры. очень хорошо что бы движок умел сам искать текстуры по стандартным путям и давать им вменяемые дефолты.

> vhlt_surfaceLight 230 170 60 19000
не мешал бы и вариант, когда цвет задаётся неявно -- автоматом считатеся из текстуры.

++параметр $materialSound

++люто и бешено реквестирую параметр $funcMonitorResolution для материалов мониторов.

>vhlt_
надеюсь всё таки, что ты во фрислэйвовские компиляторы будешь изменения вносить?
 
Последнее редактирование:

Raid

VIP
VIP
11.07.2006
8 320
232
63
Награды
1
28
CSM-чат
  • Rocket медаль
Ввести поддержку как RGB-записи, так и HEX. А то я, например, не знаю кто такой 0 0 255, но знаю кто #0000ff
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 140
343
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
2 Raid:
А яркость ты тоже в HEX записывать будешь :D ?
 

OEUVRE


06.03.2013
918
0
0
Награды
0
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 GioHΛUϟ0n: ну да. Моя концепция не исключает таких расширений.
Т.е. это будет именно материал, который влияет на всё.
 

XaeroX

Crystice Softworks
VIP
05.09.2008
9 215
226
0
Награды
5
32
Новосибирск
www.hlfx.ru
  • Бронзовая медаль 212
  • Золотая медаль 325
  • Золотая медаль 214
  • Золотая медаль 233
  • Золотая медаль 221
никто их писать не будет, никто их писать не умеет
Для чего ж я тонны документации по ним писал?
А главное, все мапперы под ку3 их давно освоили, и им проще будет перейти на новый двиг.
 

ZhekA

New member
27.02.2008
4 117
60
0
Награды
1
31
Москва
www.moddb.com
  • Золотая медаль 131
Дядя Миша:
Вопрос не совсем по теме, но все же - в новой паранойи есть шейдерные скрипты\система материалов или нет?
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 XaeroX: у тебя поразительная способность наступать на одни и те же грабли несколько раз. Ну была уже Волатайла с кутришными шейдерами.
Сколько под нее человек маппило?
к тому же сама концепция кутришных шейдеров изначально заточена под FFP, где смешивание происходило путём мультипроходности. В лучшем случае - мультитекстурингом. Ты сейчас собрался под все произвольные шейдеры налету собирать нужный HLSL? Или так и будешь мультитекстурингом?
Это такой же костыль как и рендер-моды в халфе.
2 ZhekA: второе. Она довольно простая, там даже без документации быстро разберешься. Но конечно мигающих рельсов с её помощью ты уже не сделаешь.
 

Skaarj

VIP
VIP
12.08.2004
18 775
397
83
Награды
10
  • Бронзовая медаль 103
  • Деревянный домик Скааржа
  • Серебряная медаль 213
  • Золотая медаль 136
  • Бронзовая медаль 141
  • Серебряная медаль 125
  • Золотая медаль 221
  • Золотая медаль 213
  • Золотая медаль 232
  • Серебряная медаль 132
Может проще сделать визуальный редактор материалов?
Можно даже отдельной утилитой не в составе редактора, один хрен маппинг в ГС и производных всё происходит через громадное количество сторонних тулзов.
 

XaeroX

Crystice Softworks
VIP
05.09.2008
9 215
226
0
Награды
5
32
Новосибирск
www.hlfx.ru
  • Бронзовая медаль 212
  • Золотая медаль 325
  • Золотая медаль 214
  • Золотая медаль 233
  • Золотая медаль 221
Сколько под нее человек маппило?
Редактора не было с визуальными материалами. А теперь есть. И шойдеры эти можно прям в редакторе писать, с превью и автокомплитом.

[ADDED=XaeroX]1418323023[/ADDED]
Сколько под нее человек маппило?
А под ксаш? Именно под ксаш, а не под-халфу-ну-раз-уж-под-ксашем-идёт-то-ок?

[ADDED=XaeroX]1418323192[/ADDED]
Ладно, про систему материалов в волатиле я потом тоже создам тему. :)

[ADDED=XaeroX]1418323344[/ADDED]
Оффтоп

[ADDED=XaeroX]1418323459[/ADDED]
2 Skaarj:
Может проще сделать визуальный редактор материалов?
http://www.moddb.com/groups/jackhammer-my-favorite-level-editor/images/quake-iii-support-wip1
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 XaeroX: по здравом размышлении я отказался от этой идеи.
Людям не нужны рендер-моды. Им куда важнее флажки маскед и аддитив при компиляции самой модели. Рендер-моды только спрайтам и были нужны.
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
прозрачность можно будет указать в самом материале.
А рендермоды упразднить.
 

XaeroX

Crystice Softworks
VIP
05.09.2008
9 215
226
0
Награды
5
32
Новосибирск
www.hlfx.ru
  • Бронзовая медаль 212
  • Золотая медаль 325
  • Золотая медаль 214
  • Золотая медаль 233
  • Золотая медаль 221
2 Дядя Миша:
На каждое стекло разной прозрачности свой материал? Ну вот в старой волатиле так и было. Со всеми вытекающими.
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 140
343
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
Какой смысл от рендермода когда есть материалсистем? Материалсистем совместимый с сетью...
 

ZAZA

Well-known member
08.11.2011
2 434
42
48
Награды
0
Имхо. Пишу так, как мне было бы удобнее.

Есть texture.tga и для нее можно сделать texture.txt. То есть, для каждой текстуры придется создавать свой текстовик.

Есть texture1.tga, texture2.tga, texture3.tga и т.д. В папке, где лежат все эти текстуры можно сделать какой-нибудь materials.txt, где будут описанны все материалы из данной папки.

Оба варианта имееют как свои плюсы, так и минусы. Реализовывать оба варианта не здорово, поэтому сперва надо определится, какой лучше.

Дальше, на счет содержимого самого файла. То, что ты написал в шапке, очень даже неплохое. Но, мне кажется, этот символ "$" усложняет содержимое. Можно ли обойтись без него? Как-то так:

Код:
texture.tga
{
vhlt_surfaceLight "255 255 255 200"
vhlt_smoothAngle "110"
diffuse "materials\diffuse\texture.tga"
normal "materials\normal\texture.tga"
gloss "materials\gloss\texture.tga"
glossPower "32"
reflectScale "0.5"
materialtype "concrete"
}
На счет последнего. У меня была когда-то идея о возможности создания кастомных материалов. Выглядит так: создается папка sound/materials/имяматериала. Туда класть звуки Оффтоп . А в materials.txt, в строке materialtype указывать название этой папки. Тогда он будет брать звуки шагов оттуда. Еще туда же можно запихнуть звуки попадания пуль по этому материалу. Аналогичную папку сделать в gfx/decals/имяматериала и туда положить декали попадания в этот материал.

Так любой модмейкер сможет без знания кодинга создать любой необходимый для себя материал и использовать его.
 

ZAZA

Well-known member
08.11.2011
2 434
42
48
Награды
0
И да. Кстати. Было бы здорово, если бы в редакторе, в браузере текстур можно было кликнуть правой клавишей по материалу и нажать на properties и чтоб открывался этот текстовичок и его можно было редактировать прямо из редактора.

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

Донат - Операционные расходы

Итого
1 121.00 $
Цель
1 300.00 $
Донат завершается:

Доноры Красавчики

Новые сообщения

Пользователи онлайн

Нет пользователей онлайн.