|
|
#1
|
|||
|
|||
вопрос по openGL
для тех кто программировал на Delphi c openGL, не могли бы вы помочь . Вопрос состоит в том чтобы камера не могла пролетать через некоторые объекты.. Например через прозрачный куб. или плоскость. Также прилагаю пример..(ЗЫ.. управление камерой WASD, shift - вниз, пробел - вверх)
http://narod.ru/disk/64890694001.b3d...%80...rar.html |
#2
|
||||
|
||||
Чтобы камера не пролетала через объекты, надо делать уже детектор столкновений. Самый простой варинат - когда камера - невидимая сфера, а все объекты состоят из треугольников.
jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Цитата:
А не моли бы вы предоставить пример.. а то так тяжело понять как это реализуется.... тем более я только начинаю.. программировать на GL// |
#4
|
||||
|
||||
http://www.delphisources.ru/forum/sh...ad.php?t=21536
Как пример может и не сойдет, но типа того. |
#5
|
|||
|
|||
Цитата:
Спасибо, Виталий очень помогло.. Но вот вопрос а если карта рельефная.. и предмет сложной формы.. тогда оно тоже сработает.. Вот например. http://narod.ru/disk/64893683001.a154d8e07d556e3b4569ac7d3a3c8945/%D0%92%D0%BE%D1%82%D0%9D%D0%B0%D0%9F%D1%80%D0%B8%D 0%BC%D0%B5%D1%80.rar.html в этом исходники управление WASD, shift - вниз, пробел - вверх + мышка Последний раз редактировалось zibert, 27.12.2012 в 22:41. |
#6
|
||||
|
||||
Когда-то ооооооочень давно делал, так что можешь не вникать в этот индусский код, скидываю чисто для показа резульата
Суть сводится к тому что ты свои координаты находишь путем линейной интерполяцией, в двухмерном случае она сводится к тому, что зная координаты концов отрезков, (x1,y1)-(x2,y2) , и какое-то промежуточное значение X, можно найти промежуточное значение Y.. В трехмерном случае ты перемещаешься по некой сетке, и постоянно находишься между 3-мя точками(A,B,C). сначала, находишь промежуточное значение (например AA ) между AB, потом между BC (например BB ) , а потом находишь промежуточное значение между AA и BB. В общем если хочешь действительно разобраться, то разберись с двухмерным случаем, если разберешься, с трехмерным пойдет как по маслу.. Последний раз редактировалось Pilot_Red, 27.12.2012 в 23:16. |