-
Автор темы
- #1
Игра - BLOCKPOST (Unity, Il2Cpp).
Я использую функцию юнити Linecast, что бы проверить есть ли препятствия между игроком и целью что бы не лочить на стены.
Тема с такой же проблемой уже появлялась на форуме, но она была заброшена оставшись без ответа.
Суть в том, что если функция Linecast вызывается, как мне кажется, слишком часто (как правило это происходит в тимфайте 20х20, в режимах где меньше игроков всё ниже перечисленное встречается крайне редко), то возникают следующие проблемы:
1. краш игры. чаще всего при смене сервера, но бывает и во время игры.
2. некоторые игроки просто теряют свою модель (я продолжаю получать их позиции (на что указывает работающий есп и аим), но они невидимы и у них нет хитбокса, а так же где-то на карте есть их застывшая моделька). при попытке сменить сервер игру крашит.
3. мир перестает нормально отрисовываться, прям пиздец какой-то. в этом случае игру не крашит, так что я могу сменить сервер, но это не избавит от проблемы, а играть так точно не получится.
если здесь есть кто-то, кто уже с этим сталкивался и решил проблему или у кого-то просто есть идеи - отпишите по поводу возможных фиксов, ибо я уже отчаялся.
Я использую функцию юнити Linecast, что бы проверить есть ли препятствия между игроком и целью что бы не лочить на стены.
Тема с такой же проблемой уже появлялась на форуме, но она была заброшена оставшись без ответа.
Суть в том, что если функция Linecast вызывается, как мне кажется, слишком часто (как правило это происходит в тимфайте 20х20, в режимах где меньше игроков всё ниже перечисленное встречается крайне редко), то возникают следующие проблемы:
1. краш игры. чаще всего при смене сервера, но бывает и во время игры.
2. некоторые игроки просто теряют свою модель (я продолжаю получать их позиции (на что указывает работающий есп и аим), но они невидимы и у них нет хитбокса, а так же где-то на карте есть их застывшая моделька). при попытке сменить сервер игру крашит.
Пожалуйста, авторизуйтесь для просмотра ссылки.
3. мир перестает нормально отрисовываться, прям пиздец какой-то. в этом случае игру не крашит, так что я могу сменить сервер, но это не избавит от проблемы, а играть так точно не получится.
Пожалуйста, авторизуйтесь для просмотра ссылки.
если здесь есть кто-то, кто уже с этим сталкивался и решил проблему или у кого-то просто есть идеи - отпишите по поводу возможных фиксов, ибо я уже отчаялся.
C++:
RaycastHit hitInfo;
if (app::Physics_Linecast_3(camWP, posEnemyBone, &hitInfo, nullptr))
{
float distToTarget = sqrt(pow((posEnemyBone.x - camWP.x), 2) + pow((posEnemyBone.y - camWP.y), 2) + pow((posEnemyBone.z - camWP.z), 2));
float lackOfPenetration = distToTarget - hitInfo.m_Distance;
if (lackOfPenetration < 0.6)
utils::SetView(AngletoTarget);
}