Sidebar

Xash3D 0.99 build 4097 [beta]

crystallize

Well-known member
06.06.14
1 715
46
48
Дядя Миша сказав(ла):
Очевидно проблема в том, что надувание геометрии - нетривиальная задача, нельзя её просто домножить на размер хулла. Если делать это втупую, то вот как раз такие загадочные уступы и полезут в неаксиальных местах. Это никоим образом не является проблемой хуллов, просто неграмотный подход к их созданию.
Я так понимаю надувается даже не конечный хулл карты получаемый после всех разбиений и отсечений невидимых граней, а именно сырые браши которые маппер сделал в карте? Иначе как объяснить что в пресловутом туннеле https://i.redd.it/0w89ko0d5b501.png хулл выглядит как будто его дополнительно растянули, и даже видно его задние грани которые смотрят в пустоту? Т.е. если бы этот поворот был сделан не пересечением пары длинных тонких брашей, а одним большим, скошенным брашем, то проблемы бы не возникло? Если это так, то должно быть в учебниках.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Ты понимаешь правильно, надуваются именно исходные браши, еще до CSG.
Т.е. если бы этот поворот был сделан не пересечением пары длинных тонких брашей, а одним большим, скошенным брашем, то проблемы бы не возникло?
Проблема возникает именно от некорректного надувания. Аналог задачи - надувание Glow Shell вокруг модельки, чтобы не было швов и разрывов. Это ведь тоже не так просто сделать. Первая логичная мысль, приходящая в голову - расширить браш по направлению нормали в каждую сторону. Но это работает только для конвексной еденичной модели. В идеальном случае - когда вся карта из аксиальных брашей. Китаец по этому поводу даже камент оставил
// old code multiplied offset by normal -- this led to post-csg "sticky" walls where a
// slope met an axial plane from the next brush since the offset from the slope would be less
// than the full offset for the axial plane -- the discontinuity also contributes to increased
// clipnodes. If the normal is zero along an axis, shifting the origin in that direction won't
// change the plane number, so I don't explicitly test that case. The old method is still used if
// preciseclip is turned off to allow backward compatability -- some of the improperly beveled edges
// grow using the new origins, and might cause additional problems.
Сам китаец не доверял простому увеличению и использовал трёхпроходный метод, который ближе к оригинальному коду Кармака, нежели Вальвовскому.
Вальва там чота выкинула в конце.

Post automatically merged:

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

crystallize

Well-known member
06.06.14
1 715
46
48
Дядя Миша сказав(ла):
Ты понимаешь правильно, надуваются именно исходные браши, еще до CSG.
А почему именно исходные? Почему нельзя взять точечный хулл, который для гранаты, и его раздуть?
 
Имея код из tyrquake, возможно ли сделать процесс обратный "надуванию"? т.е. чтобы клипы были размером с реальные браши? а то у многих mindfuck от того что они надутые :)
 

crystallize

Well-known member
06.06.14
1 715
46
48
Хуллов 4, в одном из них клипы нормальные, но он только для снарядов и прочего, не для игроков. А посмотреть его я думаю проблемы нет.
 
crystallize сказав(ла):
Хуллов 4, в одном из них клипы нормальные, но он только для снарядов и прочего, не для игроков. А посмотреть его я думаю проблемы нет.
в том то и дело что самые интересные хуллы как раз те что надутые но анализировать их было бы легче если бы они были уменьшены на hull_size, я пробывал сам уменьшать но у меня получилась каша из полигонов :D
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
Оффтоп
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Почему нельзя взять точечный хулл, который для гранаты, и его раздуть?
Ну исходные браши используются дважды - для точечного хулла (без раздувания) и для колижен хуллов (с раздуванием). Собственно, если исходные брашы не раздувать, то и получится точечный хулл. То есть твое предложение что-то вроде "а если колесо надуть, оно будет надутым".
но анализировать их было бы легче если бы они были уменьшены на hull_size
Если их попытаться "сдуть", то в самом лучшем случае они перестанут отражать реальное положение дел, а в худшем - та самая каша из полигонов.

Post automatically merged:

2 ncuxonaT: в 95-м году было актуально. Но вообще по клипхуллам очень надёжная и быстрая коллизия получается, которая не зависит от капризов таймера и плавающей точки. И для меня это главная ценность.

Post automatically merged:

Как бы объяснить. Для клипхулла вся трасса сводится к поиску положения точки в бинарном дереве. Для произвольного хулла это только половина дела - мы выходим в лиф, в котором нам надо еще протрейсить реальные браши. При том что порядок сторон трейса фактически не определён, из-за чего игрок потенциально прилипает к стенкам. В самой Quake2 это разрулили введением overbounce выше еденицы. И в ку3 точно такое же дерьмо. Убери этот овербоунс и игрок начнёт прилипать к стенкам.
 
Останнє редагування:

GNU/Hurt

Maïté
05.03.14
1 092
25
38
2 Дядя Миша:
А чем плох овербоунс? А как с моделями честная коллоизация устроена, там тоже хуллы строятся?
 
Останнє редагування:

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 Дядя Миша: благодарю. А для коллизий с моделями, ты их тоже так раздуваешь?
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Нет. Для коллизий с моделями я использую старую идею Кармака о том, что каждый полигончик можно обвернуть в шесть плоскостей. Он еще в ку3 так патчи колоизировал.
 

nemyax

тндайпц тра
Команда форуму
Модератор
30.07.15
643
25
18
На билду, собранном студией 2008, игрок иногда начинает медленно крутить башкой сам по себе.
 

avegamer

Member
19.12.14
80
39
0
6
Дядя Миша, перенеси пожалуйста spritemonster на Xash3D. Пытался перенести, но очень долго и много ошибок
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 avegamer: ничего не понял, если честно. Спрайтовые монстры, если ты про них, работают под движком.
 

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.