一种三维场景中的定位方法及装置制造方法及图纸

技术编号:21226061 阅读:40 留言:0更新日期:2019-05-29 06:49
本申请提供一种三维场景中的定位方法及装置,其中,所述定位方法包括:对目标三维场景生成二维网格矩阵,其中,所述二维网格矩阵包括多个沿竖直平面划分的网格;根据虚拟摄像机在所述目标三维场景中的第一映射点以及鼠标指针在所述目标三维场景中的第二映射点,生成以所述第一映射点为起点且经过第二映射点的射线;根据所述射线在所述二维网格矩阵中的射线投影,得到与射线投影相交的目标网格序列;确定所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点,从而无需像现有技术中遍历所有网格来确定与射线的交点,节省计算开销。

A Location Method and Device in Three-Dimensional Scene

The application provides a positioning method and device in a three-dimensional scene, in which the positioning method includes: generating a two-dimensional mesh matrix for a three-dimensional scene of a target, in which the two-dimensional mesh matrix includes a plurality of meshes divided along a vertical plane; according to the first mapping point of the virtual camera in the three-dimensional scene of the target and the first mouse pointer in the three-dimensional scene of the target. Two mapping points are used to generate rays starting from the first mapping point and passing through the second mapping point; according to the ray projection in the two-dimensional mesh matrix, the target mesh sequence intersecting with the ray projection is obtained; the intersection points of the ray and the target mesh sequence are determined, and the intersection points are used as the locating points of the target image, so that it does not need to be traversed as in the prior art. All grids are used to determine the intersection point with the ray, which saves the computational cost.

【技术实现步骤摘要】
一种三维场景中的定位方法及装置
本申请涉及图像处理
,特别涉及一种三维场景中的定位方法及装置。
技术介绍
在虚拟三维场景中,如果要获得逼真的效果,精确的定位是非常重要的。以3D视频游戏为例,游戏中单位的精确定位(特别是单位的高度位置)对于游戏体验非常重要,若出现定位偏差问题,则游戏画面中会出现技能释放位置的偏差。在高度定位不准确的情况下,会出现角色脚底嵌入地表内或漂浮于空中等问题。现有技术在需要进行高精度定位时,采用点选方法:即通过虚拟摄像机的点与鼠标指针的点确定一条射线,该射线与场景中的地表或物件(这里的物件和地表是游戏术语,共同组成了游戏玩家认知的虚拟世界的地表)会形成交点。现有技术使用遍历法,将射线在地表进行投影与组成地表的所有网格求交,对投影所处的所有网格进行遍历计算,确定射线与地表的交点。该算法由于要遍历大量网格,开销很大,当精度要求高时会出现运算速度跟不上的问题。
技术实现思路
有鉴于此,本申请实施例提供了一种三维场景中的定位方法及装置,以解决现有技术中存在的技术缺陷。本申请实施例公开了一种三维场景中的定位方法,包括:对目标三维场景生成二维网格矩阵,其中,所述二维网格矩本文档来自技高网...

【技术保护点】
1.一种三维场景中的定位方法,其特征在于,包括:对目标三维场景生成二维网格矩阵,其中,所述二维网格矩阵包括多个沿竖直平面划分的网格;根据虚拟摄像机在所述目标三维场景中的第一映射点以及鼠标指针在所述目标三维场景中的第二映射点,生成以所述第一映射点为起点且经过第二映射点的射线;根据所述射线在所述二维网格矩阵中的射线投影,得到与射线投影相交的目标网格序列;确定所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点。

【技术特征摘要】
1.一种三维场景中的定位方法,其特征在于,包括:对目标三维场景生成二维网格矩阵,其中,所述二维网格矩阵包括多个沿竖直平面划分的网格;根据虚拟摄像机在所述目标三维场景中的第一映射点以及鼠标指针在所述目标三维场景中的第二映射点,生成以所述第一映射点为起点且经过第二映射点的射线;根据所述射线在所述二维网格矩阵中的射线投影,得到与射线投影相交的目标网格序列;确定所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点。2.如权利要求1所述的定位方法,其特征在于,根据所述射线在所述二维网格序列中的射线投影,得到与射线投影相交的目标网格序列,包括:a1、将所述第一映射点在所述二维网格矩阵中对应的第一投影点所在的网格作为起始网格,并沿所述射线投影延伸的方向确定目标网格序列的行数n和列数m;其中,m和n均为大于等于1的正整数;a2、判断第i行第j列的网格与所述射线投影有无交点;其中,1≤i≤n,1≤j≤m,且i和j均为正整数;a3、若有交点,则将该网格作为目标网格,并将行数自增1,直至自增后的行数对应有网格,判断自增后的行数i是否大于n,若否,继续执行步骤a2;若是,得到最终的目标网格序列,并结束;a4、若无交点,则将列数自增1且行数自减1,直至自增后的列数对应有网格,判断自增后的列数j是否大于m,若否,继续执行步骤a2;若是,得到最终的目标网格序列,并结束。3.如权利要求1所述的定位方法,其特征在于,确定所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点,包括:b1、判断所述射线与所述目标网格序列中的第k个目标网格所在平面的交点是否在目标网格区域内;其中,k为大于等于1的正整数;b2、若否,则确定所述射线与该目标网格无交点,并继续执行步骤b1;b3、若是,则将所述射线与所述目标网格所在平面的交点作为所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点,结束。4.如权利要求1所述的定位方法,其特征在于,确定所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点,包括:c1、将所述目标网格序列中的第k个目标网格划分为两个面积相同的三角网格,并依次判断所述射线与第k个目标网格对应的其中一个三角网格所在平面的交点是否在该三角网格的区域内;其中,k为大于等于1的正整数;c2、若否,则确定所述射线与该目标网格无交点,并继续执行步骤c1;c3、若是,则将所述射线与第k个目标网格对应的其中一个三角网格所在平面的交点作为所述射线和所述目标网格序列的交点,并将所述交点作为目标图像的定位点,结束。5.如权利要求1或3或4所述的定位方法,其特征在于,所述交点的坐标通过调用预设的图形算法计算求得。6.如权利要求1所述的定位方法,其特征在于,对目标三维场景生成二维网格矩阵,包括:对目标三维场景投影至竖直平面,形成对应的投影区域;对所述投影区域进行网格划分,得到所述二维网格矩阵。7.一种三维场景中的定位装置,其特征在于,所述装置包括:网格矩阵生成模块,用于对目标三维场景生成二维网格矩阵,其中,所述二维网格矩阵包括多个沿竖直平面划分的网格;射线生成模块,用于根据虚拟摄像机在所述目标三维场景中的第一映射点以及鼠标指针在所述目标三维场景中的第...

【专利技术属性】
技术研发人员:张明苏泰梁
申请(专利权)人:珠海金山网络游戏科技有限公司珠海西山居移动游戏科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1