LOL世界坐标转化屏幕坐标
我在研究LOL人物坐标转化到屏幕,已经找到人物的指针和坐标偏移,现在卡在如何转化的屏幕的坐标,右键查看访问人物X坐标的代码,太多了不知道哪条才是大佬们有什么好的思路和方法吗,1E0是X坐标的偏移好像需要矩阵 我怎么感觉.LOL像放大、缩小、移动这类. https://blog.csdn.net/yatsov/article/details/79808401
这个像不..地图里面就是一个平面没有高度.严格来说不像3D. 你没矩阵怎么转换呢,矩阵找到然后转换 2D坐标就好了{:5_193:} .版本 2
.子程序 WorldToScreen算法, 坐标2D
.参数 对象坐标, D3DXVECTOR3
.局部变量 View矩阵, 小数型, , "4,4"
.局部变量 Projection矩阵, 小数型, , "4,4"
.局部变量 游戏矩阵, 小数型, , "4,4"
.局部变量 屏幕坐标, 坐标3D
.局部变量 计算坐标, 坐标3D
.局部变量 返回坐标, 坐标2D
.局部变量 TMP, 整数型
.局部变量 屏幕大小, 坐标2D
读矩阵 (Get_pView (), View矩阵)
读矩阵 (Get_pProjection (), Projection矩阵)
矩阵相乘 (View矩阵, Projection矩阵, 游戏矩阵)
TMP = 读整数型 (D3D基址)
屏幕大小.x = 读整数型 (TMP + 24)
屏幕大小.y = 读整数型 (TMP + 28)
屏幕坐标.x = 对象坐标.x × 游戏矩阵 + 对象坐标.y × 游戏矩阵 + 对象坐标.z × 游戏矩阵 + 游戏矩阵
屏幕坐标.y = 对象坐标.x × 游戏矩阵 + 对象坐标.y × 游戏矩阵 + 对象坐标.z × 游戏矩阵 + 游戏矩阵
屏幕坐标.z = 对象坐标.x × 游戏矩阵 + 对象坐标.y × 游戏矩阵 + 对象坐标.z × 游戏矩阵 + 游戏矩阵
屏幕坐标.w = 对象坐标.x × 游戏矩阵 + 对象坐标.y × 游戏矩阵 + 对象坐标.z × 游戏矩阵 + 游戏矩阵
.如果真 (屏幕坐标.z < 0.01)
返回 (返回坐标)
.如果真结束
计算坐标.x = 屏幕坐标.x ÷ 屏幕坐标.w
计算坐标.y = 屏幕坐标.y ÷ 屏幕坐标.w
计算坐标.z = 屏幕坐标.z ÷ 屏幕坐标.w
返回坐标.x = 屏幕大小.x ÷ 2 × 计算坐标.x + 计算坐标.x + 屏幕大小.x ÷ 2
返回坐标.y = -(屏幕大小.y ÷ 2 × 计算坐标.y) + 计算坐标.y + 屏幕大小.y ÷ 2
返回 (返回坐标)
枫色~幻想 发表于 2019-7-6 11:57
你没矩阵怎么转换呢,矩阵找到然后转换 2D坐标就好了
关键是不知道怎么找矩阵啊,大佬指点一二 llkbkh1 发表于 2019-7-6 15:18
.版本 2
.子程序 WorldToScreen算法, 坐标2D
大佬
读矩阵 (Get_pView (), View矩阵)
读矩阵 (Get_pProjection (), Projection矩阵)
矩阵相乘 (View矩阵, Projection矩阵, 游戏矩阵)
TMP = 读整数型 (D3D基址)
读矩阵这个是什么API命令,百度也没查到
get pview和getpprojection百度也没查到是什么
最后一个疑问D3D基址指的是D3D9模块在游戏内的首地址吗
页:
[1]