Вопрос Unity viewmatrix для рисования esp

Новичок
Статус
Оффлайн
Регистрация
12 Мар 2024
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Здравствуйте, работаю над игрой pixel gun 3d, дошел до написания esp(впервые работаю с игрой на юнити), я делаю экстернал и я хотел бы узнать как сделать это правильно(пример интернал чита):
Код:
 if (player == nullptr || Hooks::our_player == nullptr) return;
            Unity::CTransform* transform = (Unity::CTransform*)Hooks::get_player_transform(player);
            Unity::Vector3 position;

            const int height = window_size_esp.bottom - window_size_esp.top;

            if (transform == nullptr)
            {
                // Logger::log_warn("Unity::CTransform* transform ptr was nullptr during player_list loop!");
                return;
            }
            
            Functions::TransformGetPosition(transform, &position);
            Unity::Vector3 top_world = {
                position.x,
                position.y + 2,
                position.z
            };
        
            Unity::Vector3 screen_pos;
            Unity::Vector3 screen_top;
            
            if (Hooks::main_camera == nullptr)
            {
                return;
            }
            
            Functions::CameraWorldToScreen(Hooks::main_camera, &position, &screen_pos);
            Functions::CameraWorldToScreen(Hooks::main_camera, &top_world, &screen_top);
            
            if (screen_pos.z < 0) return;
            if (!is_on_screen_esp(screen_pos)) return;
            float scaled_dist = screen_pos.y - screen_top.y;

            float width2 = scaled_dist / 2;
            float height2 = scaled_dist * 1.5f / 2;
            
            //координаты игрока для рисования esp
            screen_pos = {screen_pos.x, (float)height - screen_pos.y, screen_pos.z};
я просто не совсем понимаю как написать аналог Functions::CameraWorldToScreen(я так понимаю что первый параметр это viewmatrix, второй это координаты противника, а третий это преобразованные значения)
 
Сверху Снизу