The view angle rotation matrix order in Unreal Engine was incorrect, leading to incorrect camera orientation. This commit fixes the order of rotation matrices to roll, pitch, yaw to correctly implement Unreal Engine camera rotations. Adds comprehensive unit tests for Unreal Engine formulas, camera and constants. Marks Unreal Engine as supported in README.md.
Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research.
👁🗨 Features
- Efficiency: Optimized for performance, ensuring quick computations using AVX2.
- Versatility: Includes a wide array of mathematical functions and algorithms.
- Ease of Use: Simplified interface for convenient integration into various projects.
- Projectile Prediction: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot.
- 3D Projection: No need to find view-projection matrix anymore you can make your own projection pipeline.
- Collision Detection: Production ready code to handle collision detection by using simple interfaces.
- No Additional Dependencies: No additional dependencies need to use OMath except unit test execution
- Ready for meta-programming: Omath use templates for common types like Vectors, Matrixes etc, to handle all types!
Supported Render Pipelines
| ENGINE | SUPPORT |
|---|---|
| Source | ✅YES |
| Unity | ✅YES |
| IWEngine | ✅YES |
| OpenGL | ✅YES |
| Unreal | ✅YES |
Supported Operating Systems
| OS | SUPPORT |
|---|---|
| Windows 10/11 | ✅YES |
| Linux | ✅YES |
| Darwin (MacOS) | ✅YES |
⏬ Installation
Please read our installation guide. If this link doesn't work check out INSTALL.md file.
❔ Usage
ESP example
omath::source_engine::Camera cam{localPlayer.GetCameraOrigin(),
localPlayer.GetAimPunch(),
{1920.f, 1080.f},
localPlayer.GetFieldOfView(),
0.01.f, 30000.f};
for (auto ent: apex_sdk::EntityList::GetAllEntities())
{
const auto bottom = cam.world_to_screen(ent.GetOrigin());
const auto top = cam.world_to_screen(ent.GetBonePosition(8) + omath::Vector3<float>{0, 0, 10});
const auto ent_health = ent.GetHealth();
if (!top || !bottom || ent_health <= 0)
continue;
// esp rendering...
}
Showcase
OMATH for making cheats (click to open)
With omath/projection module you can achieve simple ESP hack for powered by Source/Unreal/Unity engine games, like Apex Legends.
Or for InfinityWard Engine based games. Like Call of Duty Black Ops 2!
Or create simple trigger bot with embeded traceline from omath::collision::LineTrace
Or even advanced projectile aimbot
Watch Video
🫵🏻 Contributing
Contributions to omath are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
📜 License
This project is licensed under the ZLIB - see the LICENSE file for details.
