Не могу сказать, чтобы компилятор уровней был готов прямо на 100%, но я над форматом уровней работаю уже год и у меня попросту замылился глаз.
К тому же есть и другие важные задачи. Собственно, задач еще две:
1. разработка формата моделей с общим банком анимаций. Это не должно занять много времени, благо основные части механизма уже разработаны.
В частности форматы хранения вертексов-индексов, контейнеры для моделей и прочее. Думаю за месяц управлюсь.
2. Собственно, то, что делает движок пригодным для использования продуктом - самостоятельный редактор для всего. Движок без редактора точно никому не нужен, в этом я уже убедился. Джек не годится - он не сможет отрисовать ЧАЭС из Сталкера, не заточен он под такое.
К слову сказать, я подсознательно предполагаю что отсутствие собственного редактора во многом ограничивало полёт моей мысли в некоторых аспектах.
Надеюсь преодолеть это противоречие.
Промежуточный билд будет доступен когда я разработаю новый формат моделей.
Я не планирую делать привязку к конкретному типу редактора.
Будет свой собственный редактор, в котором можно будет сделать большинство операций, исключая полноценное моделирование и анимацию, но подвигать вертексы-треугольники будет можно, а так же редактировать развертки. Можно будет написать какой-нибудь плагин к блендеру и наконец кубать в Джеке, если планируется по старинке использовать браши по большей части. Любая привязка к собственному редактору обычно только отталкивает пользователей.
Открыл тему обратно. Буду тут по прежнему бухтеть бесплатно и без смс
Добавлено 20-04-2022 в 18:46:
Сразу же дам ответы на вопросы, которые должно быть интересуют общественность.
1. Блог на Boosty - всё. Вестись более не будет. Дико неудобная площадка как по своей природе, так и для моего формата.
2. Телеграм-канал. Будет вестись, но к сожалению на данный момент идёт работа над низкоуровневыми вещами, которые подписчикам там попросту не будут интересны. Как только начнётся работа над вещами, понятными юзерам, он будет активно вестись. В этом году.
3. В этой теме продолжится классический формат ведения блога в стиле "заметки на полях". С вашими вопросами и предложениями, и моими ответами. Полагаю этот формат наиболее всех устраивает.
4. Доступ к бета-тестированию по прежнему платный, цены не поменялись.
5. В данный момент идёт разработка виртуальной машины и универсального редактора. Редактор будет использовать виртуальную машину для создания оформления. Таким образом ядро будет единым, а внешний вид - на усмотрение пользователя. Собсно, я об этом уже писал.
6. Как только будет что показать вы это сразу узнаете, по активности в телеграм-канале.
7. Какой-то прототип редактора (не уровней, а вообще всего), будет готов уже в этом году, по крайней мере я на это надеюсь.
Дядя Миша
Расскажи по форматам ресурсов.
Можно ли будет драг дропом закинуть модельку и чтобы движок сразу собрал её под нужный формат?
Тоже самое с текстурами?
Будут ли генерироваться дефолтные материалы при импорте модели?
Будет ли движок пытаться запарсить параметры этих материалов? Хотя бы дефолтный PBR.
Будет ли возможность в материале подключить свой шейдер, и указать глубину его отрисовки?
Будут ли модели наконец поддерживать морфинг?
Можно ли объектам назначать вместо параметров, скрипты которые будут задавать правила этим объектам? И можно ли в реальном времени их включать/выключать? А так же перемещать в иерархию друг друга?
Будет возможность загрузить пустую сцену без бсп и накидать на ней объекты?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Можно ли будет драг дропом закинуть модельку и чтобы движок сразу собрал её под нужный формат?
Я не понимаю, что значит "собрать под нужный формат". Это среда для разработки, а не конвертор одних типов ресурсов в другие.
Хотя у меня конечно была мысль такое сделать, но по здравом размышлении я решил остановиться только на импорте. Т.е. на входе - ресурсы любых форматов, а на выходе - понятные XashNT. Различные форматы ресурсов будут поддерживаться при помощи двух слагаемых:
1. системы плагинов для импорта, которые будут читать различные типы ресурсов.
2. абстрактный формат ресурсов самого XashNT, который позволяет сконвертировать в него, практически любые существующие форматы, ну может кроме Nanite-меша. Если формат чего-то не умеет - это туда добавляется, никак не влияя на совместимость.
Цитата:
FiEctro писал: Тоже самое с текстурами?
А что с текстурами? Каких-то хитрых форматов в XashNT нет, только самые распространённые. bmp, jpeg, tga, dds.
Цитата:
FiEctro писал: Будут ли генерироваться дефолтные материалы при импорте модели?
Моя система материалов позволяет генерировать не дефолтные материалы, а полностью воспроизводить рендеринг из того движка, откуда модель была скопирована. По крайней мере, если речь идёт о достаточно старых движках, до первого срузиса, включительно.
В теории можно будет из унреалов-юнитей тоже всё это иметь, сам механизм позволяет, но я пока что не тестировал.
Цитата:
FiEctro писал: Будет ли движок пытаться запарсить параметры этих материалов? Хотя бы дефолтный PBR
В подавлюящем большинстве движков используются убогие системы материалов, настройки к которым можно описать совсем небольшим набором параметров, а генератор этого набора, соответственно, встроить прямо в плагин импорта. Я внимательно изучал возможности систем материалов разных движков, по сравнению с тем что может XashNT, там никто даже и близко не подобрался. Спустя 15 лет, всё так же занимаются пробросом юниформов из скрипта в видеодрайвер.
Цитата:
FiEctro писал: Будет ли возможность в материале подключить свой шейдер, и указать глубину его отрисовки?
Некорректный вопрос. Система материалов XashNT вообще не предусматривает никаких встроенных материалов и шейдеров. Только пользовательские. Фактически рендерер создаётся в скриптовых файлах с нуля под любую задачу. Соответственно меняется уровень графики, в зависимости от использованных шейдеров. Можно получить картинку уровня Doom\Quake, можно картинку уровня HL2, уровня Stalker\Crysis или Unreal4. Я над этой концепцией шесть лет думал.
Цитата:
FiEctro писал: Будут ли модели наконец поддерживать морфинг?
Что имеется в виду под морфингом? Если лицевая анимация, то на данный момент её нет, но формат позволяет её добавить в любой момент, не нарушая совместимость. Если же имеются в виду модели с вертексной анимацией (без костей), то этого на данный момент тоже нет, но такой формат будет. И тоже без нарушения совместимости.
Цитата:
FiEctro писал: Можно ли объектам назначать вместо параметров, скрипты которые будут задавать правила этим объектам? И можно ли в реальном времени их включать/выключать? А так же перемещать в иерархию друг друга?
ECS - это недо-реляционная система, которая жрёт память и набивает карманы ловким мошенникам. Я принял решение остановится на скриптовом языке, который визуально очень похож на С++ и классических объектах-энтитях, как в кваках и халфах. Благодаря тому, что их описание хранится в виртуальной машине, дизайнер избавляется от необходимости думать за массу низкоуровневых вещей, с которыми он неизбежно сталкивался в том же HL_SDK или SourceSDK. В последний даже я лезть не рискую, это тихий ужос. Т.е. набросать прототип объекта на С++-подобном языке даже через копипасту, будет легко и приятно.
Так что изначально ориентируйтесь именно на эту концепцию. Она самая удобная.
Цитата:
FiEctro писал: Будет возможность загрузить пустую сцену без бсп и накидать на ней объекты?
На данный момент совсем без брашей обойтись не удасться - нужен как минимум брашевый скайбокс. Это не является каким-то ограничением формата движка, в дальнейшем я добавлю возможность делать этот скайбокс обычными полигонами, т.е. можно будет строить карты без единого браша. Но сам скайбокс обязательно нужен, по двум причинам:
1. На него проецируется небо. XashNT не умеет рисовать небо в пустоте, только проецировать на реальные полигоны.
2. От небесных полигонов излучается солнечный свет для лайтмаппера. Если нет небесных полигонов, то и света от солнца тоже не будет.
Наконец в незамкнутой карте не будет работать VIS, хотя это и не повлияет на производительность, если мы имеем дело с огромными открытыми пространствами.
Добавлено 20-04-2022 в 23:15:
Перечитаю-ка я всю тему сначала. Вспомню что планировал, что сделал, от чего отказался и к чему пришёл в итоге.
Та фундаментальная проблема более чем успешно разрешена, но теперь на очереди другие. Уже не такие фундаментальные, но всё же.
К тому же я принял решение полностью отказаться от пользовательских библиотек и остановиться на виртуальной машине.
(_-=ZhekA=-_) писал: А какой скриптовой язык будет?
По синтаксису максимально близкий к С++. Но без низкоуровневых заморочек, которые подстерегают пользователя при работе с реальным кодом.
Цитата:
(_-=ZhekA=-_) писал: Насколько сложно будет сделать визуальное програмирование типа, как в уе4 - блюпринты?
Я не смотрю в эту сторону. В какой-то степени объекты, расставленные на карте и связанные между собой стрелочками имен и целей - это тоже визуальное программирование. Вот в этом направлении можно попробовать его развивать. Еще Laurie в спирите думал в этом направлении, т.е. основы закладывались именно тогда.
Не удивлюсь, что концепцию блу-принтов предложил именно человек, который в начале нулевых что-то делал под спирит на халфе.
>> 1. системы плагинов для импорта, которые будут читать различные типы ресурсов.
Что подразумевается под плагинами для импорта? Это обычные компиляторы? Я к тому нужно ли писать какие то плагины экспорта для 3д пакетов? Как в случае с .smd ГС и Сорса? Либо же твой конвертер будет питаться обычными моделями типа .obj, .fbx, .blend и т.п.? Насколько это всё сложно в настройках?
>> Т.е. на входе - ресурсы любых форматов, а на выходе - понятные XashNT.
Под нужным форматом это я и имел ввиду. Стоковый формат движка.
>> А что с текстурами? Каких-то хитрых форматов в XashNT нет, только самые распространённые. bmp, jpeg, tga, dds.
О, это уже неплохо. Добавь ещё PNG
>> Моя система материалов позволяет генерировать не дефолтные материалы, а полностью воспроизводить рендеринг из того движка, откуда модель была скопирована. По крайней мере, если речь идёт о достаточно старых движках, до первого срузиса, включительно.
В теории можно будет из унреалов-юнитей тоже всё это иметь, сам механизм позволяет, но я пока что не тестировал.
Ну вот загрузил ты в движок модельку, она грузится у тебя голой без материалов, или же у неё уже есть какой то стоковый набор созданный при импорте где можно просто дописать пути к текстурам?
>> Некорректный вопрос. Система материалов XashNT вообще не предусматривает никаких встроенных материалов и шейдеров. Только пользовательские. Фактически рендерер создаётся в скриптовых файлах с нуля под любую задачу. Соответственно меняется уровень графики, в зависимости от использованных шейдеров. Можно получить картинку уровня Doom\Quake, можно картинку уровня HL2, уровня Stalker\Crysis или Unreal4. Я над этой концепцией шесть лет думал.
Ты наверное неправильно понял. Вот допустим я захочу сделать материал которого тупо нет в движке. Например туже кубамапу поделенную на сектора, которые можно заливать разным цветом. Или там зеркало с альфаканалом какое нибудь. Зачем для этого лезть в рендер? Когда можно просто загрузить простой шейдер, и сделать ему публичные переменные как настройки материала?
>> Что имеется в виду под морфингом? Если лицевая анимация, то на данный момент её нет, но формат позволяет её добавить в любой момент, не нарушая совместимость. Если же имеются в виду модели с вертексной анимацией (без костей), то этого на данный момент тоже нет, но такой формат будет. И тоже без нарушения совместимости.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!