HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (241): « Первая ... « 168 169 170 171 [172] 173 174 175 176 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Это не сильно от навмеша отличается, только зачем так объектами спамить?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 213250

Старое сообщение 09-03-2023 09:18
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213253

Старое сообщение 09-03-2023 11:22
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Дядя Миша
А в ку3 как?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 213333

Старое сообщение 13-03-2023 07:21
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Вот я же сейчас и хочу сделать как в ку3 и в doom3. Там строится отдельное дерево, которое очень похоже на клипноды, но содержит в себе гораздо больше информации и этой информацией могут пользоваться монстры для навигации.
Минус в том, что оно поддерживает только брашы и патчи, модели не поддерживает. Вот я сейчас как раз добавляю в это дерево модели. Посмотрим что получится. Идея в том, чтобы не расставлять никаких навмешей и нодов.
В крайнем случае - окружить специальным монстерклипом некоторые конструкции. Но в норме монстры должны нормально взаимодействовать с моделями. Если скажем модель - это дом. В доме есть подвал и туда ведёт лестница. Нам достаточно приложить к лестнице func_ladder (которым сможет пользоваться и игрок тоже) и монстры смогут аналогично заходить в дом, спускаться и подыматься в подвал.

Добавлено 13-03-2023 в 12:22:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213336

Старое сообщение 13-03-2023 09:22
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Дядя Миша
Так по идее всё что торчит нормалью вверх это простейший навмеш? Ну можно ещё делать отступы от стен у которых нормаль торчит куда то в Vector3.right

Я как раз когда делал скольжение по стенам, заметил что можно так же заставить монстров прожектплайнами огибать препятствия

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 13-03-2023 в 16:35

Сообщить модератору | | IP: Записан
Сообщение: 213351

Старое сообщение 13-03-2023 16:31
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Так по идее всё что торчит нормалью вверх это простейший навмеш?

да, но толку от такого навмеша не особенного много. Т.к. он не позволяет выполнить поиск пути. Да и вообще точки для поиска пути куда удобнее навмеша. В том же сталкере как сделано? Всё, как ты выразился, что торчит нормалью вверх покрывается сетью навигационных нодов. Они потом линкуются друг с другом, моделлер исправляет ошибки автоматической расстановки и из этого даже что-то получается.

Ну а мы вернёмся к нашим баранам. Итак, попытка втупую просчитать BSP дерево из произвольного меша ожидаемо успешно завершилась неудачей. Ну и неудивительно. Если бы это проходило гладко, все бы по прежнему юзали BSP. В данном случае мы имеем дело с двумя важными допущениями:
1. хулл надутый
2. визуальная форма неважна.

Т.е. часть деталей исчезнет просто по факту надувания хулла, ну а мелкие полигончики, те самые которые и вносят столько проблем в построение BSP из произвольных полигонов, мы без проблем можем аппроксимировать до ориентированного ббокса. В принципе можно и до выровненного по AABB, но ориентированный ббокс всё равно не сильно сложнее построить.

Итак всё что нам надо - это отделить большие крупные полигоны от мелких. Мелкие превратить в ббокс, а крупные скормить анализатору BSP как есть. Хорошо, но вопрос, а как это сделать правильно?
Мы не можем отбраковывать полигоны просто по размеру - в итоге в дерево попадёт какой-то мусор. Конечно игроку с таким деревом не коллидить, а монстр будет просто избегать подобных мест, но это в любом случае не выход. Надо отметить что любые симплификаторы как правило используют очень сложные избыточные эвристики, которые зачастую по времени занимают еще дольше, чем собственно построение дерева.
Нам это тоже не подходит. Но есть еще одно допущение:
- Никто в здравом уме не соединяет детальные полигоны с основной геометрией. Обычно детальную геометрию накладывают поверх базовой.
А значит - у них нет общего шва. Вот и ответ на вопрос. Подобно тому как мы находим шареные полигоны для наложения лайтмапы по совпадающим текстурным координатам, мы можем разобрать меш любой сложности по общим швам. Ну а дальше в дело вступает очень простая эвристика:
1. если группа меньше чем размер клипхулла - просто превращаем в единичный ббокс.
2. если группа больше - смотрим средний, минимальный и максимальный размер площади полигона в группе. Так же делаем выводы относительно её конвексности.
Ну и по совокупности решаем, как с ней поступить и во что превратить.
Самое сложное, как и в случае с наложением лайтмапы - это конечно жы деревья. Как с ними поступать я пока что не придумал. Тут нужна декомпозиция на несколько ббоксов, ну да посмотрим. Так сказать, в процессе имплементации.
Не переключайтесь. У меня уже есть положительные результаты, но я пока не тороплюсь их показывать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213357

Старое сообщение 13-03-2023 19:22
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Цитата:
Дядя Миша писал:
- Никто в здравом уме не соединяет детальные полигоны с основной геометрией. Обычно детальную геометрию накладывают поверх базовой.

Мне не нравится это допущение. Для герметизации структурной геометрии в ней могут быть довольно мелкие полигоны.

Сообщить модератору | | IP: Записан
Сообщение: 213361

Старое сообщение 13-03-2023 19:29
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
nemyax писал:
Для герметизации структурной геометрии в ней могут быть довольно мелкие полигоны.

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

Добавлено 13-03-2023 в 23:13:

Хорошо, другими словами скажу. Когда мы на плоский браш накладываем маленький детальный - CSG разбивает большой браш на месте соприкосновения с детальным. В моделировании никто подобными вещами не занимается и слава богу. То есть мы можем принять это допущение как абсолютное.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213369

Старое сообщение 13-03-2023 20:13
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



В халфе были инфо_ноды, как они работают? Может их банально просто автоматически расставлять?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 213370

Старое сообщение 13-03-2023 20:29
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
В халфе были инфо_ноды, как они работают?

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

Добавлено 13-03-2023 в 23:33:

Цитата:
FiEctro писал:
Может их банально просто автоматически расставлять?

Автоматически можно расставить только регулярную сетку. А халфовские ноды, даже живые люди толком расставлять не умеют. Это надо каким-то чудом детектировать повороты за угол, дверные проёмы, нуитд.
И всё равно оно нормально работать не будет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213371

Старое сообщение 13-03-2023 20:33
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Создал новый бинарный формат для хранения исходников с расширением - usm. Это тоже мета-контейнер, который может хранить в себе любой тип данных - например уровни, модели со скелетом, анимации или просто статичные мешы. Меняются только содержимое секций, их имена и кол-во.
Детектирование того или инго формата происходит по трафарету необходимого набора секций. Так же возможно мутирующее определение, когда целый уровень детектируется просто как статичный меш.
Единственный момент, с которым я пока что не определился - вероятно пары ключ-значение стоит иметь рядом в отдельном текстовом файлике, чтобы можно было их оперативно отредактировать из блокнота, как это мы делаем порой с обычным форматом map. Просто для удобства. Но возможно это и не понадобится.
Расширение формата пока не окончательное, могу выслушать ваши предложения. USM - Uniform Source Mesh.

Добавлено 15-03-2023 в 09:25:

Да, пока не забыл. Тем кто внимательно следит за ходом разработки, наверняка известно, что в XashNT уже был такой промежуточный формат под названием CSM. Он никуда не делся, но формат уже залочен и дальше меняться не будет. Скорее всего я выложу его спеки, чтобы вы могли его активно использовать в своих проектах. Это очень удобный и хороший формат для хранения статических мешей, который включает в себя абсолютно всё необходимое.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213396

Старое сообщение 15-03-2023 06:25
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Это очень удобный и хороший формат для хранения статических мешей, который включает в себя абсолютно всё необходимое.


А смысл, когда для статичных мешей есть .obj? Да и зачем вообще отдельный формат для статичных мешей?

Цитата:
Дядя Миша писал:
могу выслушать ваши предложения


Напиши мини утилиту для конвертации в твой формат из популярных форматов, возми ту либу что я скидывал. Это намного упростит жизнь, чем для каждого пакета писать конвертёр для ноунеймовских форматов, и мучиться со всякими говно smd плагинами.

Цитата:
Дядя Миша писал:
Это тоже мета-контейнер, который может хранить в себе любой тип данных - например уровни, модели со скелетом, анимации или просто статичные мешы.


Шейпкеев не будет?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 15-03-2023 в 06:51

Сообщить модератору | | IP: Записан
Сообщение: 213397

Старое сообщение 15-03-2023 06:45
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
А смысл, когда для статичных мешей есть .obj?

obj текстовый формат, он занимает чудовищно много места для больших мешей, к тому же не в состоянии хранить развертку лайтмапы. Единственный формат, который потенциально способен хранить развертку лайтмапы, это ASE, но он тоже текстовый и там непонятно в какой ориентации хранится модель. Всё это очень неудобно. Я уже наподкидывался с этим зоопарком.

Цитата:
FiEctro писал:
Шейпкеев не будет?

Говорю же мета-контейнер. Туда в дальнейшем можно будет добавлять всё что угодно, не нарушая совместимости. Причём как прямой, так и обратной.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 213398

Старое сообщение 15-03-2023 07:33
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Всё это очень неудобно. Я уже наподкидывался с этим зоопарком.


Это верно, потому и выжили лишь только несколько популярных форматов. Всё остальное народ бросил на помойку. Но нужно тоже понимать что формат не может существовать отдельно от 3д пакетов.

Цитата:
Дядя Миша писал:
Туда в дальнейшем можно будет добавлять всё что угодно, не нарушая совместимости.


Даже БСП?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 15-03-2023 в 08:46

Сообщить модератору | | IP: Записан
Сообщение: 213399

Старое сообщение 15-03-2023 08:42
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



FiEctro
БСП вриатле можно отнести к категории source mesh.

Сообщить модератору | | IP: Записан
Сообщение: 213400

Старое сообщение 15-03-2023 08:46
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 19:41. Новая тема    Ответить
Страницы (241): « Первая ... « 168 169 170 171 [172] 173 174 175 176 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024