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

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

Рейтинг



Ну его здесь пользователь может сам оживить - через шейдер и многослойную текстуру. Причём даже на уже выложенной демке.
Единственное, надо будет придумать какой-нибудь seed.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



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

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

Строго говоря, когда этот хулл надуется по своим размерам, тут останется три браша, ну или что-то вроде этого.

[ Вложение ]
photo_2023-03-19_13-37-27.jpg

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 19-03-2023 10:41
-
FiEctro
Кот Арсис

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

Рейтинг



Дядя Миша
Это колоизация?

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

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32209
Нанёс повреждений: 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: Записан
Сообщение: 213462

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

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

Рейтинг



А что со сферой будет? И всякими изогнутыми объектами?

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

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32209
Нанёс повреждений: 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: Записан
Сообщение: 213466

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

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

Рейтинг



Ну чтож, подведу итоги моего мини-исследования:

1. В принципе превращать полигональную геометрию в брашы можно и даже без критичных артефактов.
2. На сравнительно больших (но по меркам Сталкера игрушечных) картах, только лишь на генерацию брашей для одного хулла уходит чертовски много времени. Это без учёта работы CSG и построения BSP. Скажем на testers_mp_factory это заняло более часа. И вероятно еще пару часов считал бы CSG, а потом BSP строился ещё пару часов. А потом был бы ещё долгий поиск возможных путей для навигации. Проблема здесь конечно не в том, что долго, а в том, что алгоритм разбит на слишком большое кол-во этапов, на каждом из которых накапливается ошибка. Насколько я помню даже в оригинале кутришные карты имели массу дополнительных брашей, для того чтобы навигация монстров работала боле-мене нормально. Так что нет, этот метод к сожалению не годится и неактуален в настоящее время.
3. Поскольку в BSP30 лимит всего-навсего на 65 киловертексов, это автоматически предотвращает от вставки на уровень слишком больших\детализированных моделей. А мои механизмы разбора вполне жизнеспособные, то я вполне могу имплементировать это в p2st. Собственно, он и так умеет вкомпиливать модели в карту при помощи встроенной энтити misc_model (и это будет работать на голдсорсе), однако у таких моделей не было коллизии. Теперь же с учётом накопленного опыта можно учитывать и коллизию тоже. И даже использовать достаточно грубые модели в отсечении видимости - например как тот пресловутый домик. Когда у меня появится время, я скорее всего выпущу обновление p2st с полноценной поддержкой вкомпиливания моделей в уровни. Но повторюсь, эти модели должны быть не слишком полигональными.
4. Можно замутить в Xash3D AAS-систему из Q3 (для XashNT она не годится, о чём я подробно расписал в во втором пункте). Но если бы её делал я, то не декомпилил бы карту целиком и полностью, а строил AAS прямо на основе хуллов, получая набор полигонов прямо с них. При помощи того самого визуализатора клипнодов, я бы просто добавил полигоны на уже существующее дерево, заново выполнил бы ему портализацию и рассчитал reachability. Возможно, что в p2st я тоже проделаю часть этой работы, посмотрим.
5. В процессе исследования сделал несколько интересных открытий и исправил некоторые вещи. Кое-о-чем я уже рассказал выше. Так же отремонтировал склеивалку конвексных полигонов. Это позволит более эффективно создавать поверхности для патчей в радиосити. Так что получилась неожиданная побочка - исправление для моего лайтмаппера.
6. Использовать полигональную геометрию для отсечения видимости в принципе можно, но лучше этого не делать, причины расписаны во втором пункте - слишком долго, если компилятор будет пихать такую геометрию по собственному усмотрению. К тому же с вероятностью 99% она не будет замкнутой (ради чего всё и затевалось), а значит не сможет ничего отсечь и время будет потрачено впустую. В том же сталкере некоторые домики обстраивали брашами с окнами-порталами. В принципе нечто подобное делать можно. Например модельное здание многоэтажки, у которого в каждом окне находится портал. Причём порталы тоже сделаны полигонами. И явно указано, что эту модель надо целиком добавить в построение BSP. Полагаю это будет наиболее оптимальный метод. К тому же анализатор всё равно выбросит детальные группы и добавлять их не будет. То есть - строго по желанию пользователя.
7. Для навигации монстров придётся всё же использовать автоматически расставленные ноды, но я сделаю это не так, как это сделано в сталкере, у меня есть некоторые идеи насчёт всего вот этого. И еще есть мысль, что даже для этого облака точек возможно выполнить портализацию, как если бы мы имели дело с настоящим уровнем. Только здесь будет как бы двухмерное BSP.

Добавлено 20-03-2023 в 10:05:

Да, по поводу вот этого https://hlfx.ru/forum/showthread.ph...3460#post213460 скажу отдельно.
Оно хоть и работает, но лишено практического смысла. Колоизация ведь надувается по размеру хулла, а значит все эти мелкие детали пропадут автомагически. А для точечной трассы вполне достаточно просто пропустить в дерево оригинальные полигоны.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
3. Поскольку в BSP30 лимит всего-навсего на 65 киловертексов, это автоматически предотвращает от вставки на уровень слишком больших\детализированных моделей. А мои механизмы разбора вполне жизнеспособные, то я вполне могу имплементировать это в p2st. Собственно, он и так умеет вкомпиливать модели в карту при помощи встроенной энтити misc_model (и это будет работать на голдсорсе), однако у таких моделей не было коллизии. Теперь же с учётом накопленного опыта можно учитывать и коллизию тоже. И даже использовать достаточно грубые модели в отсечении видимости - например как тот пресловутый домик. Когда у меня появится время, я скорее всего выпущу обновление p2st с полноценной поддержкой вкомпиливания моделей в уровни. Но повторюсь, эти модели должны быть не слишком полигональными.


Это уже интересно, а что с разверткой и поддержкой тайлов?

Добавлено 20-03-2023 в 10:14:

Цитата:
Дядя Миша писал:
слишком долго


А если приминенять многопоточность и ГПУ?

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

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

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

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

Рейтинг



Цитата:
FiEctro писал:
А если приминенять многопоточность и ГПУ?

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

Цитата:
FiEctro писал:
Это уже интересно, а что с разверткой и поддержкой тайлов?

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

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:

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


А на лошатке были тайлы?

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

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

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

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

Рейтинг



Так это ж твоя лошадка? Ты лучше меня должен помнить.

Добавлено 20-03-2023 в 14:24:

Вообще они поддерживаются, если что.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
Так это ж твоя лошадка? Ты лучше меня должен помнить.


Это модель с интернета.

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

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

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

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

Рейтинг



Что ещё хотелось бы сказать по поводу всего вот этого?
Да, я практически не выкладывал скриншотов, но это потому что не видел ничего особенного в сделанном. Если бы какой-то результат превзошёл мои ожидания я бы обязательно поделился.
К тому же, я фактически занимался не навигацией монстров, а генерацией брашей из исходного уровня, будучи изначально настроенным скептически к этой затее. Вот как раз из-за долгого времени ожидания. Ну да не принципиально. Побочные результаты потом всё равно найдут своё применение, когда у меня будет на это время.
Чтож, пришла пора уже напрямую заняться AI, точнее построением навигационного графа. Я ставил свои опыты в компиляторе уровней, но видимо это неразумно и стоит его вынести в отдельную утилиту.
Утилита будет называться aigraph.exe. Ну и да, запускать её можно будет как до рассчёта освещения так и после (или даже вместо).
Я абсолютно ничего не знаю о построении графов, ну только про алгоритм A* кое-что слышал. Но идти привычным путём не хочу. Я вам уже выше приводил пример сколько проблем влечёт тупая автоматическая генерация нодов. Попробую сделать по своему. Поскольку тема для меня новая, то любой результат скорее всего будет представлять какой-то интерес, поэтому постараюсь выкладывать скриншоты и сопровождение к ним в телеграм-канале. Вообще мне представляется, что генерация навигационного графа куда проще чем написание лайтмаппера, но посмотрим.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



https://forum.unity.com/attachments/navmeshfeatures-png.207012/
может натолкнет на кое какие мысли

Цитата:
Дядя Миша писал:

Вообще мне представляется, что генерация навигационного графа куда проще чем написание лайтмаппера, но посмотрим.


Не скажи, это ты статичный навмеш генеришь, а если у тебя динамические объекты там какой нибудь лифт, вагончик, мост раздвижной, дверь наконец? И всё летит в тартарары.

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

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

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

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

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

Рейтинг



Цитата:
FiEctro писал:
а если у тебя динамические объекты там какой нибудь лифт, вагончик, мост раздвижной, дверь наконец?

Эти объекты проверяются во время игры. К тому же для подвижныъ объектов генерятся собственные навмешы, которые перемещаются вместе с ними.
Я ведь давно уже говорил, что любой подвижный объект может рассматриваться как локальный мир.

Цитата:
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: Записан
Сообщение: 213485

Старое сообщение 21-03-2023 06:36
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 16:55. Новая тема    Ответить
Страницы (241): « Первая ... « 171 172 173 174 [175] 176 177 178 179 » ... Последняя »   Предыдущая тема   Следующая тема
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