![]() |
Re: Глюки с коллязиями.
vlad, не, у меня как раз так:
UpdateWorld RenderWorld и при чём тут тунельный эффект? |
Re: Глюки с коллязиями.
А может так?
UpdateWorld() RenderWorld() Вдруг поможет |
Re: Глюки с коллязиями.
Эх...
Выкладывай код применения гравитации к персонажу. Никакой разницы что так: UpdateWorld RenderWorld что так: RenderWorld UpdateWorld Вообще UpdateWorld, это процесс технический, и его не нужно ставить рядом с рендерингом, т.к. Рендеринг нужно ограничивать если УПС (UPS - Update Per Second, пройденый технический цикл (Не Рендер)), ниже например 60. Ещё раз говорю: Цитата:
|
Re: Глюки с коллязиями.
еще раз говорю:
Цитата:
Цитата:
1. UpdateWorld - пересчитывает коллизии и переставлят объекты туда, где они должны стоять по мненю движка. отсюда следует что алгоритм для правильной отрисовки должен быть таким: ставим объекты так_как_хотим_мы провреям коллизии чтоб объекты стояли так как_думает_движок рисуем все_ето. почему прыгает: 1. коллидится не через раз, коллидится все время когда игрок ПЕРЕСЕКАЕТ треррайн (другое дело, что он его персекает через раз), дело в том что он у тебя не всегда персекается (если ето происходит при движении то еще все понятно, но если ето проиходят прыжки на месте - мне лично непонятно в чом тут дело, какая сила заставляет). |
Re: Глюки с коллязиями.
Нафига такой гемор с PositionEntity? Ты делаешь 4 вызова функций за раз, когда можно сделать один Move(Translate)Entity. Причем PositionEntity может игнорировать коллизии. В этом случае, если объект переместился под землю, он может не сразу выбраться оттуда. При использовании Move(Translate)Entity объект остановится перед преградой. Могут еще возникнуть проблемы с гравитацией, если она криво сделана.
|
Re: Глюки с коллязиями.
На сколько мне помнится я когда-то уже с таким сталкивался. Решал просто, помоему так, но могу ошибаться, надо пробывать:
опускаем игрока вниз под действием гравитации если игрок столкнулся с препятствием именно снизу (путем нормали столкновения находиться), то вычисляем высоту терраина в позиции игрока и ставим игрока уже в эту позицию, тогда его никто не будет оталкивать :) |
Часовой пояс GMT +4, время: 13:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot