Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Очень срочно помогите с COLLISION [Delphi, Windows]


Bek ©   (2004-02-22 23:25:00) 

Уважаемые мастера, у меня к вам есть очень серьезный вопрос.
Наверное он скорее математический, хотя сами посудите.
У меня есть координаты игрока (жанр - 3dAction): x y z
У меня также есть переменные, обозначающие предыдущие координаты
игрока, т.е. за шаг до этого: oldx oldy oldz
Я не могу сделать нормальную коллизию.
У меня есть координаты стены (точнее ее середины): objx objy objz
И переменные обозначающие длину стены по осям: widthx, widthy, widthz

Я делаю вот так:
if (man.y<(WidthY/2+ObjY)) and (Y>(ObjY-WidthY/2)) then
 if (man.X<(WidthX/2+1+ObjX)) and (X>(ObjX-1-WidthX/2)) then
  if (man.Z<(Widthz/2+1+Objz)) and (z>(Objz-1-WidthZ/2)) then
  координаты игрока становятся OLD...

Объясняю... Если любая из координат игрока заходит как бы в стену,
то координаты игрока становятся предыдущими...
Вы спросите в чем проблема, объясню. Мой игрок, подходя к стене,
врезается в нее и останавливается, как ни в чем не бывало! Но
в проффесиональных играх так не делается! Если игрок врезается в
стену с одной из сторон, то только одна его координата меняет свое
положение - так делают в настоящих играх! Может быть моя игра будет
более реалистичней (врядли кто-нибудь видел человека, идущего "в стену"
и при этом меняющего свое положение), но я хочу, чтобы было удобно играть,
а так далеко не удобно! Помогите чем можете!


Yar-Com   (2004-04-28 08:45:00) [1]

Уважаемый Bek, Тупик по ходу это ты если не можешь найти расстояние от точки до плоскости....


wiz   (2004-04-28 08:43:00) [2]

2 Bek: берём в руки учебник по "Аналитической геометрии" и внимательно читаем разделы "Проекция", "Скалярное произведение".

Читаем до наступления полного понимания Дао процесса.

>неужели все такие ТУПИКИ?
не надо оскорблять участников конференции, если хочешь получить ответ...


Gr   (2004-04-28 01:39:00) [3]

Когда мне нужно бело найти пересечение между двумя сферами, я измерял расстояние между их центрами, и по нему вычеслял пересекаются они или нет:

          d:=sqrt(sqr(x2-xl)+sqr(y2-yl)+sqr(z2-zl));
d-расстояние
x1,y1,z1 - координаты 1 сферы
x2,y2,z2- 2


BEk   (2004-02-23 10:19:00) [4]

неужели все такие ТУПИКИ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо