HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Трейс через SV_Move
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4781
Возраст: 36

Рейтинг



Трейс через SV_Move

Почему SV_Move сходит с ума на наклонных поверхностях и показывает там trace.fraction=1 ?
Это лечится, для клипов и тонких двусторонних брашей, выставлением trace.allsolid=false в SV_ClipMoveToEntity, но это просто загонять проблему глубже.

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

Старое сообщение 27-04-2025 10:44
- За что?
 Дядя Миша
racing for fish

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

Старое сообщение 28-04-2025 07:47
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4781
Возраст: 36

Рейтинг



Возвращаюсь к теме чуть поумнев. Проблемы теперь немного другие.
Трейс использую примерно так:

code:
for(i=0;i<chase_up.value;i++) { hull1[0]= hull1[1]= hull1[2]=-i hull2[0]= hull2[1]= hull2[2]=i VectorCopy(pl->origin, tmp);tmp[2]+=i; memset с дядемишиным фиксом где-то здесь, эффекта не меняет trace = sv_move( pl->origin, hull1, hull2, tmp, move_nomonsters, 0); }

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

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

Но даже если ничего не растягивать и сделать просто трейс толщиной с игрока идущий вертикально вверх то возникает другой глюк: стенки по разные стороны света по-разному детектятся трейсом. То есть если ты рождаешься на start.bsp то в каждом холле стенки справа и спереди детектятся даже если толщина трейса всего полтора или три юнита. А вот чтобы задетектить стенку слева нужен уже трейс толщиной больше 16-ти юнитов. Потом она вообще обнаруживаться перестала.

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

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

Старое сообщение 28-02-2026 15:55
- За что?
 Дядя Миша
racing for fish

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

Старое сообщение 02-03-2026 15:34
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4781
Возраст: 36

Рейтинг



SV_Move с MOVE_NOMONSTERS трейсит мир и брешет что трейсит указанную модель.

SV_Move дает корректный trace.fraction там где TraceLine просто возвращает единичку.

А если слишком большой трейсовый объём то может внезапно засечь пересечение с дверью на другом конце уровня. Зогатко.

Я только так и не понял, возможен ли неаксиальный трейс или вокруг него всегда описывается AABB? А то мало ли.

Цитата:
Дядя Миша писал:
Ты её визуализировал бы чтоли, линию там нарисовал, для понимания.

Ты ж говоришь код должен в голове выполняться.
Мне кажется рисование мне понимания не прибавит. Я по логам вижу что трейс уходит в стенку. Если мне вместо этого коробочку наполовину в стене нарисуют то что ещё я пойму?

Так вот, по логам я делаю вывод, что, если мы указали в качестве трейсера коробочку или скажем сплющили её до квадрата, то если уже в точке старта эта коробка\квадрат уходит краем в стену то весь трейс утекает в стену и радостно рапортует о полном прохождении пути. Я вот не помню, вроде он даже startsolid allsolid не заполняет, иначе это не выглядело бы так странно.

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

И ещё объёмный трейс тормозится на первом препятствии, ну типа логично ведь он симулирует движение ААББ энтитей. А как сделать наоборот чтобы он затекал во все щели пока совсем не сможет идти? Дверь там обнаружить или окно.

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

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

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

Рейтинг



Цитата:
Crystallize писал:
Ты ж говоришь код должен в голове выполняться.

Это с опытом приходит. Сперва лучше визуализировать.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 22-03-2026 13:52
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 12:17. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Трейс через SV_Move
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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