HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

虚拟建筑模型的构建方法、装置及电子装置与流程

2021-01-11 10:01:49|246|起点商标网
虚拟建筑模型的构建方法、装置及电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种虚拟建筑模型的构建方法、装置及电子装置。



背景技术:

建造玩法属于一种可以应用于多种不同类型电子游戏中的基础玩法。由于建造玩法本身可以赋予游戏玩家一定的操作自由度,发挥游戏玩家的主观想象力,因此颇受游戏玩家的欢迎。建造玩法不仅需要游戏策划人员提供良好的设计与规划,而且还需要配套的程序化方案予以支持和实现。

目前,在相关技术所提供的大部分游戏项目中,建造玩法的自定义粒度通常仅能够细化到建筑层级。即,在游戏场景中为游戏玩家所提供的自定义粒度最小仅能够细化到预先设计完毕的基础建筑模型(例如:在策略类游戏中陆续创建的虚拟基地模型、虚拟工厂模型、虚拟兵营模型、虚拟机场模型等)。由此可见,此类建造玩法的基础建筑样式无法实现游戏玩家自定义,因此,游戏玩家对于建造结果的自定义程度较低,无法满足游戏玩家个性化的建造需求。例如:当游戏玩家希望建造一个游戏美术库中并不存在的虚拟建筑模型时,便会发现在此类游戏场景中无法实现。而如果为了实现丰富游戏场景内建造资源的目标,则只能通过游戏版本优化不断推出全新的虚拟建筑模型,但是,其会显著增加美术工作人员的资源制作成本,而且事实上依然难以满足不同游戏玩家的多样化需求。

另外,在少部分游戏项目中,会为游戏玩家提供预先设计完毕的虚拟预制件模型以实现游戏场景内的自定义建造。在此类游戏项目中,通常将游戏场景内的三维空间划分为不同朝向的且连续不断的网格,而虚拟预制件模型在游戏场景内的摆放位置和朝向需要受到通过划分所得到网格的位置和朝向的限制,虽然虚拟角色的转动朝向较大时可以改变虚拟预制件模型的朝向,但是仍然是依据虚拟角色转动前和转动后的对应网格朝向来改变虚拟预制件模型的朝向。特别是当虚拟角色的朝向与网格朝向之间存在一定夹角时,虚拟预制件模型在虚拟角色转动前和转动后会按照网格朝向来朝向虚拟角色,与虚拟角色的朝向之间存在一定夹角,却并不会与虚拟角色的朝向严格对应一致,由此使得虚拟建筑模型在建造过程中缺乏真实性和灵活性,进而降低了游戏玩家的游戏沉浸感。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明至少部分实施例提供了一种虚拟建筑模型的构建方法、装置及电子装置,以至少解决相关技术中提供的在游戏场景内建造虚拟建筑模型的方式需要将游戏场景内的三维空间划分为不同朝向且连续不断的网格,导致虚拟预制件模型在游戏场景内的朝向需要受到网格朝向的限制,由此造成虚拟建筑模型在建造过程中缺乏真实性和灵活性,进而降低了游戏玩家的游戏沉浸感的技术问题。

根据本发明其中一实施例,提供了一种虚拟建筑模型的构建方法,通过在终端的处理器上执行软件应用并在终端的触控显示器上渲染得到图形用户界面,图形用户界面所显示的内容至少部分地包含一游戏场景以及一虚拟角色,该方法包括:

响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,朝向调整操作用于控制虚拟角色的朝向,第一朝向为第一虚拟预制件模型的初始朝向,第二朝向为与朝向调整操作对应的朝向;根据虚拟角色的位移和/或第二朝向,调整第一虚拟预制件模型的第一位置,以得到第二位置,其中,第一位置为第一虚拟预制件模型的初始位置,第二位置为与位移和/或第二朝向对应的位置;当虚拟角色在第二朝向上朝向第二虚拟预制件模型时,判断第二虚拟预制件模型是否位于预设范围内;当第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的第三位置和第三朝向,调整第二位置和第二朝向,以得到目标位置和目标朝向;根据目标位置和目标朝向对第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

可选地,朝向调整操作还用于控制虚拟摄像机的镜头方向,虚拟摄像机用于呈现与镜头方向对应的游戏画面。

可选地,上述方法还包括:基于视线检测,确定第二朝向对应的视觉射线;在视觉射线指向第二虚拟预制件模型时,确定虚拟角色在第二朝向上朝向第二虚拟预制件模型。

可选地,根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向,包括:基于禁止吸附约束条件检测、碰撞检测和视线检测,从第二虚拟预制件模型的备选位置和备选朝向中确定第三位置和第三朝向,其中,禁止吸附约束条件检测用于确定第一虚拟预制件模型与第二虚拟预制件模型之间是否禁止吸附,碰撞检测用于确定在备选位置是否发生碰撞,视线检测用于确定备选位置是否位于虚拟角色的视线范围内;根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向。

可选地,上述方法还包括:获取第二虚拟预制件模型的吸附属性信息,其中,吸附属性信息用于确定第一虚拟预制件模型与第二虚拟预制件模型之间的吸附可行性;根据吸附属性信息确定第二虚拟预制件模型的备选位置和备选朝向。

可选地,吸附属性信息包括:至少一个吸附接口的类型、至少一个吸附接口的吸附位置、至少一个吸附接口的吸附朝向、至少一个吸附接口的吸附能力、至少一个吸附接口的支撑能力、至少一个吸附接口的禁止吸附约束条件。

可选地,上述方法还包括:在第二虚拟预制件模型的局部坐标系下选取至少一个坐标点组合,其中,至少一个坐标点组合中每个坐标点组合包括:第一三维坐标点和第二三维坐标点,第一三维坐标点与第二三维坐标点为第二虚拟预制件模型的三维立体空间中的不同坐标点;基于第一三维坐标点与第二三维坐标点之间的连线进行碰撞检测,确定备选位置是否已存在虚拟预制件模型。

可选地,上述方法还包括:获取第一向量与第二向量之间的夹角,其中,第一向量为备选位置与虚拟角色在游戏场景内的位置之间的向量,第二向量为虚拟摄像机的镜头方向上的向量;根据夹角与预设阈值的比较结果进行视线检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,上述方法还包括:基于备选位置和虚拟摄像机在游戏场景内的位置进行碰撞检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,上述方法还包括:计算并存储第一虚拟预制件模型的体素化坐标,其中,体素化坐标用于在后续摆放新的虚拟预制件模型时,确定目标位置上已存在第一虚拟预制件模型。

可选地,上述方法还包括:构建第一虚拟预制件模型与第二虚拟预制件模型之间的邻接关系,其中,邻接关系用于查找与第一虚拟预制件模型最近的虚拟地基模型;基于邻接关系对第一虚拟预制件模型进行支撑检测。

可选地,基于邻接关系对第一虚拟预制件模型进行支撑检测包括:以第一虚拟预制件模型为起点,利用邻接关系和第一虚拟预制件模型的支撑能力的属性值获取第一虚拟预制件模型与最近的虚拟地基模型之间的当前步数;当当前步数小于或等于预设步数时,确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

可选地,预设范围包括第二位置的预设范围或者虚拟角色当前位置的预设范围。

根据本发明其中一实施例,还提供了一种虚拟建筑模型的构建装置,通过在终端的处理器上执行软件应用并在所述终端的触控显示器上渲染得到图形用户界面,所述图形用户界面所显示的内容至少部分地包含一游戏场景以及一虚拟角色,该装置包括:

第一调整模块,用于响应所述虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,所述朝向调整操作用于控制所述虚拟角色的朝向,所述第一朝向为所述第一虚拟预制件模型的初始朝向,所述第二朝向为与所述朝向调整操作对应的朝向;第二调整模块,用于根据所述虚拟角色的位移和/或所述第二朝向,调整所述第一虚拟预制件模型的第一位置,以得到第二位置,其中,所述第一位置为所述第一虚拟预制件模型的初始位置,所述第二位置为与所述位移和/或所述第二朝向对应的位置;判断模块,用于当所述虚拟角色在所述第二朝向上朝向第二虚拟预制件模型时,判断所述第二虚拟预制件模型是否位于预设范围内;第三调整模块,用于当所述第二虚拟预制件模型位于所述预设范围内时,根据所述第二虚拟预制件模型的第三位置和第三朝向,调整所述第二位置和所述第二朝向,以得到目标位置和目标朝向;构建模块,用于根据所述目标位置和目标朝向对所述第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

可选地,朝向调整操作还用于控制虚拟摄像机的镜头方向,虚拟摄像机用于呈现与镜头方向对应的游戏画面。

可选地,上述装置还包括:第一确定模块,用于基于视线检测,确定第二朝向对应的视觉射线;在视觉射线指向第二虚拟预制件模型时,确定虚拟角色在第二朝向上朝向第二虚拟预制件模型。

可选地,第三调整模块,用于基于禁止吸附约束条件检测、碰撞检测和视线检测,从第二虚拟预制件模型的备选位置和备选朝向中确定第三位置和第三朝向,其中,禁止吸附约束条件检测用于确定第一虚拟预制件模型与第二虚拟预制件模型之间是否禁止吸附,碰撞检测用于确定在备选位置是否发生碰撞,视线检测用于确定备选位置是否位于虚拟角色的视线范围内;根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向。

可选地,上述装置还包括:第一处理模块,用于获取第二虚拟预制件模型的吸附属性信息,其中,吸附属性信息用于确定第一虚拟预制件模型与第二虚拟预制件模型之间的吸附可行性;根据吸附属性信息确定第二虚拟预制件模型的备选位置和备选朝向。

可选地,吸附属性信息包括:至少一个吸附接口的类型、至少一个吸附接口的吸附位置、至少一个吸附接口的吸附朝向、至少一个吸附接口的吸附能力、至少一个吸附接口的支撑能力、至少一个吸附接口的禁止吸附约束条件。

可选地,上述装置还包括:第二处理模块,用于在第二虚拟预制件模型的局部坐标系下选取至少一个坐标点组合,其中,至少一个坐标点组合中每个坐标点组合包括:第一三维坐标点和第二三维坐标点,第一三维坐标点与第二三维坐标点为第二虚拟预制件模型的三维立体空间中的不同坐标点;基于第一三维坐标点与第二三维坐标点之间的连线进行碰撞检测,确定备选位置是否已存在虚拟预制件模型。

可选地,上述装置还包括:第三处理模块,用于获取第一向量与第二向量之间的夹角,其中,第一向量为备选位置与虚拟角色在游戏场景内的位置之间的向量,第二向量为虚拟摄像机的镜头方向上的向量;根据夹角与预设阈值的比较结果进行视线检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,上述装置还包括:第二确定模块,用于基于备选位置和虚拟摄像机在游戏场景内的位置进行碰撞检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,上述装置还包括:第四处理模块,用于计算并存储第一虚拟预制件模型的体素化坐标,其中,体素化坐标用于在后续摆放新的虚拟预制件模型时,确定目标位置上已存在第一虚拟预制件模型。

可选地,上述装置还包括:第五处理模块,用于构建第一虚拟预制件模型与第二虚拟预制件模型之间的邻接关系,其中,邻接关系用于查找与第一虚拟预制件模型最近的虚拟地基模型;基于邻接关系对第一虚拟预制件模型进行支撑检测。

可选地,第五处理模块,用于以第一虚拟预制件模型为起点,利用邻接关系和第一虚拟预制件模型的支撑能力的属性值获取第一虚拟预制件模型与最近的虚拟地基模型之间的当前步数;当当前步数小于或等于预设步数时,确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

可选地,预设范围包括第二位置的预设范围或者虚拟角色当前位置的预设范围。

根据本发明其中一实施例,还提供了一种非易失性存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟建筑模型的构建方法。

根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的虚拟建筑模型的构建方法。

根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟建筑模型的构建方法。

在本发明至少部分实施例中,采用响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一虚拟预制件模型的初始朝向调整为与朝向调整操作对应的朝向的方式,通过虚拟角色的位移和/或朝向调整操作对应的朝向调整第一虚拟预制件模型的初始位置,以得到与位移和/或朝向调整操作对应的朝向对应的位置,当虚拟角色在朝向调整操作对应的朝向上朝向第二虚拟预制件模型并且第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的位置和朝向调整与位移和/或第二朝向对应的位置以及朝向调整操作对应的朝向以得到目标位置和目标朝向,以及根据目标位置和目标朝向对第一虚拟预制件模型进行摆放以构建虚拟建筑模型,不仅能够达到将虚拟预制件模型(例如:虚拟地基模型、虚拟墙壁模型、虚拟天花板模型、虚拟阶梯模型等)作为基础建筑模型在游戏场景内自定义建造虚拟建筑模型的目的,而且还能够避免虚拟预制件模型在游戏场景内的朝向需要受到网格朝向的限制,从而实现了提升虚拟建筑模型的建造自由度、减少美术资源开销、降低建造过程的操作复杂度、增强游戏体验的技术效果,进而解决了相关技术中提供的在游戏场景内建造虚拟建筑模型的方式需要将游戏场景内的三维空间划分为不同朝向且连续不断的网格,导致虚拟预制件模型在游戏场景内的朝向需要受到网格朝向的限制,由此造成虚拟建筑模型在建造过程中缺乏真实性和灵活性,进而降低了游戏玩家的游戏沉浸感的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明其中一实施例的虚拟建筑模型的构建方法的流程图;

图2是根据本发明其中一可选实施例的吸附接口与虚拟预制件模型的局部坐标原点的示意图;

图3是根据本发明其中一可选实施例的虚拟墙壁模型与虚拟地基模型之间的吸附过程示意图;

图4是根据本发明其中一可选实施例的视线检测过程示意图;

图5是根据本发明其中一可选实施例的邻接关系示意图;

图6是根据本发明其中一可选实施例的虚拟预制件模型的支撑检测示意图;

图7是根据本发明其中一可选实施例的在游戏场景内未满足支撑关系判定的示意图;

图8是根据本发明其中一可选实施例的在游戏场景内满足支撑关系判定的示意图;

图9是根据本发明其中一实施例的虚拟建筑模型的构建装置的结构框图;

图10是根据本发明其中一可选实施例的虚拟建筑模型的构建装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明其中一实施例,提供了一种虚拟建筑模型的构建方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

该方法实施例可以在移动终端、计算机终端或者类似的运算终端中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,简称为mid)、pad等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。

存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的虚拟建筑模型的构建方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟建筑模型的构建方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。

在本实施例中提供了一种运行于上述终端的虚拟建筑模型的构建方法,通过在终端的处理器上执行软件应用并在终端的触控显示器上渲染得到图形用户界面,图形用户界面所显示的内容至少部分地包含一游戏场景以及一虚拟角色,图1是根据本发明其中一实施例的虚拟建筑模型的构建方法的流程图,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图1所示,该方法包括如下步骤:

步骤s100,响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,朝向调整操作用于控制虚拟角色的朝向,第一朝向为第一虚拟预制件模型的初始朝向,第二朝向为与朝向调整操作对应的朝向;

上述虚拟预制件模型是指预先制作完成的、作为在游戏场景内自定义建造虚拟建筑模型的基础建筑模型。例如:虚拟地基模型、虚拟墙壁模型、虚拟天花板模型、虚拟阶梯模型等。在图形用户界面内可以为游戏玩家提供可选的虚拟预制件模型列表。该虚拟预制件模型列表用于列举游戏玩家当前在游戏场景内待使用的虚拟预制件模型的编号和名称。例如:虚拟地基模型(1)、虚拟墙壁模型(2)、虚拟天花板模型(3)、虚拟阶梯模型(4)等。游戏玩家既可以通过在虚拟预制件模型列表中通过点击触控操作来确定第一虚拟预制件模型,也可以通过在虚拟预制件模型列表中通过滑动(即拖拽)触控操作来确定第一虚拟预制件模型。在尚未执行朝向调整操作之前,需要先获取第一虚拟预制件模型在游戏场景内的初始位置和初始朝向,即默认渲染位置和默认朝向。

在将第一虚拟预制件模型加入至游戏场景中之后,第一虚拟预制件模型的默认渲染位置通常是以虚拟摄像机在游戏场景内的当前位置为起点,通过将虚拟摄像机在游戏场景内当前朝向上的向量与当前朝向上的探测距离(即预设固定距离)相乘得到的三维空间向量结果。第一虚拟预制件模型的默认朝向可以通过虚拟角色的欧拉角来确定。当虚拟角色在游戏场景内发生移动或旋转时,虚拟角色的朝向会随之发生变化,虚拟摄像机也会跟随虚拟角色在游戏场景内发生移动或旋转。因此,当虚拟角色在游戏场景内发生移动或旋转时,也会改变虚拟摄像机在游戏场景内的当前位置和当前朝向,由此更新虚拟摄像机在游戏场景内的当前位置和当前朝向。另外,考虑到游戏场景内会存在包括虚拟地形模型在内的碰撞体以及虚拟地形模型还存在地形高度,因此,上述获取到的第一虚拟预制件模型的初始位置和初始朝向并不一定能够真正摆放该第一虚拟预制件模型。为此,需要以虚拟摄像机在游戏场景内的当前位置为起点,上述探测距离为碰撞检测距离,上述当前朝向为方向进行碰撞检测,其碰撞检测类型包括虚拟地形模型碰撞检测和虚拟建筑模型碰撞检测,以获得碰撞检测结果。如果确定发生碰撞,那么第一虚拟预制件模型在游戏场景内的初始位置便会成为碰撞点位置。此外,还需要根据虚拟地形模型的地形高度来确认上述获取到的第一虚拟预制件模型的初始位置和初始朝向是否能够真正摆放该第一虚拟预制件模型。

上述朝向调整操作在不同类型终端上会采用不同的控制方式。例如:针对端游而言,可以采用移动鼠标的方式来执行朝向调整操作;针对手游而言,可以采用滑动触控操作、控制准心朝向来执行朝向调整操作。另外,需要预先在虚拟角色的朝向与第一虚拟预制件模型的朝向之间建立绑定关系,该绑定关系用于在虚拟角色的朝向调整过程中控制第一虚拟预制件模型与虚拟角色的朝向保持一致,即第一虚拟预制件模型正对该虚拟角色。

在一个可选实施例中,上述朝向调整操作不仅能够用于控制虚拟角色的朝向,而且还能够用于控制虚拟摄像机的镜头方向,该虚拟摄像机用于呈现与镜头方向对应的游戏画面。

步骤s101,根据虚拟角色的位移和/或第二朝向,调整第一虚拟预制件模型的第一位置,以得到第二位置,其中,第一位置为第一虚拟预制件模型的初始位置,第二位置为与位移和/或第二朝向对应的位置;

在确定第一虚拟预制件模型的初始位置之后,既可以根据虚拟角色的位移来调整第一虚拟预制件模型的初始位置以得到与位移对应的位置,也可以根据第二朝向来调整第一虚拟预制件模型的初始位置以得到与第二朝向对应的位置,还可以同时根据位移和第二朝向来调整第一虚拟预制件模型的初始位置以得到与位移和第二朝向共同对应的位置。

步骤s102,当虚拟角色在第二朝向上朝向第二虚拟预制件模型时,判断第二虚拟预制件模型是否位于预设范围内;

上述第二虚拟预制件模型即为待吸附的虚拟预制件模型。由于第二虚拟预制件模型是游戏场景内已经摆放完毕的虚拟预制件模型,而且该第二虚拟预制件模型可以提供多个待吸附的备选位置和备选朝向。例如:当虚拟地基模型的外形为六面体时,该虚拟地基模型的下表面与游戏场景内的地面相邻,该虚拟地基模型的上表面的四条边便可以作为四个待吸附的备选位置和备选朝向。

在一个可选实施例中,可以基于视线检测来确定第二朝向对应的视觉射线。当视觉射线指向第二虚拟预制件模型时,确定虚拟角色在第二朝向上朝向第二虚拟预制件模型。

上述预设范围既可以包括第二位置的预设范围,即,以位移和/或第二朝向对应的位置为中心的预设范围,例如:以位移和/或第二朝向对应的位置为中心,半径为m(m为正整数)的圆形区域;也可以包括虚拟角色当前位置的预设范围,即,以虚拟角色当前位置为中心的预设范围,例如:以虚拟角色当前位置为中心,半径为n(n为正整数)的圆形区域。

步骤s103,当第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的第三位置和第三朝向,调整第二位置和第二朝向,以得到目标位置和目标朝向;

基于第一虚拟预制件模型的实时位置,不断计算以第一虚拟预制件模型为坐标中心周围的第二虚拟预制件模型,先确定第一虚拟预制件模型与第二虚拟预制件模型是否能够完成吸附,如果第一虚拟预制件模型与第二虚拟预制件模型能够完成吸附,则进一步计算第二虚拟预制件模型上能够吸附的位置,当第一虚拟预制件模型的实时位置与计算得到的吸附位置之间的距离小于特定阈值时,直接根据第二虚拟预制件模型的第三位置和第三朝向,调整第二位置和第二朝向,以得到目标位置和目标朝向,进而完成吸附。

步骤s104,根据目标位置和目标朝向对第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

通过上述步骤,可以采用响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一虚拟预制件模型的初始朝向调整为与朝向调整操作对应的朝向的方式,通过虚拟角色的位移和/或朝向调整操作对应的朝向调整第一虚拟预制件模型的初始位置,以得到与位移和/或朝向调整操作对应的朝向对应的位置,当虚拟角色在朝向调整操作对应的朝向上朝向第二虚拟预制件模型并且第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的位置和朝向调整与位移和/或第二朝向对应的位置以及朝向调整操作对应的朝向以得到目标位置和目标朝向,以及根据目标位置和目标朝向对第一虚拟预制件模型进行摆放以构建虚拟建筑模型,不仅能够达到将虚拟预制件模型(例如:虚拟地基模型、虚拟墙壁模型、虚拟天花板模型、虚拟阶梯模型等)作为基础建筑模型在游戏场景内自定义建造虚拟建筑模型的目的,而且还能够使得虚拟预制件模型的朝向与虚拟角色的朝向严格一致,避免虚拟预制件模型在游戏场景内的朝向需要受到网格朝向的限制,从而实现了提升虚拟建筑模型的建造自由度、减少美术资源开销、降低建造过程的操作复杂度、增强游戏体验的技术效果,进而解决了相关技术中提供的在游戏场景内建造虚拟建筑模型的方式需要将游戏场景内的三维空间划分为不同朝向且连续不断的网格,导致虚拟预制件模型在游戏场景内的朝向需要受到网格朝向的限制,由此造成虚拟建筑模型在建造过程中缺乏真实性和灵活性,进而降低了游戏玩家的游戏沉浸感的技术问题。

可选地,在步骤s103中,根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向可以包括以下执行步骤:

步骤s1031,基于禁止吸附约束条件检测、碰撞检测和视线检测,从第二虚拟预制件模型的备选位置和备选朝向中确定第三位置和第三朝向,其中,禁止吸附约束条件检测用于确定第一虚拟预制件模型与第二虚拟预制件模型之间是否禁止吸附,碰撞检测用于确定在备选位置是否发生碰撞,视线检测用于确定备选位置是否位于虚拟角色的视线范围内;

步骤s1032,根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向。

为了能够从第二虚拟预制件模型的备选位置和备选朝向中确定第三位置和第三朝向,需要分别进行禁止吸附约束条件检测、碰撞检测和视线检测。禁止吸附约束条件检测用于确定第一虚拟预制件模型与第二虚拟预制件模型之间是否禁止吸附。碰撞检测用于确定在备选位置是否发生碰撞。视线检测用于确定备选位置是否位于虚拟角色的视线范围内。由此,根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向。

可选地,上述方法还可以包括以下执行步骤:

步骤s105,获取第二虚拟预制件模型的吸附属性信息,其中,吸附属性信息用于确定第一虚拟预制件模型与第二虚拟预制件模型之间的吸附可行性;

步骤s106,根据吸附属性信息确定第二虚拟预制件模型的备选位置和备选朝向。

在将每个虚拟预制件模型摆放在游戏场景内之前,可以为每个虚拟预制件模型配置吸附属性信息,通过该吸附属性信息能够确定不同虚拟预制件模型在几何空间上的相互连接关系。因此,通过该吸附属性信息能够确定备选位置和备选朝向。例如:当虚拟地基模型的外形为六面体时,根据吸附属性信息可以确定该虚拟地基模型的上表面的四条边便可以作为四个待吸附的备选位置和备选朝向。

可选地,吸附属性信息包括:至少一个吸附接口的类型、至少一个吸附接口的吸附位置、至少一个吸附接口的吸附朝向、至少一个吸附接口的吸附能力、至少一个吸附接口的支撑能力、至少一个吸附接口的禁止吸附约束条件。

上述吸附属性信息中所涉及的吸附接口用于实现不同虚拟预制件模型在几何空间上的相互连接。该吸附属性信息可以包括但不限于:

(1)至少一个吸附接口的类型,例如:点吸附接口、水平线吸附接口、竖直线吸附接口、门吸附接口、面吸附接口等;

(2)至少一个吸附接口的吸附位置和吸附朝向,其主要通过如下参数来确定:

1)吸附接口与虚拟预制件模型的局部坐标原点之间的水平距离;

2)吸附接口与虚拟预制件模型的局部坐标原点之间的高度;

3)吸附接口相对虚拟预制件模型的局部坐标原点绕y轴的旋转角度;

4)吸附接口相对虚拟预制件模型的局部坐标原点绕x轴的旋转角度。

图2是根据本发明其中一可选实施例的吸附接口与虚拟预制件模型的局部坐标原点的示意图,如图2所示,当虚拟预制件模型为虚拟天花板模型时,该虚拟天花板模型所在的局部坐标系会存在局部坐标原点o。ab边为水平线性吸附接口(其实质是一条空间线段),m点为ab边的中点。m点与局部坐标原点o之间的三维空间连线在水平方向上投影的线段的长度即为上述吸附接口与虚拟预制件模型的局部坐标原点之间的水平距离。m点与局部坐标原点o之间的三维空间连线在竖直方向上投影的线段的长度即为上述吸附接口与虚拟预制件模型的局部坐标原点之间的高度。m点与局部坐标原点o之间的三维空间连线绕y轴的旋转角度即为上述吸附接口相对虚拟预制件模型的局部坐标原点绕y轴的旋转角度。m点与局部坐标原点o之间的三维空间连线绕y轴的旋转角度即为上述吸附接口相对虚拟预制件模型的局部坐标原点绕x轴的旋转角度。

(3)至少一个吸附接口的吸附能力;

(4)至少一个吸附接口的支撑能力;

(5)至少一个吸附接口的禁止吸附约束条件。该禁止吸附约束条件与游戏建造玩法的自由度密切相关并预先设定完成。例如:禁止虚拟天花板模型直接与虚拟地基模型相互吸附。

可选地,上述方法还可以包括以下执行步骤:

步骤s107,在第二虚拟预制件模型的局部坐标系下选取至少一个坐标点组合,其中,至少一个坐标点组合中每个坐标点组合包括:第一三维坐标点和第二三维坐标点,第一三维坐标点与第二三维坐标点为第二虚拟预制件模型的三维立体空间中的不同坐标点;

步骤s108,基于第一三维坐标点与第二三维坐标点之间的连线进行碰撞检测,确定备选位置是否已存在虚拟预制件模型。

在碰撞检测过程中所采用的数据结构可以是一个列表,该列表中可以包含至少一个数据项,每个数据项包含一个坐标点组合。每个坐标点组合包括:第一三维坐标点和第二三维坐标点,第一三维坐标点与第二三维坐标点为第二虚拟预制件模型的三维立体空间中的不同坐标点。

第一三维坐标点可以表示为:(len1,height1,angle1);

其中,len1表示第一三维坐标点与虚拟预制件模型的局部坐标原点之间的水平距离,height1表示第一三维坐标点与虚拟预制件模型的局部坐标原点之间的高度,angle1表示第一三维坐标点与虚拟预制件模型的局部坐标原点所构成向量绕y轴的旋转角度,由此根据(len1,height1,angle1)可以在局部坐标系下求得唯一坐标。

第二三维坐标点可以表示为:(len2,height2,angle2);

其中,len2表示第二三维坐标点与虚拟预制件模型的局部坐标原点之间的水平距离,height2表示第二三维坐标点与虚拟预制件模型的局部坐标原点之间的高度,angle2表示第二三维坐标点与虚拟预制件模型的局部坐标原点所构成向量绕y轴的旋转角度,由此根据(len2,height2,angle2)可以在局部坐标系下求得唯一坐标。

然后,再以(len1,height1,angle1)为起点,(len2,height2,angle2)为终点进行碰撞检测,基于碰撞检测筛选过滤掉发生碰撞的备选位置和备选朝向。

在一个可选实施例中,上述第一三维坐标点与第二三维坐标点可以为虚拟预制件模型的两个不同顶点。

可选地,上述方法还可以包括以下执行步骤:

步骤s109,获取第一向量与第二向量之间的夹角,其中,第一向量为备选位置与虚拟角色在游戏场景内的位置之间的向量,第二向量为虚拟摄像机的镜头方向上的向量;

步骤s110,根据夹角与预设阈值的比较结果进行视线检测,确定备选位置是否位于虚拟角色的视线范围内。

在基于备选位置和备选朝向进行视线检测的过程中,可以基于备选位置和备选朝向获取第一向量与第二向量之间的夹角。第一向量为备选位置与虚拟角色在游戏场景内的第三当前位置之间的向量。第二向量为第二当前朝向上的向量。然后再根据夹角与预设阈值(例如:75度)的比较结果进行视线检测,确定备选位置是否位于虚拟角色的视线范围内。例如:当上述夹角大于75度时,确定备选位置位于虚拟角色的视线范围外。当上述夹角小于或等于75度时,确定备选位置位于虚拟角色的视线范围内。

可选地,上述方法还可以包括以下执行步骤:

步骤s111,基于备选位置和虚拟摄像机在游戏场景内的位置进行碰撞检测,确定备选位置是否位于虚拟角色的视线范围内。

在基于备选位置进行视线检测的过程中,除了获取第一向量与第二向量之间的夹角之外,还可以基于备选位置和虚拟摄像机的当前位置进行碰撞检测,确定备选位置是否位于虚拟角色的视线范围内。即,以虚拟摄像机的当前位置为起点,备选位置为终点进行碰撞检测,确定备选位置上是否已摆放虚拟预制件模型。

可选地,上述方法还可以包括以下执行步骤:

步骤s112,计算并存储第一虚拟预制件模型的体素化坐标,其中,体素化坐标用于在后续摆放新的虚拟预制件模型时,确定目标位置上已存在第一虚拟预制件模型。

对于游戏玩家在游戏场景内已经成功摆放的每个虚拟预制件模型而言,需要对每个虚拟预制件模型进行体素化坐标计算,然后在每个虚拟预制件模型的吸附属性信息与体素化坐标之间建立映射关系并对该映射关系进行存储管理。当在游戏场景内新增虚拟预制件模型时,能够根据体素化坐标快速地确定新增虚拟预制件模型附近已经存在的虚拟预制件模型,从而为新增虚拟预制件模型筛选出备选位置和备选朝向。

图3是根据本发明其中一可选实施例的虚拟墙壁模型与虚拟地基模型之间的吸附过程示意图,如图3所示,虚拟墙壁模型即为上述第一虚拟预制件模型,虚拟地基模型即为上述第二虚拟预制件模型。在将虚拟墙壁模型加入至游戏场景中之后,虚拟墙壁模型的默认渲染位置通常是以虚拟摄像机在游戏场景内的当前位置为起点,通过将虚拟摄像机在游戏场景内当前朝向上的向量与当前朝向上的探测距离(即预设固定距离)相乘得到的三维空间向量结果。虚拟墙壁模型的默认朝向与虚拟角色的朝向严格一致,可以是正对虚拟角色,也可以通过预设的虚拟角色的欧拉角来确定。在图3中,当虚拟摄像机的镜头不朝向虚拟墙壁模型或虚拟地基模型时,虚拟墙壁模型的朝向与镜头朝向相同。此时,虚拟墙壁模型的朝向为上述第一朝向,虚拟墙壁模型的位置为上述第一位置。

另外,考虑到游戏场景内会存在包括虚拟地形模型在内的碰撞体以及虚拟地形模型还存在地形高度,因此,上述获取到的虚拟墙壁模型的初始位置和初始朝向并不一定能够真正摆放该虚拟墙壁模型。为此,需要以虚拟摄像机在游戏场景内的当前位置为起点,上述探测距离为碰撞检测距离,上述当前朝向为方向进行碰撞检测,其碰撞检测类型包括虚拟地形模型碰撞检测和虚拟建筑模型碰撞检测,以获得碰撞检测结果。如果确实发生碰撞,那么虚拟墙壁模型在游戏场景内的初始位置便会成为碰撞点位置。此外,还需要根据虚拟地形模型的地形高度来确认上述获取到的虚拟墙壁模型的初始位置和初始朝向是否能够真正摆放该虚拟墙壁模型。

当虚拟角色在游戏场景内发生移动或旋转时,虚拟角色的朝向会随之发生变化,虚拟摄像机也会跟随虚拟角色在游戏场景内发生移动或旋转,由此更新虚拟摄像机在游戏场景内的当前位置和当前朝向。在图3中,当虚拟摄像机的镜头朝向虚拟地基模型时,需要先将虚拟墙壁模型的朝向由第一朝向调整为第二朝向以及将虚拟墙壁模型的位置由第一位置调整为第二位置。当虚拟墙壁模型在第二朝向上朝向虚拟地基模型并且虚拟地基模型位于预设范围内时,需要根据虚拟地基模型的第三位置和第三朝向来调整第二位置和第二朝向,以得到目标位置和目标朝向。此时,由于虚拟墙壁模型的位置和朝向发生同步更新,因此需要重新计算虚拟墙壁模型的体素化坐标。对于游戏玩家在游戏场景内已经成功摆放的每个虚拟预制件模型而言,需要对每个虚拟预制件模型进行体素化坐标计算,然后在每个虚拟预制件模型的吸附属性信息与体素化坐标之间建立映射关系并对该映射关系进行存储管理。因此,当虚拟墙壁模型的附近存在虚拟地基模型时,便可以检测到该虚拟地基模型。

由于虚拟墙壁模型的底部具有1条水平线吸附接口,虚拟地基模型的上表面四周具有4条水平线吸附接口,并且发现虚拟墙壁模型与虚拟地基模型无禁止吸附约束条件,因此,这4条水平线吸附接口便成为上述备选位置和备选朝向。

然后,再对这4条水平线吸附接口进行碰撞检测和视线检测,进一步确定这4条水平线吸附接口均可以成为虚拟墙壁模型的目标位置和目标朝向。此时,默认选择距离虚拟角色最近的目标位置和目标朝向完成吸附。

在完成第一个虚拟墙壁模型摆放之后,游戏玩家还可以继续尝试摆放后续虚拟墙壁模型。此时,需要注意的是,由于上述4条水平线吸附接口中距离虚拟角色最近的吸附接口已经被占用,因此,通过碰撞检测可以过滤掉该吸附接口,仅剩下三个目标位置和目标朝向可以摆放,同样默认选择距离虚拟角色最近的目标位置和目标朝向完成吸附。以此类推,直至全部虚拟墙壁模型摆放完毕。

图4是根据本发明其中一可选实施例的视线检测过程示意图,如图4所示,当虚拟角色的视线范围内已经摆放2个虚拟墙壁模型时,通过碰撞检测可以过滤掉这2个吸附接口。然后,再通过视线检测发现另外2个吸附接口均位于虚拟角色的视线范围之外(即,被已经摆放的2个虚拟墙壁模型所遮挡)。此时,虚拟地基模型上将不再具备可供新增的虚拟墙壁模型所吸附的备选位置和备选朝向。除非控制虚拟角色继续移动,使得另外1个或2个吸附接口均位于虚拟角色的视线范围之内,才能够继续摆放新增的虚拟墙壁模型。

可选地,上述方法还可以包括以下执行步骤:

步骤s113,构建第一虚拟预制件模型与第二虚拟预制件模型之间的邻接关系,其中,邻接关系用于查找与第一虚拟预制件模型最近的虚拟地基模型;

步骤s114,基于邻接关系对第一虚拟预制件模型进行支撑检测。

对于已经完成吸附的不同虚拟预制件模型之间而言,需要构建并记录这些虚拟预制件模型的邻接关系无向图,以便基于邻接关系对待摆放的虚拟预制件模型进行支撑检测。

图5是根据本发明其中一可选实施例的邻接关系示意图,如图5所示,当前存在虚拟地基模型1、虚拟地基模型2、虚拟墙壁模型3、虚拟墙壁模型4、虚拟墙壁模型5、虚拟门框模型6以及虚拟地基模型7。因此,虚拟地基模型1的邻接关系为:虚拟地基模型2、虚拟地基模型7、虚拟墙壁模型4、虚拟墙壁模型5。虚拟墙壁模型4的邻接关系为:虚拟地基模型1、虚拟墙壁模型3、虚拟墙壁模型5。虚拟墙壁模型5的邻接关系为:虚拟地基模型1、虚拟墙壁模型4、虚拟门框模型6。以此类推。

可选地,在步骤s114中,基于邻接关系对第一虚拟预制件模型进行支撑检测可以包括以下执行步骤:

步骤s1141,以第一虚拟预制件模型为起点,利用邻接关系和第一虚拟预制件模型的支撑能力的属性值获取第一虚拟预制件模型与最近的虚拟地基模型之间的当前步数;

步骤s1142,当当前步数小于或等于预设步数时,确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

在为每个虚拟预制件模型配置的吸附属性信息中包含至少一个吸附接口的支撑能力,由此可以确定每个虚拟预制件模型的支撑能力(即support属性)。例如:虚拟地基模型与虚拟墙壁模型的support属性取值为1,而虚拟天花板模型的support属性取值则为0。在第一虚拟预制件模型与第二虚拟预制件模型之间,如果能够根据邻接关系无向图在预设步数内寻找到虚拟地基模型,则可以确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

需要说明的是,当一个虚拟预制件模型的support属性取值为0时,该虚拟预制件模型与最近的虚拟地基模型之间的当前步数加1。

根据邻接关系无向图在预设步数内寻找虚拟地基模型,其实质上属于一种广度优先搜索算法。以第一虚拟预制件模型为起点,利用邻接关系和第一虚拟预制件模型的支撑能力的属性值获取第一虚拟预制件模型与最近的虚拟地基模型之间的当前步数。第一虚拟预制件模型的初始步数为0。在获取当前步数的过程中,任意虚拟预制件模型均只能被遍历一次,不可重复遍历。假设预设步数为4,那么在当前步数大于4且未能寻找到虚拟地基模型的情况下,将会停止继续对邻接虚拟预制件模型进行遍历,此时表示第一虚拟预制件模型与最近的虚拟地基模型之间不存在支撑关系。在当前步数小于或等于4且能够寻找到虚拟地基模型的情况下,则可以确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

图6是根据本发明其中一可选实施例的虚拟预制件模型的支撑检测示意图,如图6所示,当前存在虚拟天花板模型1、虚拟天花板模型2、虚拟天花板模型3、虚拟天花板模型4、虚拟天花板模型5、虚拟天花板模型6。假设支撑关系判定的最大步数为不超过4步,那么虚拟天花板模型5和虚拟天花板模型6便是不满足支撑关系虚拟天花板模型,由此无法在游戏场景内与其他虚拟预制件模型完成吸附。

图7是根据本发明其中一可选实施例的在游戏场景内未满足支撑关系判定的示意图,如图7所示,在游戏场景内已经存在一组相互吸附的虚拟天花板模型。当游戏玩家试图继续摆放新的虚拟天花板模型时,此时便可以按照预先设定的支撑关系判定的最大步数为不超过4步来进行支撑检测。当前已经摆放完成的虚拟预制件模型包括:1个虚拟地基模型、1个虚拟墙壁模型、4个虚拟天花板模型。由于虚拟天花板模型support属性取值为0,因此,在通过邻接关系无向图寻找最近的虚拟地基模型时,发现当前步数大于4且未能寻找到虚拟地基模型,由此确定无法摆放新的虚拟天花板模型(图中采用虚线表示,在实际游戏场景中可以采用红色材质向游戏玩家发出告警提示)。

图8是根据本发明其中一可选实施例的在游戏场景内满足支撑关系判定的示意图,如图8所示,在游戏场景内已经存在一组相互吸附的虚拟天花板模型。当游戏玩家试图继续摆放新的虚拟天花板模型时,此时便可以按照预先设定的支撑关系判定的最大步数为不超过4步来进行支撑检测。当前已经摆放完成的虚拟预制件模型包括:1个虚拟地基模型、1个虚拟墙壁模型、4个虚拟天花板模型。由于虚拟天花板模型support属性取值为0,因此,在通过邻接关系无向图寻找最近的虚拟地基模型时,发现当前步数等于4且能够寻找到虚拟地基模型,由此确定可以摆放新的虚拟天花板模型(图中采用实线表示,在实际游戏场景中可以采用蓝色材质向游戏玩家发出成功提示)。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种虚拟建筑模型的构建装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是根据本发明其中一实施例的虚拟建筑模型的构建装置的结构框图,通过在终端的处理器上执行软件应用并在所述终端的触控显示器上渲染得到图形用户界面,所述图形用户界面所显示的内容至少部分地包含一游戏场景以及一虚拟角色,如图9所示,该装置包括:

第一调整模块100,用于响应所述虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,所述朝向调整操作用于控制所述虚拟角色的朝向,所述第一朝向为所述第一虚拟预制件模型的初始朝向,所述第二朝向为与所述朝向调整操作对应的朝向;第二调整模块102,用于根据所述虚拟角色的位移和/或所述第二朝向,调整所述第一虚拟预制件模型的第一位置,以得到第二位置,其中,所述第一位置为所述第一虚拟预制件模型的初始位置,所述第二位置为与所述位移和/或所述第二朝向对应的位置;判断模块104,用于当所述虚拟角色在所述第二朝向上朝向第二虚拟预制件模型时,判断所述第二虚拟预制件模型是否位于预设范围内;第三调整模块106,用于当所述第二虚拟预制件模型位于所述预设范围内时,根据所述第二虚拟预制件模型的第三位置和第三朝向,调整所述第二位置和所述第二朝向,以得到目标位置和目标朝向;构建模块108,用于根据所述目标位置和目标朝向对所述第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

可选地,朝向调整操作还用于控制虚拟摄像机的镜头方向,虚拟摄像机用于呈现与镜头方向对应的游戏画面。

可选地,可选地,图10是根据本发明其中一可选实施例的虚拟建筑模型的构建装置的结构框图,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第一确定模块110,用于基于视线检测,确定第二朝向对应的视觉射线;在视觉射线指向第二虚拟预制件模型时,确定虚拟角色在第二朝向上朝向第二虚拟预制件模型。

可选地,第三调整模块106,用于基于禁止吸附约束条件检测、碰撞检测和视线检测,从第二虚拟预制件模型的备选位置和备选朝向中确定第三位置和第三朝向,其中,禁止吸附约束条件检测用于确定第一虚拟预制件模型与第二虚拟预制件模型之间是否禁止吸附,碰撞检测用于确定在备选位置是否发生碰撞,视线检测用于确定备选位置是否位于虚拟角色的视线范围内;根据第二虚拟预制件模型的第三位置和第三朝向调整第二位置和第二朝向。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第一处理模块112,用于获取第二虚拟预制件模型的吸附属性信息,其中,吸附属性信息用于确定第一虚拟预制件模型与第二虚拟预制件模型之间的吸附可行性;根据吸附属性信息确定第二虚拟预制件模型的备选位置和备选朝向。

可选地,吸附属性信息包括:至少一个吸附接口的类型、至少一个吸附接口的吸附位置、至少一个吸附接口的吸附朝向、至少一个吸附接口的吸附能力、至少一个吸附接口的支撑能力、至少一个吸附接口的禁止吸附约束条件。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第二处理模块114,用于在第二虚拟预制件模型的局部坐标系下选取至少一个坐标点组合,其中,至少一个坐标点组合中每个坐标点组合包括:第一三维坐标点和第二三维坐标点,第一三维坐标点与第二三维坐标点为第二虚拟预制件模型的三维立体空间中的不同坐标点;基于第一三维坐标点与第二三维坐标点之间的连线进行碰撞检测,确定备选位置是否已存在虚拟预制件模型。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第三处理模块116,用于获取第一向量与第二向量之间的夹角,其中,第一向量为备选位置与虚拟角色在游戏场景内的位置之间的向量,第二向量为虚拟摄像机的镜头方向上的向量;根据夹角与预设阈值的比较结果进行视线检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第二确定模块118,用于基于备选位置和虚拟摄像机在游戏场景内的位置进行碰撞检测,确定备选位置是否位于虚拟角色的视线范围内。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第四处理模块120,用于计算并存储第一虚拟预制件模型的体素化坐标,其中,体素化坐标用于在后续摆放新的虚拟预制件模型时,确定目标位置上已存在第一虚拟预制件模型。

可选地,如图10所示,该装置除包括图9所示的所有模块外,上述装置还包括:第五处理模块122,用于构建第一虚拟预制件模型与第二虚拟预制件模型之间的邻接关系,其中,邻接关系用于查找与第一虚拟预制件模型最近的虚拟地基模型;基于邻接关系对第一虚拟预制件模型进行支撑检测。

可选地,第五处理模块122,用于以第一虚拟预制件模型为起点,利用邻接关系和第一虚拟预制件模型的支撑能力的属性值获取第一虚拟预制件模型与最近的虚拟地基模型之间的当前步数;当当前步数小于或等于预设步数时,确定第一虚拟预制件模型与最近的虚拟地基模型之间存在支撑关系。

可选地,预设范围包括第二位置的预设范围或者虚拟角色当前位置的预设范围。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种非易失性存储介质,该非易失性存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述非易失性存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,朝向调整操作用于控制虚拟角色的朝向,第一朝向为第一虚拟预制件模型的初始朝向,第二朝向为与朝向调整操作对应的朝向;

s2,根据虚拟角色的位移和/或第二朝向,调整第一虚拟预制件模型的第一位置,以得到第二位置,其中,第一位置为第一虚拟预制件模型的初始位置,第二位置为与位移和/或第二朝向对应的位置;

s3,当虚拟角色在第二朝向上朝向第二虚拟预制件模型时,判断第二虚拟预制件模型是否位于预设范围内;

s4,当第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的第三位置和第三朝向,调整第二位置和第二朝向,以得到目标位置和目标朝向;

s5,根据目标位置和目标朝向对第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

可选地,在本实施例中,上述非易失性存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,响应虚拟角色的朝向调整操作,将第一虚拟预制件模型的朝向由第一朝向调整为第二朝向,其中,朝向调整操作用于控制虚拟角色的朝向,第一朝向为第一虚拟预制件模型的初始朝向,第二朝向为与朝向调整操作对应的朝向;

s2,根据虚拟角色的位移和/或第二朝向,调整第一虚拟预制件模型的第一位置,以得到第二位置,其中,第一位置为第一虚拟预制件模型的初始位置,第二位置为与位移和/或第二朝向对应的位置;

s3,当虚拟角色在第二朝向上朝向第二虚拟预制件模型时,判断第二虚拟预制件模型是否位于预设范围内;

s4,当第二虚拟预制件模型位于预设范围内时,根据第二虚拟预制件模型的第三位置和第三朝向,调整第二位置和第二朝向,以得到目标位置和目标朝向;

s5,根据目标位置和目标朝向对第一虚拟预制件模型进行摆放,以构建虚拟建筑模型。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 建筑模型游戏场景
tips