Перейти к содержанию

Как быстро найти ViewMatrix?


Рекомендуемые сообщения

Как быстро найти ViewMatrix, не стандартным способом? 
Есть 3 способа, через координаты персонажа и угол обзора, и совмещая 2 способа.
 

1. ViewMatrix выгледит так(в низ), для нашего примера надо подставить координаты в 04 14 24 (для OpenGL 31 32 33) и должно получится так "f:? f:? f:? f:04 f:? f:? f:? f:14 f:? f:? f:? f:24 f:? f:? f:? f:?" (для OpenGL "f:31 f:32 f:33 f:?") в CheatEngine выставляем в "тип значений" "Группой" вставляем в "значение" что получаем и ищем(иногда не находит, надо повторить).
Значения с 01 02 03 11 12 13 21 22 23 должны содержать тип float от -1.0 до 1.0.

 01 02 03 04
 11 12 13 14
 21 22 23 24
 31 32 33 34

2. Угол обзора выглядит как 3 перемены с типом float, иногда 4 байта, значениями обычно от -90 до 90, от 0 до 360.
 Для этого способа нам нужно Углы Эйлера(поиск Euler angles, AngleVectors), псевдо код выглядит так

Скрытый текст

angle = angles[YAW] * (M_PI*2 / 360)
sy = Sin(angle)
cy = Cos(angle)
angle = angles[PITCH] * (M_PI*2 / 360)
sp = Sin(angle)
cp = Cos(angle)
angle = angles[ROLL] * (M_PI*2 / 360)
sr = Sin(angle)
cr = Cos(angle)

forward0 = cp*cy
forward1 = cp*sy
forward2 = -sp

right0 = (-1*sr*sp*cy+-1*cr*-sy)
right1 = (-1*sr*sp*sy+-1*cr*cy)
right2 = -1*sr*cp;

up0 = (cr*sp*cy+-sr*-sy)
up1 = (cr*sp*sy+-sr*cy)
up2 = cr*cp    

 

 

Подставляем значения, чтоб получилось так "f:forward0 f:forward1 f:forward2 f:? f:right0 f:right1 f:right2 f:? f:up0 f:up1 f:up2 f:?"
в CheatEngine выставляем в "тип значений" "Группой" вставляем в "значение" что получилось и ищем, отсеваем.
Для OpenGL нужно другой код, который я не нашел и не разобрался.

P.S. c 2 способом могут быть проблемы, разберусь отпишу.

 

3. Совмещаем 1 и 2 способ.

 

 

 

 

 

 

 

 

 

 

  • Плюс 3
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, 2zolo2 сказал:

-90 до 90

-89 и 89 в играх от 1 лица по х и у, z всегда равно 0, больше 89 не сделать т.к происходит нормализация угла, чтобы твою камеру не ломало как наркомана.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, kotering сказал:

Мне вот интересно, в каких ситуациях возможно применять групповое сканирование.

При условии, что значения находятся рядом типа хп и максимальное хп, координат, ресурсы и старые ресурсы(если в игре идут расчеты), характеристики и т.д главное, чтобы рядом были значения с шагом размера типа значения которое ищешь..

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, kotering сказал:

а как определить тип размера

2 галочки ставь и CE все сделает за тебя, а размер блока памяти возможно чтобы ускорить сканирование память разбивается на участки это лучше в документации почитать.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.