![]() |
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) Всё трясёётся!!! |
Ответ: RayCast in Blitz3D
По сабжу: Дак вроде ж есть Pick - чо не катит?
Цитата:
Тогда надо коллизию обновлять по нему И все манипуляции с коллизящимися объектами выполнять стрго до UpdateWorld |
Ответ: RayCast in Blitz3D
RayCast = EntityPick
Уже в 113-ый раз повторю: читайте встроенную справку блитца - там все подробненько расписано и даже примеры имеются |
Re: RayCast in Blitz3D
|
Часовой пояс GMT +4, время: 09:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot