PureBasic

RayCollide()

Синтаксис

Result = RayCollide(x , y , z , DestinationX , DestinationY , DestinationZ [, CollisionGroup , CollisionMask]])

Описание


Проецирует луч между двумя 3D-точками и проверяет, сталкивается ли луч с Сущностью (Entity). Эта функция использует физический движок, который предварительно необходимо активировать с помощью команды EnableWorldPhysics(). Только Сущности с Телами (Body) будут реагировать на луч.

Позицию точки столкновения, можно получить с помощью PickX(), PickY() и PickZ(). Значения нормалей в точке столкновения, можно получить с помощью NormalX(), NormalY() и NormalZ().

Параметры

x, y, z Координаты первой точки, в единицах 3D-Мира.
DestinationX, DestinationY, DestinationZ Координаты второй точки, в единицах 3D-Мира.
CollisionGroup, CollisionMask (дополн.) Группа столкновений и маска столкновений для Сущностей. Позволяют отфильтровать, какая Сущность может столкнуться с лучом. Группу и маску можно изменить с помощью команды SetEntityCollisionFilter().

Возвращаемое значение

Возвращает Номер Сущности, если луч столкнулся с Сущностью имеющей Тело, нужную маску и группу, в противном случае -1.

См. также

NormalX(), NormalY(), NormalZ(), SetEntityCollisionFilter()

Поддерживаемые OS

Все

<- RayCast() - Engine3D Index - RayPick() ->