HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)
Отправлено Дядя Миша 23-09-2019 в 14:43:
Цитата:
KiQ писал:
А вообще говорю, тут основная проблема с точки зрения потенциального разработчика игры - не в движке, а в инструментарии
Ну я надеюсь, что к моменту окончания работ над NT Ксер откроет SDK Джека. А если нет, то будем принимать меры.
Цитата:
nemyax писал:
Но ЧАЭС-то из модельки сделался уровнем
Вообще это неправильно. Сталкер так не делает. Он эту ЧАЭС на куски режет повсякому.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KiQ 23-09-2019 в 14:45:
nemyax ну я вот моделить не умею от словасовсем. И опять же, ты не уловил видимо. Я говорил про экосистему вокруг движка и инструментарий, который для него специально сделан, понимаешь да. Те ксаш-тулзы и т.д. А вот для маппинга с учетом новой концепции по сути ничего из существующих решений толком не подходит
Добавлено 23-09-2019 в 17:45:
Цитата:
Дядя Миша писал:
Ну я надеюсь, что к моменту окончания работ над NT Ксер откроет SDK Джека. А если нет, то будем принимать меры.
Ну я про это собственно и говорил
__________________
-Brain is dead-
Отправлено Дядя Миша 23-09-2019 в 15:03:
Да ну какая там может быть новая концепция? Статичные модели по прежнему расставляются через точечные энтити, а вокруг уровня - всё тот же скайбокс. Я совершенно нехочу это менять. Если кому-то это не нравится, для них всегда юнити там разные, унреалы.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 23-09-2019 в 15:09:
Цитата:
Дядя Миша писал:
Статичные модели по прежнему расставляются через точечные энтити
Но динамически тенят и анимируются на месте, правильно?
Отправлено Crystallize 23-09-2019 в 15:41:
Цитата:
nemyax писал:
Раз уж они полезли в код, то пусть будут готовы встретить смыслы там, где не ожидали, или не такие, как ожидали. Где они были, когда создавался си? А щас уже поздняк метаться.
А это код? Я думал это как VMT в сорсе.
Отправлено Дядя Миша 23-09-2019 в 17:37:
Пока что сделал так:
Тимплейт в хидере template.h:
C++ Source Code:
1 | template <worldSolidMaterial> |
3 | image u_ColorMap = "textures/<wadname>/<mipname>.tga"; |
4 | image u_DetailMap = "materials.def::detailmap"; |
5 | vec2 u_DetailScale = "materials.def::detailScale"; |
6 | float u_Smoothness = "0.35"; |
Описание материала:
C++ Source Code:
1 | #include "scripts\template.h" |
3 | "fifties_wall1y" worldSolidMaterial |
Синтаксис тимплейтов вопросов не вызывает, т.к. их немного, их писать нетрудно. Но для каждого материала предполагается вот так и писать пару: имя текстуры - имя шаблона. В визуальном редакторе проблем не будет, но меня интерисует насколько это ненапряжно при ручном редактировании. Еще предположим вариант, когда материал полностью наследует свои свойства от шаблона. Тогда вероятно надо предусмотреть короткую запись, ну что-то типа
C++ Source Code:
"fifties_wall1y" worldSolidMaterial; |
Что думаете? Как вариант можно усложнить синтаксис и добавить явные слова, ну скажем
C++ Source Code:
"fifties_wall1y" using worldSolidMaterial |
но навряд ли в этом есть смысл. Подобные вещи делаются в первую очередь для юзера, а не для парсера. Парсер-то разберётся.
Добавлено 23-09-2019 в 20:35:
Полез ради интереса в Wolfenstein 2009, а там такое
C++ Source Code:
1 | textures/decals/floating_trash |
5 | Translate { Global::Time.x * .018 Global::Time.x * 0 } |
13 | Technique DSAddGBuffer%r_gBufferMode%_AlphaTest_TextureTransform_Depth |
14 | Image NormalMap textures\decals\trash_decal_street_local |
15 | Image DiffuseMap textures\decals\trash_decal_street_d |
16 | Image SpecularMap textures\decals\trash_decal_street_s |
17 | Image MaskMap textures\decals\trash_decal_street_d |
19 | Vector Specular 64 .1 1 0 |
22 | textures/decals/pebbles_01 |
24 | EditorImage textures/decals/pebbles_01_d |
25 | Image DiffuseMap textures/decals/pebbles_01_d |
26 | Image NormalMap textures/decals/pebbles_01_local |
27 | Image SpecularMap textures/decals/pebbles_01_s |
28 | Vector Specular 16 0 1 0 |
37 | Vector DetailNormalControls 3 3 2 0 |
ЧСХ, я ведь тоже сделал похожий механизм для доступа к глобальным переменным - через globals::
У дураков мысли действительно сходятся.
Добавлено 23-09-2019 в 20:37:
Но до шаблонов они не додумались 
Это ожидаемо. Программистам же не надо забивать сотни тысяч материалов, а художники итак всё стерпят.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 23-09-2019 в 18:08:
Цитата:
Дядя Миша писал:
Но до шаблонов они не додумались
Те конфиги вполне могут оказаться выводом какого-нибудь генератора.
Отправлено KiQ 23-09-2019 в 20:34:
Цитата:
Дядя Миша писал:
Пока что сделал так:
Впрочем, ничего нового, и это хорошо!)__________________
-Brain is dead-
Отправлено XaeroX 24-09-2019 в 07:05:
Цитата:
Дядя Миша писал:
worldSolidMaterial
Правильнее - lightmappedGeneric.
Цитата:
Дядя Миша писал:
А если нет, то будем принимать меры.
Конечно, будете. Перейдёте на Volatile, вот и весь сказ. 
__________________
Отправлено Дядя Миша 24-09-2019 в 12:45:
Цитата:
XaeroX писал:
Перейдёте на Volatile, вот и весь сказ.
Хужы. Заставлю тебя пить пиго, пока падстул неупадъож!
Работы продвигаются медленно не в посл. очередь из-за старой архитектуры, которую нельзя просто ломать разом, чёб было легче следить за регрессиями. Ну вот скажем взять материалы. Я написал их парсинг, но подключить я их не могу - для этого надо писать новый рендерер в движке, а рендерер я написать не могу, потому что для этого надо финализировать новый менеджер моделей, а менеджер моделей я не могу финализировать, потому что старый торчит в игровой код и его там активно используют, ну это только полдела, вторая часть используется в самом движке, например пмувом, то есть надо пмув вынести в игровую дллку. Я вроде бы вынес, но его еще надо тестировать на предмет регрессий. Вот казалось бы, какое отношение физика игрока имеет к системе рендер-материалов?
Так и работаем. Хорошо хоть от энтварсов избавился.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 24-09-2019 в 13:51:
Так падажите, материал от шейдера не будет зависеть? Просто прибит гвоздями к движку?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 24-09-2019 в 15:03:
FiEctro эм, наоборот. В материале указывается шейдер для использования совместно с ним. Ну или указывается в шаблоне, чтоб каждый раз не писать его заново.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Дядя Миша 25-09-2019 в 06:16:
Не помню, говорил я вам или нет, но в расширенном формате студиомоделей (который с развесовкой), есть одна очень любопытная штука - он способен сохранять KeyValue. Entity string если хотите. А новая архитектура пишется в том числе и с таким рассчётом, чтобы на месте мира могла бы любая модель, не только bsp. Так что потенциально вполне возможно будет делать мир моделькой, а кубать в блендере.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 25-09-2019 в 06:53:
Дядя Миша
К чему привязаны ключзначения? К целой модельке или к костям? Могут ли кости в модельковом мире играть роль энтитей?
Отправлено Дядя Миша 25-09-2019 в 07:29:
nemyax один к секвенциям, другой глобальный. Впрочем это не так уж и важно, когда мы имеем дело с кей-валуями, привязать можно всё что угодно.
Добавлено 25-09-2019 в 10:29:
А кости в роли энтитей - такое уже было в третьем дууме. Только смысла в нём немного. Разве что расчленёнка.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'