Тема: RayCast in Blitz3D
Показать сообщение отдельно
Старый 02.02.2009, 23:53   #1
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Смех RayCast in Blitz3D

Подскажите, как по-хорошему сделать RayCast в Блитце стандартными коллизиями???
Я говорю про функцию, которая обыкновенно возвращает 1, если заданный отрезок пересёк какой-либо из объектов коллизий, и 0, если отрезок не пересекает(не коллизится) ни с одним из объектов.
Только это это широкое понятие...Мне же нужен частный случай RayCast, а именно надо проверять пересекает ли отрезок проведённый в 3д-пространстве от центра некоторого объекта ВНИЗ на несколько единиц. (Ну думаю нетрудно догадаться что объектом скорее всего будет игрок и мне это нужно чтобы проверять эээ...райкаст...да, это ещё не столкновение )
Ну к примеру создаём функцию

Function RayCast(obj,down)
............
End Function

Аргументов по-моему, больше никаких не надо...хотя я не не уверен)))
Вот, не понимаю как этот отрезок то "провести", цилиндр чтоли создавать...?...


А вообще я этот райкаст выдумываю, потому что не получается у меня нормальные столкновения игрока с миром сделать и чтобы гравитация была, и чтобы СТАНДАРТНЫМИ КОЛЛИЗИЯМИ БЛИТЦА! У меня когда я делаю гравитацию, изображение трясётся немного...но НепрИЯЯтноО!.

Физ.двиги не предлагать, мучался,
и для себя заметил,
они совсем не идеальны,
и чудес обычно не творят,
когда не нужно мячиков, подвесок
да гидравлик разных.

Вот я так нехитро делаю гравитацию:
If CountCollisions ( player )=0 then TranslateEntity(player,0,-0.2,0)
Всё трясёётся!!!

Последний раз редактировалось ELIAS, 03.02.2009 в 00:21.
(Offline)
 
Ответить с цитированием