![]() |
Странная работа Колизии.
Ситуация следующая:
Есть сцена где имееться поверхность земли и моделька игрока стоящаая на этой поверхности. Кализия заданна как Collisions(C_MEN,C_TERRA,2,3) на Модельку игрока действует сила тяготения. Но возникает интересная ситуация: Когда ФПС достаточно много (около 200-1000) все работает отлично. Но стоит тока упасть в сцене ФПСсам ниже 100 срау координата "У" медленно как зыбучий песок ползет вниз какбудто по долям микронов объект вплавяетсья в поверхность земли. Хоят при этом оделька самого объекта стои на месте а вот показатели координат по "У" ползут вниз. С чем это может быть связано и как это выличить? |
Re: Странная работа Колизии.
Хотя с тем как это решить я знаю, я это решил просто поставив поверку коснулся ли игрок земли то обсчет сил тяготения прекращяеться, пока игрок не прыгнит или не оторветсья от земли. Но почему так проиходит?
|
Re: Странная работа Колизии.
Применимо это к твоей ситуации или нет, смотри сам, но советую каждый цикл выводить на экран значение коллизии, и увидишь интересное - не каждый раз, когда есть коллизия, это значение будет true.
|
Re: Странная работа Колизии.
Просто при низком фпс такой эффект лучше заметен. Ты двигаешь модель вниз, а UpdateWorld возвращает ее на место коллизии, но координаты не сразу становятся фактическими. Выход как и сказал автор:
Vy#=Vy-g If EntityCollided(model,ground) Then Vy=-Vy*K_uprugost If Abs(Vy)>0.001 Then TranslateEntity model,0,Vy,0 |
Re: Странная работа Колизии.
В цикле расчета притяжения я поставил проверку на колизию. И как показывает практика что EntityCollided(model,ground) не всегда возвращает результат. т.е. то указыват что есть колизия то нет.
Мне это принципиально т.к. у меня сетивые пакеты данных об положении игркоа идут при условии что игрок соврешает какието действия и эти пакеты передаються на сервер. Соответсвенно если игрок стоит и EntityCollided(model,ground) возвращает указатель на колизию то данные не посылаються. Если игрок прыгнул то идет передача данных. Но т.к. этот параметр не стабилен и он маргает то данные начинают идти. это не есть гуд. |
Re: Странная работа Колизии.
Отслеживай изменения по нажатиям клавишь и движению мыши
|
Часовой пояс GMT +4, время: 13:53. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot