HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 18.05.2023, 21:57
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

Репутация: 98
По умолчанию

В SAMPFUNCS есть функции для получения столкновений в 3д мире. В общем-то функи работают как надо, за исключением одного. Мне нужно узнать не только точку столкновения, а и нормаль поверхности, с которым это столкновение произошло, чтобы заспавнить на нём объект. В классе CColPoint есть метод getNormal(), но он возвращает какой-то бред.

C++:





Код:
struct
ProcessLineOfSightColData
{
bool
clear
;
CColPoint
*
colCollision
;
CEntity
*
collisionEntity
;
SLineOfSightFlags flags
;
SLineOfSightBuildingResult buildingResult
;
}
;
ProcessLineOfSightColData DevKit
::
ProcessLineOfSight
(
CVector vecStart
,
CVector vecEnd
,
bool
bCheckBuildings
,
bool
bCheckVehicles
,
bool
bCheckPeds
,
bool
bCheckObjects
,
bool
bCheckDummies
,
bool
bSeeThroughStuff
,
bool
bIgnoreSomeObjectsForCamera
)
{
ProcessLineOfSightColData colData
;
colData
.
flags
.
bCheckBuildings
=
bCheckBuildings
;
colData
.
flags
.
bCheckVehicles
=
bCheckVehicles
;
colData
.
flags
.
bCheckPeds
=
bCheckPeds
;
colData
.
flags
.
bCheckObjects
=
bCheckObjects
;
colData
.
flags
.
bCheckDummies
=
bCheckDummies
;
colData
.
flags
.
bSeeThroughStuff
=
bSeeThroughStuff
;
colData
.
flags
.
bIgnoreSomeObjectsForCamera
=
bIgnoreSomeObjectsForCamera
;
colData
.
clear
=
GAME
->
GetWorld
(
)
->
ProcessLineOfSight
(
&
vecStart
,
&
vecEnd
,
&
colData
.
colCollision
,
&
colData
.
collisionEntity
,
colData
.
flags
,
&
colData
.
buildingResult
)
;
return
colData
;
}
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.