![]() |
Тут конечно не всё настолько просто. Для некоторых объектов придется еще просчитывать "разумность" действия (это когда рука поворачиваясь проходит сквозь стену, например). Но и это вполне себе решаемо.
|
Цитата:
Э.. Теперь есть очень глупы вопрос - при определении столкновения, как остановить камеру/персонажа и заставить двигаться вдоль стены, а не просто печально стоять, уткнувшись в эту самую стену? |
demy, я же сказал, используйте физ-движок Box2D, все проблемы исчезнут разом. Производительность в маленьком "левеле" не испортит.
|
Цитата:
у меня весь процесс идет так: в "каждом кадре": 1. игровой движок перерасчитывает(сдвигает/удаляет/добавляет) 3д объекты, задает им свойства и тд. 2 физический движок проверяет каждый с каждым объектом() на столкновение, если хотя бы часть одного объекта находится в другом объекте то они раздвигаются в разные стороны на вектор проникновения / 2(т.е. на равные расстояния) и получается если объект идет например под 45 градусов к стене то он в нее проникает и отталкивается и тем самым скользит по стене 3 трехмерный двиг рисует сцену еще плюс "двух миров" в том что можно на лету убирать / добавлять объекты и не нужно все 3д объекты проверять на столкновения(некоторые 3д объекты чисто для дизайна) |
| Часовой пояс GMT +4, время: 13:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.