Дядя Миша писал: Сегодня наконец-то был совершён важный прорыв. Теперь XashNT может обрабатывать в качестве геометрии для видимости модели, а не только браши. Т.е. мы можем сделать уровень моделью, пропустить его сквозь BSP-дерево и он правильно портализуется и разобьется на сектора, как будто был сделан из брашей. Технология пока ещё сырая и необкатанная, но в пределе XashNT позволит отказаться от брашей полностью. Это не значит, что он перестанет их поддерживать. Это значит уйдет требования наличия на уровне минимального кол-ва брашей, как это есть сейчас - например коробки-скайбокса. Иными словами можно будет целиком и полностью создавать уровни в Блендере или Максе. А в формате map или source останутся только точечные энтити.
Здорово! А с брашами у моделей csg работать будет?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Если геометрия сделана моделью, подразумевается, что дизайнер выполняет работу за компилятор в редакторе. Поэтому все CSG операции там производятся вручную. Тут и с классическим CSG довольно жесткие правила, которые в теории могут дать неверный результат:
1. браши сортируются по контентсам
2. солид жрёт небо и воду и пустые браши
2. небо жрёт воду и пустые браши
3. вода жрёт пустые браши
4. пустые браши не жрут ничего
5. структурные браши не жрут детальные и наоборот
6. браш, которые выше по списку - жрёт тот который ниже. Это самый спорный пункт, но для автоматического CSG ничего умнее не придумать.
С 95-го года мы пользуемся этими правилами.
А ты предлагаешь ещё и автоматически вычитать из полигонов моделей.
Дядя Миша писал: Если геометрия сделана моделью, подразумевается, что дизайнер выполняет работу за компилятор в редакторе.
Тогда зачем вообще CSG компилятор?
Цитата:
Дядя Миша писал: С 95-го года мы пользуемся этими правилами.
А ты предлагаешь ещё и автоматически вычитать из полигонов моделей.
Так а что меняется? Не знаешь как булеан работает? Ладно бог с ними с не замкнутыми моделями, но вот с замкнутыми разве это посчитать сложно? Или вот например когда часть модели заткнули брашем или наоборот моделькой заткнули дырку в карте? Толи в сорсе толи ещё где то бесило что родные террейны компилятор воспринимал как дырку.
Но в целом да, фишка далеко не критичная, но помогает здорово экономить лайтмапы.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Сегодня наконец-то был совершён важный прорыв. Теперь XashNT может обрабатывать в качестве геометрии для видимости модели, а не только браши. Т.е. мы можем сделать уровень моделью, пропустить его сквозь BSP-дерево и он правильно портализуется и разобьется на сектора, как будто был сделан из брашей. Технология пока ещё сырая и необкатанная, но в пределе XashNT позволит отказаться от брашей полностью. Это не значит, что он перестанет их поддерживать. Это значит уйдет требования наличия на уровне минимального кол-ва брашей, как это есть сейчас - например коробки-скайбокса. Иными словами можно будет целиком и полностью создавать уровни в Блендере или Максе. А в формате map или source останутся только точечные энтити.
Давно хотел спросить - как это будет выглядеть со стороны блендыра? Допустим, с отсечением геометрии, что скрыта другой геометрией вопросов нет особо.Но вот выше писали про дыры. Вот я домлю стройстрою дом. Дверь хочу поставить динамической геометрией, а значит в файле ее не будет. Значит, коньпелятор увидит что в проеме ничего нет и поставит портал? А если я хочу прозрачные окна и шобы эльфы набегали и охрана дворца изнутри все было видно? То есть по каким критериям геометрии оно будет отсекать в итоге - не совсем понятно. Поэтому, я предполагаю, что оно будет иметь особые требования к построению геометрии уровня. Но какие - не могу себе представить.
Добавлено 27-05-2024 в 15:17:
Всё, увидел, что ДМ отписался на эту тему в тележку, в коментах. Спасибо, теперь понятненько.
__________________
В детстве был благовоспитанным мальчиком, но начал играть в орлянку, связался с Ксероксом и Дядей Мишей и покатился… Характер мягкий. Не женат.
Отредактировано Camblu_Buildovich 27-05-2024 в 09:39
Camblu_Buildovich писала: Поэтому, я предполагаю, что оно будет иметь особые требования к построению геометрии уровня
Да, надо будет помечать структурную геометрию особым свойством.
Грубая геометрия - структурная и замкнутая, всё остальное детайлы.
Аналогично брашворку.
Решил перечитать тему с самого начала, её скоро уже закрывать, по достижению 256 страниц. Память человеческая весьма ненадёжна.
Ну то есть мозг сам решает, что ему помнить, а что с забыть.
С превеликим удивлением узнал, сколько же было неудачных интераций у моей материал-системы. Сейчас-то она мне кажется вполне естественной и логичной, как будто бы я к ней пришёл сразу. А там - минимум пять промежуточных версий, причём в довольно короткий промежуток времени, около двух месяцев. Интересно.
Так же я там грозился полностью отказаться от лайтмап, обосновывая это тем, что накладывать лайтмапу на модели и убирать швы - это крайне нетривиальные занятия. Чтож, именно так и оказалось. Но я героически преодолел эти трудности
Давайте отчитаюсь по проценту готовности основных подсистем среды XashNT, а то годы идут, народ пребывает в недоумении, когда же это всё станет полностью юзабельным.
Тут можно группировать по разным категориям, я пока ещё не решил, как лучше сделать, пока что вот так попробуем:
Что уже сделано:
1. компилятор уровней
2. компилятор статичного освещения
3. компилятор навигационной сетки для AI
4. конвертор-мигратор ресурсов для Q1\Q2\HL\P2
5. плагин для J.A.C.K. (создание уровней)
6. плагин для Total Commander (работа с архивами)
7. конвертор-мигратор ресурсов для S.T.A.L.K.E.R.
8. компрессор текстур в DXT
9. компилятор скриптового языка HeadShot
10. компилятор шрифтов из произвольного набора изображений
11. компилятор моделей со скелетной анимацией (не тестировался)
12. конвертор исходников Delphi->HeadShot
13. конвертор-мигратор ресурсов для серии игр Metro (неокончен)
14. утилита определения системных требований
15. собственно ядро самого движка
что ещё предстоит сделать:
1. плагин-просмотровщик формата CSM для Noesis
2. универсальный модельвьювер для просмотра ресурсов XashNT
3. редактор уровней для XashNT
4. компилятор моделей с вершинной анимацией
5. компилятор спрайтов
Это общая информация, теперь напишу детально и подробно список задач, из тех, которые уже сформированы:
1. поддержка сети\мультиплеера в движке
2. переработка звуковой подсистемы в движке
3. собственный формат хранения звуков (программируемый саунд-банк, саунд-фонт)
4. банк хранения анимаций для скелетных моделей
5. мульти-проходный рендерер (поддержка зеркал\порталов)
6. динамическое непрямое освещение (global illumination)
7. финализация компилятора моделей со скелетной анимацией
8. разработка компилятора моделей с вертексной анимацией
9. разработка компилятора спрайтов
10. портирование VCL (Visual Component Library) из Delphi на язык HeadShot
11. разработка универсального модельвьювера с некоторыми функциями редактирования
12. разработка редактора уровней, который потенциально станет редактором для всех ресурсов.
13. портирование игры Comrades на XashNT (почти закончено)
14. портирование игры Paranoia на XashNT
15. портирование тулкита XashXT на HeadShot (в основном код)
Это - те задачи, которые я чётко вижу, что они должны быть реализованы. В процессе, разумеется могут возникнуть ещё какие-то задачи.
Хотя на каждую задачу отведено по одной строчке, время их реализации сильно разное. Где-то достаточно будет одного-двух дней, а где-то и на полгода растянется. Самый главный момент, самая приоритетная задача для меня - это портирование VCL. Если мне успешно удасться это реализовать, то и всё остальное не будет представлять никаких проблем.
Это единственное, в чём я не уверен на 100% - получится ли. Весь мой предидущий опыт говорит о том, что должно получиться, но я подобных вещей никогда не делал, поэтому немного волнуюсь.
Дядя Миша писал: что ещё предстоит сделать:
1. плагин-просмотровщик формата CSM для Noesis
Не до конца понимаю - зачем.
Кстати, почему бы этот пост не опубликовать и в тележке?
__________________
В детстве был благовоспитанным мальчиком, но начал играть в орлянку, связался с Ксероксом и Дядей Мишей и покатился… Характер мягкий. Не женат.
Дядя Миша писал: 4. компилятор моделей с вершинной анимацией
Мне вот всегда было интересно, а где эту вершинную анимацию делают? А так да, очень актуальная в 2024 году фича
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!