Получение нормали из ProcessLineOfSight()

Ya Zaregalsya

Известный
Автор темы
370
127
В 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;
    }
 
Последнее редактирование:
  • Вау
Реакции: why ega