一种对象位置朝向自适应方法技术

技术编号:20697883 阅读:20 留言:0更新日期:2019-03-30 11:54
一种对象位置朝向自适应方法,包括选择摆放对象并放置到三维球面场景中;计算玩家的变换矩阵,并得到球面旋转分量;获取所述摆放对象已有的球面旋转分量,及最终球面旋转分量;利用所述最终球面旋转分量对所述摆放对象上进行旋转操作。本发明专利技术的对象位置朝向自适应方法,可以实现在三维球形世界的任意位置摆放对象时,摆放对象的位置及具朝向可以自动适应玩家的位置和朝向,摆放位置及朝向更加合理。

【技术实现步骤摘要】
一种对象位置朝向自适应方法
本专利技术涉及三维虚拟
,特别是涉及一种对象位置朝向自适应方法。
技术介绍
在三维球形可变世界中,玩家需要在球形的任意位置摆放对象。同时以玩家角度观察,摆放对象需要位置合理,且可响应玩家的旋转操作,且旋转后从玩家视角需要正确。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种对象位置朝向自适应方法,可以实现在球形世界的任意位置摆放对象时,摆放位置合理。为实现上述目的,本专利技术提供的对象位置朝向自适应方法,包括以下步骤:选择摆放对象并放置到三维球面场景中;计算玩家的变换矩阵,并得到球面旋转分量;获取所述摆放对象已有的球面旋转分量,及最终球面旋转分量;利用所述最终球面旋转分量对所述摆放对象上进行旋转操作。进一步,所述计算玩家的变换矩阵的步骤,包括,将玩家的面向,头顶方向,右手方向作为坐标系;依次将玩家的面向、头顶方向、右手方向作为第一行行向量、第二行行向量、第三行行向量,计算出变换矩阵。进一步,所述得到球面旋转分量的步骤,是将所述玩家的变换矩阵分解出旋转部分作为玩家的球面旋转分量。进一步,所述将所述玩家的变换矩阵分解,是使用矩阵的数学分解法,移除所述玩家的变换矩阵的平移分量与缩放分量,提取出玩家的球面旋转分量。更进一步,所述获取最终球面旋转分量的步骤,是采用如下公式:R=Rvisual*Rsphere其中,R为最终球面旋转分量,Rvisual为摆放对象已有的旋转分量,Rsphere为玩家的球面旋转分量。为实现上述目的,本专利技术还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的任一项所述的对象位置朝向自适应方法步骤。为实现上述目的,本专利技术还提供一种游戏终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的对象位置朝向自适应方法步骤。本专利技术的一种对象位置朝向自适应方法,具有以下有益效果:1)在球形世界的任意位置摆放对象时,摆放对象的朝向及位置具有合理性。2)可以响应玩家操作,提供了玩家在游戏中预期合理的感受。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,并与本专利技术的实施例一起,用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为根据本专利技术的对象位置朝向自适应方法流程图;图2为根据本专利技术的对象位置朝向自适应方法实施例一示意图。具体实施方式以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1为根据本专利技术的对象位置朝向自适应方法流程图,下面将参考图1,对本专利技术的对象位置朝向自适应方法进行详细描述。首先,在步骤101,在三维球形世界中的任意位置,朝向某一方向,选择摆放对象。在该步骤中,摆放对象的朝向,从玩家的角度可能是错误的,需要通过计算和应用来改变摆放对象的朝向使该摆放对象的位置和朝向从玩家的角度观测具有合理性。步骤102,计算并获得玩家的变换矩阵。使用玩家面向方向Vlookat、头顶方向Vup和右手方向Vright建立坐标系;将Msphere设为单位矩阵,然后依次将Vlookat、Vup、Vright设为Msphere的第一行行向量,第二行行向量,第三行行向量,计算出玩家的变换矩阵Msphere;在步骤103,获取所述玩家的变换矩阵Msphere分解出球面旋转分量。其中,从变换矩阵Msphere中分解出旋转部分作为球面旋转分量Rsphere,分解方法为使用矩阵的数学分解法,移除变换矩阵Msphere的平移分量与缩放分量,提取出球面旋转分量Rsphere。使用矩阵的数学方法来获取变换矩阵的旋转分量,方法简单,操作方便;分解出旋转分量,以便于将该球面旋转分量Rsphere应用于摆放对象。实现摆放对象位置和朝向从玩家角度观测的合理性。在步骤104,将球面旋转分量Rsphere应用到摆放对象上,对摆放对象进行旋转操作。该应用方法为,提取摆放对象已有的球面旋转分量Rvisual(提取方法与上述提取球面旋转分量Rsphere相同),计算最终旋转分量R=Rvisual*Rsphere,将R设置为摆放对象新的球面旋转分量,对摆放对象进行旋转操作。对摆放对象进行旋转操作,使得该摆放对象的位置及朝向具有合理性。这样,修改后摆放对象的位置及朝向,从玩家角度看是正确的,提供了玩家观测时预期合理的感受。图2为根据本专利技术的一种对象位置朝向自适应方法实施例一示意图。如图2所示,在三维球形可变世界中,左图为应用本专利技术前,玩家尝试摆放一个立方体,立方体在全局范围内朝向和球体一致,但是从玩家角度来看,立方体是倾斜错误的。图中的笑脸代表玩家在三维球形世界中所处于的位置和面向的方向,首先,使用玩家在球面上的面向Vlookat,头顶上方向Vup,右手方向Vright作为坐标系,计算出玩家的变换矩阵Msphere,设所述变换矩阵Msphere为单位矩阵,设Vlookat为Msphere第一行行向量,设Vup为Mphere第二行行向量,设Vlookat为Msphere第三行行向量,计算出玩家的变换矩阵Msphere后,移除玩家的变换矩阵Msphere的平移分量与缩放分量,提取出玩家的旋转分量Rsphere。其次,使用立方体上的主视Dlookat,头顶上方向Dup,右方向Dright作为坐标系,计算出立方体的变换矩阵Mvisual,设所述变换矩阵Mvisual为单位矩阵,设Dlookat为Mvisual第一行行向量,设Dup为Mvisual第二行行向量,设Dlookat为Mvisual第三行行向量,算出立方体的变换矩阵Mvisual后,移除立方体的变换矩阵Mvisual的平移分量与缩放分量,提取出立方体已有的球面旋转分量Rvisual。最后,计算立方体的最终球面旋转分量R=Rvisual*Rspher,玩家根据立方体的最终旋转分量旋转操作立方体,使立方体最后的朝向及位置如右图所示,从玩家的角度看是正确的,提供了玩家在游戏中预期合理的感受。优选地,本专利技术还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的任一项所述的对象位置朝向自适应方法步骤。优选地,本专利技术还提供一种游戏终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的对象位置朝向自适应方法步骤。本领域普通技术人员可以理解:以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种对象位置朝向自适应方法,其特征在于,包括:选择摆放对象并放置到三维球面场景中;计算玩家的变换矩阵,并得到球面旋转分量;获取所述摆放对象已有的球面旋转分量,及最终球面旋转分量;利用所述最终球面旋转分量对所述摆放对象上进行旋转操作。

【技术特征摘要】
1.一种对象位置朝向自适应方法,其特征在于,包括:选择摆放对象并放置到三维球面场景中;计算玩家的变换矩阵,并得到球面旋转分量;获取所述摆放对象已有的球面旋转分量,及最终球面旋转分量;利用所述最终球面旋转分量对所述摆放对象上进行旋转操作。2.根据权利要求1所述的对象位置朝向自适应方法,其特征在于,所述计算玩家的变换矩阵的步骤,包括,将玩家的面向,头顶方向,右手方向作为坐标系;依次将玩家的面向、头顶方向、右手方向作为第一行行向量、第二行行向量、第三行行向量,计算出变换矩阵。3.根据权利要求1所述的对象位置朝向自适应方法,其特征在于,所述得到球面旋转分量的步骤,是将所述玩家的变换矩阵分解出旋转部分作为玩家的球面旋转分量。4.根据权利要求3所述的对象位置朝向自适应方法,其特征在于,所述将所述...

【专利技术属性】
技术研发人员:蔡根
申请(专利权)人:苏州蜗牛数字科技股份有限公司
类型:发明
国别省市:江苏,32

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

1