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

  #1  
Старый 06.12.2022, 00:22
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Добрый день/вечер/ночь. 💤

Подскажите функцию или формулы.

Пишу External софт esp.

Задача получить экранные координаты обьекта из 3д мира не разу подобное не делал с 3д, только радар.

Не как не пойму, есть позиция x, y, z врага, позиция игрока x, y, z и угол поворота камеры x, z и можно fov найти. В планах рисовать к примеру квадрат на враге.

Подскажите пожалуйста. 🤔
 
Ответить с цитированием

  #2  
Старый 06.12.2022, 00:49
teresen
Новичок
Регистрация: 05.05.2022
Сообщений: 29
С нами: 2119359

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

Код:





Код:
Screen_X = (World_X - Player_X) / (angle_X * FOV) + (screen_width/2)

Screen_Y = (World_Y - Player_Y) / (angle_Z * FOV) + (screen_height/2)


Здесь World_X, World_Y - это координаты объекта в 3D-мире, Player_X, Player_Y - координаты игрока в 3D-мире, angle_X, angle_Z - угол поворота камеры, FOV - угол обзора, screen_width, screen_height - ширина и высота экрана.

P.S.

Если нужно подробнее, пишите. Не знаю ваш уровень
 
Ответить с цитированием

  #3  
Старый 09.12.2022, 01:16
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Цитата:
Сообщение от teresen  

Код:





Код:
Screen_X = (World_X - Player_X) / (angle_X * FOV) + (screen_width/2)

Screen_Y = (World_Y - Player_Y) / (angle_Z * FOV) + (screen_height/2)


Здесь World_X, World_Y - это координаты объекта в 3D-мире, Player_X, Player_Y - координаты игрока в 3D-мире, angle_X, angle_Z - угол поворота камеры, FOV - угол обзора, screen_width, screen_height - ширина и высота экрана.
P.S.
Если нужно подробнее, пишите. Не знаю ваш уровень
Cпасибо , позже проверю . Если что отпишу .
 
Ответить с цитированием

  #4  
Старый 09.12.2022, 19:39
F0RQU1N and
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами: 4012500

Репутация: 138


По умолчанию

Цитата:
Сообщение от Gafask  

Добрый день/вечер/ночь. 💤

Подскажите функцию или формулы.

Пишу External софт esp.

Задача получить экранные координаты обьекта из 3д мира не разу подобное не делал с 3д, только радар.

Не как не пойму, есть позиция x, y, z врага, позиция игрока x, y, z и угол поворота камеры x, z и можно fov найти. В планах рисовать к примеру квадрат на враге.

Подскажите пожалуйста. 🤔

McDota/src/Utils/Draw.cpp at master · LWSS/McDota

Dota 2 Linux Cheat. Contribute to LWSS/McDota development by creating an account on GitHub.

github.com


ток тебе нужно матрицу игры найти
 
Ответить с цитированием

  #5  
Старый 12.12.2022, 03:01
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Цитата:
Сообщение от F0RQU1N and  

McDota/src/Utils/Draw.cpp at master · LWSS/McDota

Dota 2 Linux Cheat. Contribute to LWSS/McDota development by creating an account on GitHub.

github.com


ток тебе нужно матрицу игры найти
Если под матрицей вы имеете ввиду x y z игрока то она есть. А если нет то что то я не понимаю что такое матрица .
 
Ответить с цитированием

  #6  
Старый 27.12.2022, 11:14
horacy
Участник форума
Регистрация: 16.08.2017
Сообщений: 110
С нами: 4600979

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

Цитата:
Сообщение от Gafask  

Добрый день/вечер/ночь. 💤

Подскажите функцию или формулы.

Пишу External софт esp.

Задача получить экранные координаты обьекта из 3д мира не разу подобное не делал с 3д, только радар.

Не как не пойму, есть позиция x, y, z врага, позиция игрока x, y, z и угол поворота камеры x, z и можно fov найти. В планах рисовать к примеру квадрат на враге.

Подскажите пожалуйста. 🤔

Функция от s0beit, добавляем ее в прокси IDirect3DDevice9.cpp

C++:





Код:
if
(
gta_menu_active
(
)
)
return
;
if
(
cheat_state
->
_generic
.
cheat_panic_enabled
)
return
;
if
(
!
g_dwSAMP_Addr
||
!
g_SAMP
||
!
g_Players
)
return
;
if
(
!
pGameInterface
)
return
;
if
(
isBadPtr_GTA_pPed
(
pPedSelf
)
)
return
;
actor_info
*
player
=
getGTAPedFromSAMPPlayerID
(
id
)
;
actor_info
*
me
=
actor_info_get
(
ACTOR_SELF
,
NULL
)
;
if
(
!
player
)
return
;
CPed
*
pPed
=
pGameInterface
->
GetPools
(
)
->
GetPed
(
(
DWORD
*
)
player
)
;
if
(
!
pPed
)
return
;
float
max_up_val
=
0
,
max_down_val
=
0
,
max_left_val
=
0
,
max_right_val
=
0
;
bool
invalid
=
false
;
for
(
int
bone_id
=
BONE_PELVIS1
;
bone_id
=
BONE_PELVIS1
&&
bone_id
=
BONE_RIGHTUPPERTORSO
&&
bone_id
=
BONE_LEFTUPPERTORSO
&&
bone_id
=
BONE_LEFTHIP
&&
bone_id
=
BONE_RIGHTHIP
&&
bone_id

GetBonePosition
(
(
eBone
)
bone_id
,
&
bone
)
;
D3DXVECTOR3 bone_pos
;
bone_pos
.
x
=
bone
.
fX
;
bone_pos
.
y
=
bone
.
fY
;
bone_pos
.
z
=
bone
.
fZ
;
D3DXVECTOR3 bone_screen_pos
;
CalcScreenCoors
(
&
bone_pos
,
&
bone_screen_pos
)
;
if
(
bone_screen_pos
.
z

max_up_val
)
max_up_val
=
bone_screen_pos
.
y
;
if
(
bone_screen_pos
.
y

max_right_val
)
max_right_val
=
bone_screen_pos
.
x
;
if
(
bone_screen_pos
.
x

D3DBoxBorder
(
max_left_val
,
max_down_val
,
widht_box
,
height_box
,
D3DCOLOR_RGBA
(
0
,
255
,
0
,
255
)
,
0
)
;
}
}
 
Ответить с цитированием

  #7  
Старый 03.02.2023, 14:00
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Цитата:
Сообщение от teresen  

Код:





Код:
Screen_X = (World_X - Player_X) / (angle_X * FOV) + (screen_width/2)

Screen_Y = (World_Y - Player_Y) / (angle_Z * FOV) + (screen_height/2)


Здесь World_X, World_Y - это координаты объекта в 3D-мире, Player_X, Player_Y - координаты игрока в 3D-мире, angle_X, angle_Z - угол поворота камеры, FOV - угол обзора, screen_width, screen_height - ширина и высота экрана.
P.S.
Если нужно подробнее, пишите. Не знаю ваш уровень
Привет👋 , появилось несколько вопросов . angle_X = значение должно быть от 0.0f до 360.0f ? angle_Z(Y) = значение тут должно быть от 0 до 90 или от -90 до 90,центр 0 . По поводу FOV , FOV я так понял по стандарту в играх 90 , если не ошибаюсь FOV это угол обзора игрока он обычно о 0 до 360 🙄 ?

screen_width, screen_height - ширина и высота экрана, если окно в маленьком размере то я по логике могу же записывать в нее размер окна вместо размера экрана ? Где-то я читал что для еще нужно указывать позицию камеры в игровом мире , ну грубо говоря ее координаты .
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.