forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   RayCast in Blitz3D (http://forum.boolean.name/showthread.php?t=7758)

ELIAS 02.02.2009 23:53

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)
Всё трясёётся!!!

ABTOMAT 03.02.2009 01:01

Ответ: RayCast in Blitz3D
 
По сабжу: Дак вроде ж есть Pick - чо не катит?

Цитата:

If CountCollisions ( player )=0 then TranslateEntity(player,0,-0.2,0)
Всё трясёётся!!!
дельтатайминг юзаем?
Тогда надо коллизию обновлять по нему
И все манипуляции с коллизящимися объектами выполнять стрго до UpdateWorld

tormoz 03.02.2009 02:05

Ответ: RayCast in Blitz3D
 
RayCast = EntityPick

Уже в 113-ый раз повторю: читайте встроенную справку блитца - там все подробненько расписано и даже примеры имеются

NitE 03.02.2009 08:19

Re: RayCast in Blitz3D
 
http://forum.boolean.name/showthread.php?t=7532


Часовой пояс GMT +4, время: 09:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot