CN108888954A - 一种拾取坐标的方法、装置、设备及存储介质 - Google Patents
一种拾取坐标的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108888954A CN108888954A CN201810639084.1A CN201810639084A CN108888954A CN 108888954 A CN108888954 A CN 108888954A CN 201810639084 A CN201810639084 A CN 201810639084A CN 108888954 A CN108888954 A CN 108888954A
- Authority
- CN
- China
- Prior art keywords
- camera
- pickup
- world coordinates
- coordinate
- picking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种拾取坐标的方法、装置、设备及存储介质,所述方法包括:获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;通过读取所述颜色参数拾取到所述世界坐标。本发明实现方式简单,性能稳定;本发明实现过程高效,能够快速拾取坐标。
Description
技术领域
本发明涉及游戏工具开发技术领域,尤其涉及一种拾取坐标的方法、装置、设备及存储介质。
背景技术
在游戏界面上的地形编辑过程中需要实时获取画刷在地形上的投影位置,对画刷范围内的顶点进行实时编辑,如拉高、降低、平滑等操作。这些操作又会造成地形的实时变化,因此如何高效率的拾取画刷坐标对地形编辑的体验尤为重要。
目前常见的坐标拾取方案有基于物理的射线检测、基于八叉树的拾取算法等方案;由于地形编辑过程中地形是在不断变化的,需要不停地重建物理或者是八叉树结构,当地形较大的时候会造成明显的卡顿。
发明内容
为了解决现有技术中的问题,本发明提供了一种拾取坐标的方法、装置、设备及存储介质,具体地:
一方面提供了一种拾取坐标的方法,所述方法包括:
获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
通过读取所述颜色参数拾取到所述世界坐标。
另一方面提供了一种拾取坐标的装置,所述装置包括:
拾取相机获取模块,用于获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
原生相机射线获取模块,用于获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
拾取相机射线获取模块,用于将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
世界坐标渲染模块,用于根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
世界坐标拾取模块,用于通过读取所述颜色参数拾取到所述世界坐标。
另一方面提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的拾取坐标的方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集处理器加载并执行以实现如上述方面所述的拾取坐标的方法。
本发明提供的一种拾取坐标的方法、装置、设备及存储介质,具有的有益效果为:
本发明根据自定义的替换着色器对拾取相机进行相应功能的配置,根据原生相机的射线信息对所述拾取相机所属的射线进行对应的调整;使得所述拾取相机拍摄输出时,能够将世界坐标渲染到对应的颜色参数中,进而输出到渲染纹理上,从而在读取渲染纹理上的该颜色参数时,就能够拾取到对应的世界坐标;本发明实现方式简单,性能稳定;本发明实现过程高效,能够快速拾取坐标。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的实施环境的示意图;
图2是本发明实施例提供了一种拾取坐标的方法流程图;
图3是本发明实施例提供的对所述拾取相机进行参数配置的配置页面;
图4是本发明实施例提供的对所述拾取相机的纹理类型进行配置的配置页面;
图5是相机模型中四个平面坐标系之间的关系示意图;
图6是世界坐标与图像坐标的转换关系示意图;
图7本发明实施例提供的根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染到所述屏幕坐标对应的颜色参数步骤的方法流程图;
图8是本发明实施例提供的通过读取所述颜色参数拾取到所述世界坐标步骤的方法流程图;
图9是本发明实施例提供的一种拾取坐标的装置结构示意图;
图10是本发明实施例提供的世界坐标渲染模块的组成结构图;
图11是本发明实施例提供的世界坐标拾取模块的组成结构图;
图12是本发明实施例提供的一种用于拾取坐标的设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有方案中,基于物理的射线检测方案,通过给地形网格挂一个MeshCollider组件,使用Physics.Raycast得到射线与MeshCollider的交点坐标;此方案具有较大性能问题,具体是当修改地形网格时造成MeshCollider重建产生巨大耗时;并且,方案需要启用物理引擎,有局限性。基于八叉树的拾取算法,通过拆分地形网格,构造八叉树数据结构,进一步遍历八叉树判断节点是否与射线相交;若相交再遍历节点内的三角形,得到相交的三角形;但是,此方案需要维护八叉树,实现难度较高。还有,不停地重建物理或者是八叉树结构,地形较大时会使游戏界面出现明显的卡顿,影响用户感受。
本发明提出了一种基于将世界坐标渲染到浮点纹理的技术方案实现快速拾取坐标;性能稳定且易于实现。
如图1所示,其示出了本说明书实施例提供的实施环境的示意图。该实施环境包括:服务器02和与该服务器02进行信息通信的终端01。
终端01可以为手机、平板电脑、膝上型便携获取机、PAD或台式获取机等等。终端01中运行有客户端,该客户端可以是任何具有虚拟资源或信息数据收发功能的客户端;例如,终端01中运行的客户端可以是任何游戏客户端、专用于收发虚拟资源的客户端等等。服务器02可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云获取服务中心。服务器02通过网络与终端01建立通信连接。具体地,比如终端上的游戏客户端,客户端向服务器发送模型获取请求,服务器根据请求返回对应的模型物体参数,从而使得客户端界面上显示出相应的模型物体。
需要说明的是,本说明书实施例主要是基于Unity3D引擎用于拾取世界坐标的技术方案。其中,Unity3D引擎一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
原生相机:在游戏客户端中用于观察游戏世界用的相机,它的输出目标是屏幕。
拾取相机,本方案中为实现拾取功能新增的一个相机,它的输出目标是一个纹理;其中所述纹理,表示物体表面细节的一幅或几幅二维图形,也称纹理贴图;当把纹理按照特定的方式映射到物体表面上的时候能使物体看上去更加真实。
ReplacementShader(替换着色器)是Unity提供的一种技术,它允许开发者提供自定义的着色器来替换原有的着色器,比如本实施例中的自定义替换着色器。
World Space(世界坐标):在场景(游戏客户端界面)中添加物体(如:Cube),添加的物体都是以世界坐标显示在场景中的;通过transform.position可以获得该位置坐标。
Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。其中,鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕坐标。另外,屏幕坐标和相机的关系为:
Screen.width=Camera.pixelWidth
Screen.height=Camera.pixelHeigth。
具体地,本说明书实施例提供了一种拾取坐标的方法,如图2所示,所述方法包括:
S202.获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
具体地,开发人员利用着色语言编写出自定义的着色器程序,得到自定义替换着色器,能够替换原生着色器,以用于实现将世界坐标渲染到颜色参数输出。
对应地,通过开发人员基于Unity3D引擎进行编写得到用于将世界坐标渲染到颜色参数输出的替换着色器;进一步地,在原生相机的基础上配置一个拾取相机,所述拾取相机为专用的相机,具有与所述替换着色器的功能对应的配置参数,能够调用所述替换着色器,对所述世界坐标进行渲染输出。
详细地,所述拾取相机的配置参数,至少包括:
对所述拾取相机投影模式配置得到的正交模式;
在所述正交模式下,对所述拾取相机的视口大小设置得到的视口参数;
对所述拾取相机输出视图的纹理类型设置得到的渲染纹理类型;具体地,对所述渲染纹理类型下,对所述拾取相机输出视图的纹理格式设置得到的浮点型纹理格式;所述拾取相机输出视图的纹理格式与所述替换着色器的输出数据相对应。
如图3-4所示,图3中的Projecion为拾取相机的投影,将所述拾取相机的投影模块切换为Orthographic正交模式;图3中,Size为所述拾取相机在已设置的正交模式下,所述拾取相机的视口的大小;一般标准单位下一个单位表示100像素,本实施例中设置为0.0001单位;其中需要说明的是,利用所述拾取相机进行世界坐标的拾取时,只需要拾取对应的一个点就可以,所以,用于进行拾取的拾取相机的视口尽量要小,以避免不必要的性能浪费;图3中,TargetTexture为所述拾取相机的视图输出的目标纹理类型。
进一步地,图4给出了对所述TargetTexture的渲染纹理RenderTextrue详细设置,将ColorFormat存储格式设置为精度较高的ARGB Float格式;因为本实施例中将世界坐标渲染到颜色参数中进行存储,其中世界坐标为浮点型的存储方式,所以,将拾取相机中的ColorFormat设置为精度较高的ARGB Float格式,以用于存储世界坐标。
S204.获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
具体地,开发人员通过鼠标点击操作或是触屏操作,使得对应的游戏客户端获取对应的屏幕坐标,进一步地,就具有了以本地的原生相机为起点发出的一条射线,其中该射线经过所述屏幕坐标。
比如,通过按下鼠标的方式,根据鼠标对应的屏幕坐标就获得一条从相机发射经过鼠标位置的射线:
Rayray=sceneViewCamera.ScreenPointToRay(Input.mousePosition)。
S206.将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
具体地,对所述拾取相机进行调整,将所述拾取相机与所述原生相机具有一致的射线。需要说明的是,如果对所述拾取相机不做这种处理的话,所述拾取相机拍摄到的将会是这个屏幕坐标对应的颜色值,而不能获取到所述屏幕坐标对应的世界坐标。还有,游戏客户端的3D世界中,所有的模型物体都是由三角形组成的,所以对应地,通过将所述拾取相机调整为与所述原生相机具有一致的射线,使得所述拾取相机的射线穿过物体(也就是说射线与世界中某个三角形相交的交点)的交点坐标,就是所述屏幕坐标对应的世界坐标;其中,所述拾取相机拾取的点,就是该射线与对应三角形的交点。
详细地,根据图5-6对所述屏幕坐标与所述世界坐标的关系给与说明:
如图5中,相机模型中涉及到四个平面坐标系:
Ow-Xw,Yw,Zw:世界坐标系,描述相机位置,单位m;
Oc--Xc,Yc,Zc:相机坐标系,光点为圆点,单位m;
O--x,y:图像坐标系,光点为图像中点,单位mm;
u,v:像素坐标系,原点为图像左上角,单位pixel;
P:世界坐标系中的一点,即为生活中真实的一点;
点P在图像中的成像点,在图像坐标系中的坐标为(x,y),在像素坐标系中的坐标为(u,v);
相机焦距,等于O与Oc的距离,f=||O-Oc||。
如图6所示,世界坐标经过刚体变换得到相机坐标,相机坐标通过透视投影得到图像坐标(x,y),进一步经过离散化得到图像坐标(u,v)。
其中,相机坐标系,是以小孔的相机模型的聚焦中心为原点,以相机光轴为ZC轴建立的三维直角坐标系;X,Y一般与图像物理坐标系的XF、YF平行,且采取前投影模型。图像坐标系,是分为图像像素坐标系和图像物理坐标系;一个单位是像素,一个单位是毫米。
比如:其中根据刚体变换关系透视投影关系离散化关系(其中的ku=x/dx,kv=y/dy)得到:
进而得到世界坐标与图像坐标(屏幕坐标)之间的整体关系矩阵所以,在有了屏幕坐标的情况下,也就会有对应的世界坐标。
S208.根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
一种具体的实施方式中,所述根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数,如图7所示,包括:
S402.根据所述拾取相机的浮点型纹理格式,调用所述自定义替换着色器;
具体地,在拾取相机利用其配置的参数拍摄图片时,拾取相机根据配置的目标纹理能够调取自定义替换着色器,进行世界坐标的渲染输出。
详细地,自定义替换着色器ReplacementShader通过如下代码进行实现:
具体地,上述代码包含顶点着色器函数vert和片段着色器(颜色着色器)函数frag;
其中,1、Unity3D引擎会将模型的顶点数据(appdata中的vertex)传给shader(CameraRayCaster);
2、通过v2fvert(appdata v)将untiy3D引擎传入的顶点数据转换到世界坐标系;
3、通过float4frag(v2fi):SV_Target将步骤2中的结果储存下来。
也就是说,模型的顶点数据,经过CameraRayCaster计算出世界坐标,最终将世界坐标储存下来。
需要给与说明的是,所述拾取相机在拍摄时输出的是一个锥形体视口,在这个锥形体范围内的三角形会进入到上述着色器的渲染流程中;其中,所述拾取相机的射线会与锥形体内的多个三角形具有交点,距离最近(深度最浅)的交点就是我们需要拾取的世界坐标对应的点;该交点所在的三角形被渲染处理时,所述三角形的三个顶点均通过线性差值的方式利用顶点着色器函数进行过渡处理;在将三角形映射到屏幕上时会对应出很多像素点(比如1万个像素),这些像素点也是通过线性差值的方式利用片段着色器函数进行依次处理,从而使得所述世界坐标作为颜色参数输出。
进一步给与说明的是,替换着色器并不局限于上述代码,也可以是能够实现相同功能的其他代码或是算法。
S404.获取所述屏幕坐标对应的颜色参数,并根据所述替换着色器将所述世界坐标渲染为所述颜色参数。
具体地,因为每个屏幕坐标在客户端界面上都具有对应的颜色参数,并且,依据上述屏幕坐标与世界坐标的对应关系可以看出,每个屏幕坐标也都具有对应的世界坐标。
所以,对应地,本实施例从屏幕上提取出所述屏幕坐标对应的颜色参数;进一步利用上述替换着色器代码中具有的功能将所述屏幕坐标对应的世界坐标渲染到对应的颜色参数中。其中,将世界坐标渲染到颜色参数中,也就是说,将世界坐标作为颜色参数进行输出。
需要给与说明的是,3D世界里的物体都是用三角形来描述的,三角形的三个点就是顶点;其中,所述顶点包含位置、法线、颜色、纹理坐标(uv信息)等;所以对应地,本实施例中将世界坐标渲染到颜色参数中进行输出,具体是将对应的顶点的世界坐标作为颜色参数输出。
S210.通过读取所述颜色参数拾取到所述世界坐标。
作为一种具体的实施方式,所述通过读取所述颜色参数拾取到所述世界坐标,如图8所示,包括:
S602.将渲染为世界坐标的颜色参数输出到本地的渲染纹理上;
S604.通过读取所述渲染纹理上的颜色参数,拾取到所述世界坐标的坐标参数。
具体地,将渲染有世界坐标的颜色参数最终会写入到拾取相机的RenderTextrue渲染纹理;也就是说,世界坐标可输出的xyz值附到RenderTexture渲染纹理上。其中,要存储精度很高的世界坐标,所以RenderTexture的格式设置为ARGB浮点型格式;通过读取RenderTexture上的颜色值就能够获取到世界坐标的坐标值。
本说明书实施例在获取到一个屏幕坐标后,利用自定义的替换着色器,将世界坐标渲染到颜色参数中输出,通过将渲染有颜色参数的世界坐标写入到拾取相机的RenderTexture中,在RenderTextur中读取颜色参数时,就是取到所述屏幕坐标对应的世界坐标;实现方式简单,性能稳定;实现过程高效,能够快速拾取坐标;进一步地,应用本发明,则在基于Unity3D引擎的游戏客户端界面上,用户通过触摸或鼠标在二维屏幕对虚拟3D世界中的物体进行操控时,能够帮助用户准确高效的完成虚体物体的选取;提升用户的体验,从而提升了对应游戏客户端的用户粘度。
本说明书实施例还提供了一种拾取坐标的装置,如图9所示,所述装置包括:
拾取相机获取模块202,用于获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
原生相机射线获取模块204,用于获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
拾取相机射线获取模块206,用于将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
世界坐标渲染模块208,用于根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
世界坐标拾取模块210,用于通过读取所述颜色参数拾取到所述世界坐标。
进一步地,所述拾取相机的配置参数,至少包括:
对所述拾取相机投影模式配置得到的正交模式;
在所述正交模式下,对所述拾取相机的视口大小设置得到的视口参数;
对所述拾取相机输出视图的纹理格式设置得到的浮点型纹理格式;所述拾取相机输出视图的纹理格式与所述替换着色器的输出数据相对应。
进一步地,所述世界坐标渲染模块208,如图10所示,包括:
替换着色器调用单元402,用于根据所述拾取相机的浮点型纹理格式,调用所述自定义替换着色器;
世界坐标渲染单元404,用于获取所述屏幕坐标对应的颜色参数,并根据所述替换着色器将所述世界坐标渲染为所述颜色参数。
进一步地,所述世界坐标拾取模块210,如图11所示,包括:
颜色参数输出单元602,用于将渲染为世界坐标的颜色参数输出到本地的渲染纹理上;
世界坐标拾取单元604,用于通过读取所述渲染纹理上的颜色参数,拾取到所述世界坐标的坐标参数。
进一步地,所述浮点型纹理格式为ARGB浮点型格式。
需要说明的是,装置实施例具有与方法实施例相同的发明构思。
本说明书实施例提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例任一所述的拾取坐标的方法。
具体地,本说明书实施例还提供了一种用于拾取坐标的设备的结构示意图,如图12所示,该设备可以用于实施上述实施例中提供的拾取坐标的方法。具体来讲:
所述设备可以包括RF(Radio Frequency,射频)电路810、包括有一个或一个以上计算机可读存储介质的存储器820、输入单元830、显示单元840、传感器850、音频电路860、WiFi(wireless fidelity,无线保真)模块870、包括有一个或者一个以上处理核心的处理器880、以及电源890等部件。本领域技术人员可以理解,图12中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器880处理;另外,将涉及上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System ofMobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband CodeDivisionMultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器820还可以包括存储器控制器,以提供处理器880和输入单元830对存储器820的访问。
输入单元830可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元830可包括触敏表面831以及其他输入设备832。触敏表面831,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面831上或在触敏表面831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面831。除了触敏表面831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及所述设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元840可包括显示面板841,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板841。进一步的,触敏表面831可覆盖显示面板841,当触敏表面831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。其中,触敏表面831与显示面板841可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面831与显示面板841集成而实现输入和输出功能。
所述设备还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在所述设备移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与所述设备之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一设备,或者将音频数据输出至存储器820以便进一步处理。音频电路860还可能包括耳塞插孔,以提供外设耳机与所述设备的通信。
WiFi属于短距离无线传输技术,所述设备通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块870,但是可以理解的是,其并不属于所述设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是所述设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行所述设备的各种功能和处理数据,从而对设备进行整体监控。可选的,处理器880可包括一个或多个处理核心;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
所述设备还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源890还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,设备的显示单元是触摸屏显示器,设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行本发明中方法实施例中的指令。
本说明书实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例任一所述的拾取坐标的方法;具体地,可以包括:
获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
通过读取所述颜色参数拾取到所述世界坐标。
其中,所述拾取相机的配置参数,至少包括:
对所述拾取相机投影模式配置得到的正交模式;
在所述正交模式下,对所述拾取相机的视口大小设置得到的视口参数;
对所述拾取相机输出视图的纹理格式设置得到的浮点型纹理格式;所述拾取相机输出视图的纹理格式与所述替换着色器的输出数据相对应。
一种具体的方式中,所述根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数,包括:
根据所述拾取相机的浮点型纹理格式,调用所述自定义替换着色器;
获取所述屏幕坐标对应的颜色参数,并根据所述替换着色器将所述世界坐标渲染为所述颜色参数。
一种具体的方式中,所述通过读取所述颜色参数拾取到所述世界坐标,包括:
将渲染为世界坐标的颜色参数输出到本地的渲染纹理上;
通过读取所述渲染纹理上的颜色参数,拾取到所述世界坐标的坐标参数。
详细地,所述浮点型纹理格式为ARGB浮点型格式。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本说明书实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种拾取坐标的方法,其特征在于,所述方法包括:
获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
通过读取所述颜色参数拾取到所述世界坐标。
2.根据权利要求1所述的拾取坐标的方法,其特征在于,所述拾取相机的配置参数,至少包括:
对所述拾取相机投影模式配置得到的正交模式;
在所述正交模式下,对所述拾取相机的视口大小设置得到的视口参数;
对所述拾取相机输出视图的纹理格式设置得到的浮点型纹理格式;所述拾取相机输出视图的纹理格式与所述替换着色器的输出数据相对应。
3.根据权利要求2所述的拾取坐标的方法,其特征在于,所述根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数,包括:
根据所述拾取相机的浮点型纹理格式,调用所述自定义替换着色器;
获取所述屏幕坐标对应的颜色参数,并根据所述替换着色器将所述世界坐标渲染为所述颜色参数。
4.根据权利要求1所述的拾取坐标的方法,其特征在于,所述通过读取所述颜色参数拾取到所述世界坐标,包括:
将渲染为世界坐标的颜色参数输出到本地的渲染纹理上;
通过读取所述渲染纹理上的颜色参数,拾取到所述世界坐标的坐标参数。
5.根据权利要求3所述的拾取坐标的方法,其特征在于,所述浮点型纹理格式为ARGB浮点型格式。
6.一种拾取坐标的装置,其特征在于,所述装置包括:
拾取相机获取模块,用于获取自定义的替换着色器,并获取具有对应功能配置参数的拾取相机;
原生相机射线获取模块,用于获取屏幕坐标,并得到从原生相机发出经过所述屏幕坐标的射线;
拾取相机射线获取模块,用于将所述拾取相机设置在所述原生相机的位置,并将所述拾取相机的射线方向调整为与所述原生相机的射线方向一致;
世界坐标渲染模块,用于根据所述拾取相机,将所述屏幕坐标对应的世界坐标渲染为所述屏幕坐标对应的颜色参数;
世界坐标拾取模块,用于通过读取所述颜色参数拾取到所述世界坐标。
7.根据权利要求6所述的拾取坐标的装置,其特征在于,所述拾取相机的配置参数,至少包括:
对所述拾取相机投影模式配置得到的正交模式;
在所述正交模式下,对所述拾取相机的视口大小设置得到的视口参数;
对所述拾取相机输出视图的纹理格式设置得到的浮点型纹理格式;所述拾取相机输出视图的纹理格式与所述替换着色器的输出数据相对应。
8.根据权利要求7所述的拾取坐标的装置,其特征在于,所述世界坐标渲染模块,包括:
替换着色器调用单元,用于根据所述拾取相机的浮点型纹理格式,调用所述自定义替换着色器;
世界坐标渲染单元,用于获取所述屏幕坐标对应的颜色参数,并根据所述替换着色器将所述世界坐标渲染为所述颜色参数。
9.根据权利要求6所述的拾取坐标的装置,其特征在于,所述世界坐标拾取模块,包括:
颜色参数输出单元,用于将渲染为世界坐标的颜色参数输出到本地的渲染纹理上;
世界坐标拾取单元,用于通过读取所述渲染纹理上的颜色参数,拾取到所述世界坐标的坐标参数。
10.根据权利要求8所述的拾取坐标的装置,其特征在于,所述浮点型纹理格式为ARGB浮点型格式。
11.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一所述的拾取坐标的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一所述的拾取坐标的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810639084.1A CN108888954A (zh) | 2018-06-20 | 2018-06-20 | 一种拾取坐标的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810639084.1A CN108888954A (zh) | 2018-06-20 | 2018-06-20 | 一种拾取坐标的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108888954A true CN108888954A (zh) | 2018-11-27 |
Family
ID=64345247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810639084.1A Pending CN108888954A (zh) | 2018-06-20 | 2018-06-20 | 一种拾取坐标的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108888954A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442339A (zh) * | 2019-06-17 | 2019-11-12 | 搜游网络科技(北京)有限公司 | 一种可视化轴向编辑方法、装置及运行器、可读存储介质 |
CN111135562A (zh) * | 2019-12-25 | 2020-05-12 | 北京像素软件科技股份有限公司 | 地块拾取方法、装置、电子设备及计算机可读存储介质 |
WO2020114274A1 (zh) * | 2018-12-07 | 2020-06-11 | 腾讯科技(深圳)有限公司 | 潜在可视集合的确定方法、装置、设备及存储介质 |
CN117130573A (zh) * | 2023-10-26 | 2023-11-28 | 北京世冠金洋科技发展有限公司 | 一种多屏幕的控制方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473814A (zh) * | 2013-09-23 | 2013-12-25 | 电子科技大学中山学院 | 一种基于gpu的三维几何图元拾取方法 |
US20140192053A1 (en) * | 2013-01-10 | 2014-07-10 | Qualcomm Incorporated | Stereoscopic conversion with viewing orientation for shader based graphics content |
CN108010095A (zh) * | 2017-11-14 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 一种纹理合成的方法、装置及设备 |
-
2018
- 2018-06-20 CN CN201810639084.1A patent/CN108888954A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140192053A1 (en) * | 2013-01-10 | 2014-07-10 | Qualcomm Incorporated | Stereoscopic conversion with viewing orientation for shader based graphics content |
CN103473814A (zh) * | 2013-09-23 | 2013-12-25 | 电子科技大学中山学院 | 一种基于gpu的三维几何图元拾取方法 |
CN108010095A (zh) * | 2017-11-14 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 一种纹理合成的方法、装置及设备 |
Non-Patent Citations (3)
Title |
---|
CSDN: "《https://blog.csdn.net/linian71/article/details/79077821》", 16 January 2018 * |
优美缔软件(上海)有限公司: "《虚拟仿真与游戏开发实用教程》", 30 April 2015, 上海交通大学出版社 * |
胡中天,叶绿: ""实时交互式三维模型纹理映射算法"", 《浙江科技学院学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020114274A1 (zh) * | 2018-12-07 | 2020-06-11 | 腾讯科技(深圳)有限公司 | 潜在可视集合的确定方法、装置、设备及存储介质 |
US11798223B2 (en) | 2018-12-07 | 2023-10-24 | Tencent Technology (Shenzhen) Company Limited | Potentially visible set determining method and apparatus, device, and storage medium |
CN110442339A (zh) * | 2019-06-17 | 2019-11-12 | 搜游网络科技(北京)有限公司 | 一种可视化轴向编辑方法、装置及运行器、可读存储介质 |
CN110442339B (zh) * | 2019-06-17 | 2023-09-01 | 北京蓝亚盒子科技有限公司 | 一种可视化轴向编辑方法、装置及运行器、可读存储介质 |
CN111135562A (zh) * | 2019-12-25 | 2020-05-12 | 北京像素软件科技股份有限公司 | 地块拾取方法、装置、电子设备及计算机可读存储介质 |
CN111135562B (zh) * | 2019-12-25 | 2023-10-20 | 北京像素软件科技股份有限公司 | 地块拾取方法、装置、电子设备及计算机可读存储介质 |
CN117130573A (zh) * | 2023-10-26 | 2023-11-28 | 北京世冠金洋科技发展有限公司 | 一种多屏幕的控制方法、装置、设备和存储介质 |
CN117130573B (zh) * | 2023-10-26 | 2024-02-20 | 北京世冠金洋科技发展有限公司 | 一种多屏幕的控制方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147231B (zh) | 组合特效生成方法、装置及存储介质 | |
CN106991645B (zh) | 图像拼接方法及装置 | |
CN109427083B (zh) | 三维虚拟形象的显示方法、装置、终端及存储介质 | |
CN109754454A (zh) | 物体模型的渲染方法、装置、存储介质及设备 | |
CN109993823A (zh) | 阴影渲染方法、装置、终端及存储介质 | |
CN106547599B (zh) | 一种资源动态加载的方法及终端 | |
CN108888954A (zh) | 一种拾取坐标的方法、装置、设备及存储介质 | |
CN109213728A (zh) | 基于增强现实的文物展示方法及系统 | |
CN111701238A (zh) | 虚拟画卷的显示方法、装置、设备及存储介质 | |
CN110533755B (zh) | 一种场景渲染的方法以及相关装置 | |
CN110163976A (zh) | 一种虚拟场景转换的方法、装置、终端设备及存储介质 | |
JP2022537614A (ja) | マルチ仮想キャラクターの制御方法、装置、およびコンピュータプログラム | |
CN108346168B (zh) | 一种手势图像生成方法、装置及存储介质 | |
CN108525298A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN108921795A (zh) | 一种图像融合方法、装置及存储介质 | |
EP3832605B1 (en) | Method and device for determining potentially visible set, apparatus, and storage medium | |
CN109389664A (zh) | 模型贴图渲染方法、装置及终端 | |
CN108961382B (zh) | 一种图像渲染方法、装置和存储介质 | |
KR102633468B1 (ko) | 핫스팟 맵 표시 방법 및 장치, 그리고 컴퓨터 기기와 판독 가능한 저장 매체 | |
CN109697002A (zh) | 一种在虚拟现实中对象编辑的方法、相关设备及系统 | |
CN107493311A (zh) | 实现操控设备的方法、装置和系统 | |
CN109685884A (zh) | 一种基于虚拟现实的三维建模方法和系统 | |
CN110517346B (zh) | 虚拟环境界面的展示方法、装置、计算机设备及存储介质 | |
CN113487662A (zh) | 画面显示方法、装置、电子设备和存储介质 | |
CN116672706B (zh) | 光照渲染方法、装置、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181127 |