HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Paranoia 2:Savior > Блог разработчика
теперь продолжаем здесь
Страницы (23): « Первая ... « 3 4 5 6 [7] 8 9 10 11 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



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

К вопросу зачем это всё нужно, если это неосновная ветка и использоваться не будет. В основном для того чтобы вы его потестировали, привыкли и научились основным методам работы с таким освещением.

Добавлено 28-05-2019 в 16:51:

Ну чтоже. Я почти сделал всё что наметил, кое-что отменил, отложил на будущее. Скоро будет всеобщее бета-тестирование.

Добавлено 28-05-2019 в 20:03:

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-05-2019 17:03
-
nemyax
Нёмыч

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

Рейтинг



Жалко не во ксашмоде такие ништяки.

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

Старое сообщение 28-05-2019 19:13
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
nemyax писал:
Жалко не во ксашмоде такие ништяки.


Почему бы, кстати?
Такие вещи обычно себе позволяют производители техники: у одних хороший объектив, у других матрица, третьи цвета нормально передают, у четвертых аккумуляторы живучие, пятые видео классно пишут, ну а чтобы всё сразу вместе, это не.
С точки зрения экономической потребителеориентированности это вполне понятно...
Но в условно бесплатной платформе зачем подобная диверсификация?!!
Ксаш3д, КсашНТ, Ксаш ХТ, теперь вот ещё параноя эта...
Сделайте один хороший движок, и пусть люди пользуются полным набором ништяков, зачем так-то?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

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

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

Рейтинг



Хы. Для спонзы колоизация весит 50 мегабайт. Очуметь можно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-05-2019 21:19
-
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ghoul [BB] писал:
Сделайте один хороший движок, и пусть люди пользуются полным набором ништяков, зачем так-то?

Ну вот NT и вберёт в себя вообще всё самое хорошее. Когда я его сделаю конечно. Так-то его никто не видел, ну почти никто.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 29-05-2019 09:09
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35043
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Так-то его никто не видел, ну почти никто.

Я заметил, это прям неотъемлемая черта движков, которые вобрали в себя всё хорошее. С Волатилой вон та же история.

__________________

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

Старое сообщение 29-05-2019 10:11
-
 Дядя Миша
racing for fish

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

Рейтинг



XaeroX ну это как земля абитованная, все слышали, но никто не был.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 29-05-2019 10:16
-
 Дядя Миша
racing for fish

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

Рейтинг



Для того чтобы сохранить коллизию в кэш, нужно очевидно построить её в локальном пространстве. Нет,ну в глобальном тоже можно конечно, но тогда на каждую модель на карте придется завести свою собственную копию и хранить эту копию применительно к карте. Я поначалу решил не усложнять и так сделал. Тут же выяснилось, что сдампленная коллизия для той же спонзы занимает почти 50 мегабайт. Я прикинул, что для всей паранои только кэш коллизии займет порядка гигабайта, т.е. сопоставимо с самой игрой и отказался от этой стрёмной затеи. Очевидно надо сохранять коллизию для нулевой позиции\углов и с еденичным скейлом, а трансформировать саму трассу, ну как это вообщем-то делается и для бсп. И тут нас подстерегает очевидная проблема - трансформировать начало и конец трассы проблемы не представляет. А вот как трансформировать ббокс в локальное пространство модели? Точнее говоря, трансформация ббокса тоже не представляет какой-то сложности, но после этой трансформации, если угол не был равен 90, выровненный по осям AABB, естественно увеличится в размерах. Меня такое положение дел не устраивало. Альтернатива - представить наш ббокс игрока в виде 8 точек, но это ведёт к усложнению трасы, тогда нам придётся проверять еще и рёбра. Фактически мы уже имеем дело с частным случаем трассы из дуум3, когда один объект трейсится другим, пусть даже в качестве второго всегда выступает ббокс. Т.е. мне пришлось бы переписывать всю трассу и меня этот вариант не устроил тоже. Тогда я подумал механизм акселерации в качестве 8 оффсетов для сигнбитов плоскости - это ведь фактически и есть наши 8 точек ббокса и я могу его развернуть в эти точки, а дальше использовать их. Логично жеж? Но я не учёл один важный момент. После того как я разверну ббокс, точки поменяют свою полярность, а стало быть изменится и порядок их расположения для выбранных сигнбитов. Как же отсортировать их правильно? На первый взгляд задача решения не имеет. Но мне пришла в голову оригинальная мысль. Для исходного ббокса мы просто меняем mins-maxs местами и набираем наши 8 оффсетов. Стало быть, мы можем инвертировать нашу трансформированную точку ббокса и скормить её функции SignbitsForNormal. Может показаться что это полная бредятина, функция ведь для нормалей, а мы ей даём на вход вертекс. Однако это будет работать и вот почему - во первых наш ббокс без смещения, он локальный даже после поворота. Во вторых он симметричный и отцентрированный. При соблюдении двух этих условий получается что каждая из 8 точек даёт уникальную комбинацию signbits и наши оффсеты сортируются именно в том порядке, в котором и требует наш код коллизии.
Приведу сам код коллизии, чтобы было понятнее о чём речь

C++ Source Code:
1
// adjust the plane distance apropriately for mins/maxs
2
float dist = p->dist - DotProduct( m_vecOffsets[p->signbits], p->normal );
3
 
4
d1 = DotProduct( m_vecStart, p->normal ) - dist;
5
d2 = DotProduct( m_vecEnd, p->normal ) - dist;

ну вы все его знаете. А вот моё оригинальное решение
C++ Source Code:
1
// compute a full bounding box
2
for( i = 0; i < 8; i++ )
3
{
4
  Vector p1, p2;
5
  p1.x = ( i & 1 ) ? lmins[0] : lmaxs[0];
6
  p1.y = ( i & 2 ) ? lmins[1] : lmaxs[1];
7
  p1.z = ( i & 4 ) ? lmins[2] : lmaxs[2];
8
 
9
  p2 = m_transform.VectorRotate( p1 );
10
// NOTE: this is looks silly but it works for some reasons:
11
  // bbox are symetric and stored in local space
12
  // signbits are detected normals for bbox side tests
13
  int j = SignbitsForPlane( -p2 );
14
  m_vecOffsets[j] = p2;
15
}

К сожалению изящность решения оказался неспособен оценить даже Ксерокс

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 30-05-2019 07:13
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Дядя Миша
Чисто доя справки: коллизия для моделей на карте рассчитывается по хитбоксам или по вертексам? Дело в том, что я в силу специфики своих изысканий повидал достаточно моделей, тех жп, к примеру, деревьев, где на всю модель один прямоугольный хитбокс. И в случае рассчета коллизии по хитбоксам, игрок к стволу такого дерева даже на пару метров не приблизится, а остановится "об воздух". Ну и прожектайл или пуля, соответственно, тоже.
А если же коллизия по вертексам, то нас подстерегает уже другая проблема. Те же деревья, к примеру. Где со стволом коллизия должна быть, а вот через ветки - нет. Как же оно все работает?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 30-05-2019 10:02
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ghoul [BB] писал:
Чисто доя справки: коллизия для моделей на карте рассчитывается по хитбоксам или по вертексам?

по вертексам, точная коллизия. Потом по этим моделькам можно ходить как по брашам.

Цитата:
Ghoul [BB] писал:
Где со стволом коллизия должна быть, а вот через ветки - нет

а там флажок, чтобы игрок не коллидил с ветками, это настраивается.

Добавлено 30-05-2019 в 20:38:

одной рукой рулю, а другой слёзы счастья вытираю. И смех и грех вообщем. Замутил кэширование коллизии и обратил внимание на тот факт, что быстрее - не стало. Ну то есть как. Стало, но как-то незначительно.
Я ожидал что скорость загрузки увеличится вдвое-втрое, а она снизилась с 14 секунд до 9. Несеръезно. Я подумал, может быть это загрузка DDS так много времени съедает, начал профилировать - ничего подобного. Профайлер показывает, что основное время уходит на загрузку текстур из вада. Тут уж я окончательно выпал в осадок. Ну как такое возможно? И выясняется, что когда я подключил emboss-маппинг ейный фильтр применялся к текстурам абсолютно всегда, даже когда gl_emboss_scale был равен нулю. Фильтр с нулевым фактором отжирал время и не давал видимого результата. Причём заметить это было крайне непросто, ну вот скажем при загрузке паранои на одну текстуру уходило 0.07 секунды. И вот в карте 90 текстур достаточно выского разрешения, 512х512, и вот у нас уже почти 6-7 секунд просраны впустую. А всего-то надо было сделать проверку на нулевой фактор, про которую я по запаре совершенно забыл
теперь спонза грузится 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: Записан
Сообщение: 179440

Старое сообщение 30-05-2019 17:38
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Психопату интересно. Автор молодец за проделанную работу! BFN хорошо!
Для отложки тени только рейтрейсовые, шадовмап не будет?
Я не особо в курсе, как там работает колоизация, но разве нельзя отделить ббоксы от вертексов? И кэш вершин хранить, как рассказывалось выше, а ббоксы хранить в глобальном пространстве вместе с картой, либо рассчитывать при загрузке? Хотя если приведенный метод успешно работает, то вопросов нет.

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

Старое сообщение 30-05-2019 19:51
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
ncuxonaT писал:
Для отложки тени только рейтрейсовые, шадовмап не будет?

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

Цитата:
ncuxonaT писал:
Я не особо в курсе, как там работает колоизация, но разве нельзя отделить ббоксы от вертексов?

Ай ладно, я ж говорю, даже Ксер не вдуплил

Добавлено 30-05-2019 в 23:01:

ЗЫ. я там кстати еще вариант с капсулой сделал, но игрок себя ведёт как чёрт - везде без мыла пролезает, мне такое не нравится.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 30-05-2019 20:01
-
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 789
Возраст: 31

Рейтинг



А сглаживание поддерживается?

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

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

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

Старое сообщение 30-05-2019 21:16
-
 Дядя Миша
racing for fish

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

Рейтинг



Ну чтож, коллизия и TBN успешно сохранены в кэш. Скорость загрузки выросла раз в пять точно. С 10-15 секунд, до 1-2. Теперь у меня остались только декали. Эти декали меня преследуют с 16-го года, я задумал сделать поддержку декалей с альфа-каналом и всё до сих пор никак не соберусь.
Точнее говоря, их же освещать надо. Ну и код декалей на брашах надо отревизить, оно подвисло в каком-то полурабочем состоянии. Впрочем это не займет много времени, полагаю, т.к. б0льшая часть работы уже проделана. Когда декали будут готовы (1-2 дня), начнётся, товарищи самое интересное. Я начну отладку всего кода на прохождении паранои. По итогам этого тестирования и исправления ошибок, я наконец-то выложу первую публичную альфа-версию паранои 1.51, которую я вам обещаю с 2016-го года
Ну обещанного три года ждут, так что тут всё совпадает. Сколько времени займёт само тестирование я точно сказать не могу. Может и полдня, а может и на неделю растянется. Ну вроде как серъезных ошибок быть не должно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 31-05-2019 10:24
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 03:39. Новая тема    Ответить
Страницы (23): « Первая ... « 3 4 5 6 [7] 8 9 10 11 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Paranoia 2:Savior > Блог разработчика
теперь продолжаем здесь
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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