三维房屋模型中的模型展示方法及装置
技术领域
本公开涉及三维建模和展示技术领域,尤其涉及一种三维房屋模型中的模型展示方法及装置。
背景技术
在三维建模和展示技术领域中,可以通过手机等电子设备,向用户展示真实房屋对应的三维房屋模型,以便于用户了解真实房屋的相关信息。目前,三维房屋模型往往只能以不同角度进行展示,三维房屋模型的展示效果非常单一。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种三维房屋模型中的模型展示方法及装置。
根据本公开实施例的一个方面,提供了一种三维房屋模型中的模型展示方法,包括:
展示所述三维房屋模型中,与用户视角对应的局部模型;
在所述局部模型中存在外部透视区的情况下,依据与所述三维房屋模型对应的真实房屋的房屋数据,确定所述用户视角下,所述外部透视区的参考视觉信息;
基于所述参考视觉信息,控制所述局部模型中的所述外部透视区以相应展示策略进行画面展示。
在一个可选示例中,所述基于所述参考视觉信息,控制所述局部模型中的所述外部透视区以相应展示策略进行画面展示,包括:
在所述参考视觉信息表征所述外部透视区整体未被遮挡的情况下,控制所述局部模型中的所述外部透视区展示对应的真实场景画面;
在所述参考视觉信息表征所述外部透视区整体被遮挡的情况下,控制所述局部模型中的所述外部透视区展示虚拟场景画面;
在所述参考视觉信息表征所述外部透视区中包括未被遮挡的第一区域和被遮挡的第二区域的情况下,控制所述第一区域展示对应的真实场景画面,并控制所述第二区域展示虚拟场景画面。
在一个可选示例中,所述方法还包括:
检测所述三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到检测结果;
依据所述真实房屋的房屋数据,确定所述三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到确定结果;
在所述检测结果为不存在障碍物,所述确定结果为存在障碍物的情况下,执行障碍物应对操作。
在一个可选示例中,
所述执行障碍物应对操作,包括:
禁止所述用户视点位置向前方移动,并展示视角操作界面;其中,所述视角操作界面中包括N个操作控件,N为大于或等于1的整数;
接收对所述N个操作控件中的至少一个操作控件的输入操作;
响应所述输入操作,调整所述用户视角;
退出所述视角操作界面,并还原所述用户视角;
和/或,
所述执行障碍物应对操作,包括:
输出障碍物碰撞预警信息。
在一个可选示例中,
所述N个操作控件中包括第一操作控件;所述响应所述输入操作,调整所述用户视角,包括:
响应对所述第一操作控件的输入操作,控制所述用户视角移动;
和/鼓,
所述N个操作控件中包括第二操作控件;所述响应所述输入操作,调整所述用户视角,包括:
响应对所述第二操作控件的输入操作,控制所述用户视角旋转和/或俯仰。
在一个可选示例中,
所述退出所述视角操作界面,并还原所述用户视角,包括:
获取所述用户视角的调整信息;
在所述调整信息满足预设条件的情况下,退出所述视角操作界面,并还原所述用户视角;
和/或,
所述退出所述视角操作界面,并还原所述用户视角,包括:
在检测到所述输入操作结束的情况下,退出所述视角操作界面,并还原所述用户视角。
在一个可选示例中,
所述三维房屋模型与所述真实房屋的尺寸比例为1∶1;
和/或;
所述外部透视区为窗体区。
根据本公开实施例的另一个方面,提供了一种三维房屋模型中的模型展示装置,包括:
展示模型,用于展示所述三维房屋模型中,与用户视角对应的局部模型;
确定模块,用于在所述局部模型中存在外部透视区的情况下,依据与所述三维房屋模型对应的真实房屋的房屋数据,确定所述用户视角下,所述外部透视区的参考视觉信息;
控制模块,用于基于所述参考视觉信息,控制所述局部模型中的所述外部透视区以相应展示策略进行画面展示。
在一个可选示例中,所述控制模块,具体用于:在所述参考视觉信息表征所述外部透视区整体未被遮挡的情况下,控制所述局部模型中的所述外部透视区展示对应的真实场景画面;在所述参考视觉信息表征所述外部透视区整体被遮挡的情况下,控制所述局部模型中的所述外部透视区展示虚拟场景画面;在所述参考视觉信息表征所述外部透视区中包括未被遮挡的第一区域和被遮挡的第二区域的情况下,控制所述第一区域展示对应的真实场景画面,并控制所述第二区域展示虚拟场景画面。
在一个可选示例中,所述装置还包括:
第一获取模块,用于检测所述三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到检测结果;
第二获取模块,用于依据所述真实房屋的房屋数据,确定所述三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到确定结果;
执行模块,用于在所述检测结果为不存在障碍物,所述确定结果为存在障碍物的情况下,执行障碍物应对操作。
在一个可选示例中,
所述执行模块,包括:
第一处理单元,用于禁止所述用户视点位置向前方移动,并展示视角操作界面;其中,所述视角操作界面中包括N个操作控件,N为大于或等于1的整数;
接收单元,用于接收对所述N个操作控件中的至少一个操作控件的输入操作;
调整单元,用于响应所述输入操作,调整所述用户视角;
第二处理单元,用于退出所述视角操作界面,并还原所述用户视角;
和/或,
所述执行模块,具体用于:
输出障碍物碰撞预警信息。
在一个可选示例中,
所述N个操作控件中包括第一操作控件;所述调整单元,具体用于:
响应对所述第一操作控件的输入操作,控制所述用户视角移动;
和/或,
所述N个操作控件中包括第二操作控件;所述调整单元,具体用于:
响应对所述第二操作控件的输入操作,控制所述用户视角旋转和/或俯仰。
在一个可选示例中,
所述第二处理单元,包括:
获取子单元,用于获取所述用户视角的调整信息;
处理子单元,用于在所述调整信息满足预设条件的情况下,退出所述视角操作界面,并还原所述用户视角;
和/鼓,
所述第二处理单元,具体用于:
在检测到所述输入操作结束的情况下,退出所述视角操作界面,并还原所述用户视角。
在一个可选示例中,
所述三维房屋模型与所述真实房屋的尺寸比例为1:1;
和/或;
所述外部透视区为窗体区。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述三维房屋模型中的模型展示方法。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述三维房屋模型中的模型展示方法。
本公开的实施例中,可以展示三维房屋模型中,与用户视角对应的局部模型,在局部模型中存在外部透视区的情况下,可以依据与三维房屋模型对应的真实房屋的房屋数据,确定用户视角下,外部透视区的参考视觉信息;之后,可以基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示。可见,本公开的实施例中,三维房屋模型并不仅仅只能以不同角度进行展示,在参考视觉信息变化的情况下,三维房屋模型中的局部模型中的外部透视区的展示策略能够进行相应变化,从而能够使三维房屋模型的展示效果发生变化,因此,与现有技术相比,本公开的实施例中,三维房屋模型的展示效果更加多样化。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的三维房屋模型中的模型展示方法的流程示意图。
图2-1是三维房屋模型的示意图之一。
图2-2是三维房屋模型的示意图之二。
图2-3是三维房屋模型的示意图之三。
图3-1是三维房屋模型中,与用户视角对应的局部模型的示意图之一。
图3-2是三维房屋模型中,与用户视角对应的局部模型的示意图之二。
图3-3是三维房屋模型中,与用户视角对应的局部模型的示意图之三。
图4-1是拆除隔墙之前,三维房屋模型对应的户型示意图。
图4-2是拆除隔墙之后,三维房屋模型对应的户型示意图。
图5-1是视角操作界面的示意图之一。
图5-2是视角操作界面的示意图之二。
图6是本公开一示例性实施例提供的三维房屋模型中的模型展示装置的结构示意图。
图7是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本公开一示例性实施例提供的三维房屋模型中的模型展示方法的流程示意图。图1所示的方法应用于电子设备(例如手机、平板电脑等手持式设备),图1所示的方法可以包括步骤101、步骤102和步骤103,下面对各步骤分别进行说明。
步骤101,展示三维房屋模型中,与用户视角对应的局部模型。
这里,三维房屋模型可以为利用三维软件绘制的,与真实房屋对应的模型;其中,真实房屋位于真实世界,真实世界也可以称为物理世界;三维房屋模型位于虚拟世界,三维房屋模型也可以称为虚拟房屋。
可选地,三维房屋模型与真实房屋的尺寸比例可以为1∶1,这样,如果将三维房屋模型校准地面后放置于物理世界中,三维房屋模型中的户型外框及入户门位置与真实房屋可以完全重叠。当然,三维房屋模型与真实房屋的尺寸比例也可以为1∶2、1∶5、1∶10等,在此不再一一列举。
可选地,三维房屋模型可以在室内增强现实(Augmented Reality,AR)场景使用,例如,三维房屋模型可以在AR看房场景或者AR装修场景(该场景下可进行户型改造)使用。
需要说明的是,用户视角可以由用户根据实际需求选择,在三维房屋模型如图2-1、图2-2或图2-3所示的情况下,三维房屋模型中,与用户视角对应的局部模型可能如图3-1所示,或者可能如图3-2所示,或者也可能如图3-3所示。
步骤102,在局部模型中存在外部透视区的情况下,依据与三维房屋模型对应的真实房屋的房屋数据,确定用户视角下,外部透视区的参考视觉信息。
这里,可以预先存储与三维房屋模型对应的真实房屋的房屋数据,真实房屋的房屋数据中可以记载有大量的信息,包括但不限于房屋结构信息、空间功能信息、房屋尺寸信息、家居摆放信息等。
在步骤102中,可以检测局部模型中是否存在外部透视区。需要指出的是,外部透视区是指透过其能够看到房屋外部场景的区域,例如,外部透视区可以为窗体区,当然,外部透视区也可以为开放阳台的入口区等,在此不再一一列举。
在局部模型中存在外部透视区(即用户通过展示的局部模型能够看到外部透视区)的情况下,可以依据预先存储的真实房屋的房屋数据,确定用户视角下,外部透视区的参考视觉信息。具体地,参考视觉信息可以用于表征:当映射至真实世界中时,用户视角下,外部透视区对于用户而言是否存在被遮挡的区域,以及具体哪些区域被遮挡;或者,参考视觉信息可以用于表征:当映射至真实世界中时,用户视角下,外部透视区对于用户而言是否可见,以及具体哪些区域可见。
步骤103,基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示。
一般而言,用户是可以根据实际需求,对三维房屋模型进行修改的,具体地,用户可以移动或拆除三维房屋模型中的墙体,或者,用户可以向三维房屋模型中添加墙体。举例而言,在修改之前,如图4-1所示,三维房屋模型中的客厅与卧室之间可以存在隔墙;在修改之后,如图4-2所示,三维房屋模型中的客厅与卧室之前不存在隔墙,三维房屋模型中的客厅与卧室连通形成了一个开放空间。
这样,在局部模型中存在外部透视区的情况下,步骤102中确定出的参考视觉信息可以存在多种可能的情况,例如,参考视觉信息可以表征外部透视区整体被遮挡、整体均未被遮挡或者部分被遮挡,针对每种情况,可以控制局部模型中的外部透视区分别以相应的展示策略进行画面展示,这样,每种情况的模型展示效果能够存在区别。
本公开的实施例中,可以展示三维房屋模型中,与用户视角对应的局部模型,在局部模型中存在外部透视区的情况下,可以依据与三维房屋模型对应的真实房屋的房屋数据,确定用户视角下,外部透视区的参考视觉信息;之后,可以基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示。可见,本公开的实施例中,三维房屋模型并不仅仅只能以不同角度进行展示,在参考视觉信息变化的情况下,三维房屋模型中的局部模型中的外部透视区的展示策略能够进行相应变化,从而能够使三维房屋模型的展示效果发生变化,因此,与现有技术相比,本公开的实施例中,三维房屋模型的展示效果更加多样化。
在一个可选示例中,基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示,包括:
在参考视觉信息表征外部透视区整体未被遮挡的情况下,控制局部模型中的外部透视区展示对应的真实场景画面;
在参考视觉信息表征外部透视区整体被遮挡的情况下,控制局部模型中的外部透视区展示虚拟场景画面;
在参考视觉信息表征外部透视区中包括未被遮挡的第一区域和被遮挡的第二区域的情况下,控制第一区域展示对应的真实场景画面,并控制第二区域展示虚拟场景画面。
这里,可以预先存储统一的虚拟场景画面,虚拟场景画面可以为虚拟花园场景画面、虚拟天空场景画面等。
这里,可以预先通过摄像头,分别采集真实房屋中的每个外部透视区对应的真实场景画面,并存储每个外部透视区与相应真实场景画面之间的对应关系;其中,任一外部透视区对应的真实场景画面用于呈现通过该外部透视区所能够看到的真实场景。
在参考视觉信息表征外部透视区整体未被遮挡的情况下,可以从所存储的对应关系中,获取局部模型中的外部透视区所对应的真实场景画面,并控制局部模型中的外部透视区展示所获取的真实场景画面。这样,从视觉上来看,局部模型中的外部透视区向用户呈现的是真实场景,例如街道场景,从而能够保证虚拟世界和真实世界的一致性,以提升模型的真实感。
在参考视觉信息表征外部透视区整体被遮挡的情况下,可以获取所存储的虚拟场景画面,并控制局部模型中的外部透视区展示所获取的虚拟场景画面。这样,从视觉上来看,局部模型中的外部透视区向用户呈现的是虚拟场景,那么,可以据此确定,由于对三维房屋模型的修改,导致用户视角下,原本应该被遮挡的外部透视区实际上未被遮挡,也即,用户视角下,整个外部透视区的可见性在真实世界和虚拟世界中存在区别。
在参考视觉信息表征外部透视区中包括未被遮挡的第一区域和被遮挡的第二区域的情况下,可以获取所存储的虚拟场景画面,并控制第二区域展示所获取的虚拟场景画面;还可以从所存储的对应关系中,获取局部模型中的外部透视区所对应的真实场景画面,依据第一区域在外部透视区的具体位置,对所获取的真实场景画面进行裁剪,以得到与第一区域对应的真实场景画面,并控制第一区域展示其对应的真实场景画面。这样,从视觉上来看,局部模型中的外部透视区中的第一区域向用户呈现的是真实场景,从而有利于提升模型的真实感;局部模型中的外部透视区中的第二区域向用户呈现的是虚拟场景,那么,可以据此确定,由于对三维房屋模型的修改,导致用户视角下,原本应该被遮挡的第二区域实际上并未被遮挡,也即,用户视角下,第二区域的可见性在真实世界和虚拟世界中存在区别。
具体实施时,假设三维房屋模型中,与用户视角对应的局部模型如图3-2所示,在参考视觉信息表征图3-2中的窗体区整体未被遮挡的情况下,可以在图3-2中的整个窗体区展示对应的真实场景画面;在参考视觉信息表征图3-2中的窗体区整体被遮挡的情况下,可以在图3-2中的整个窗体区展示虚拟场景画面;在理论可见性表征图3-2中的窗体区中的Q1未被遮挡,且Q2被遮挡的情况下,可以在Q1展示对应的真实场景画面,并在Q2展示虚拟场景画面。
可见,本公开的实施例中,基于参考视觉信息,能够通过真实场景画面的展示,提升模型的真实感,还能够通过虚拟场景画面的展示,使用户获知可见性在真实世界和虚拟世界中存在区别的区域。
需要指出的是,基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示的实施方式并不局限于此。举例而言,可以预先设置第一虚拟场景画面和第二虚拟场景画面,在参考视觉信息表征外部透视区整体未被遮挡的情况下,可以控制局部模型中的外部透视区展示第一虚拟场景画面;在参考视觉信息表征外部透视区整体被遮挡的情况下,可以控制局部模型中的外部透视区展示第二虚拟场景画面;在参考视觉信息表征外部透视区包括未被遮挡的第一区域和被遮挡的第二区域的情况下,可以控制第一区域展示第一虚拟场景画面,并控制第二区域展示第二虚拟场景画面。这样,通过所展示的虚拟场景画面的不同,能够使用户获知可见性在真实世界和虚拟世界中存在区别的区域,以及可见性在真实世界和虚拟世界中一致的区域。
在一个可选示例中,该方法还包括:
检测三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到检测结果;
依据真实房屋的房屋数据,确定三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到确定结果;
在检测结果为不存在障碍物,确定结果为存在障碍物的情况下,执行障碍物应对操作。
这里,用户视点位置前方的预设距离范围可以为与用户视点位置的距离不大于0.3米、0.4米、0.5米或者其他距离取值的范围。
本公开的实施例中,可以预先存储三维房屋模型的模型数据,依据模型数据,可以检测出三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到检测结果,检测结果可以认为与虚拟世界中的情况对应。另外,还可以依据真实房屋的房屋数据,确定三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到确定结果,确定结果可以认为与真实世界中的情况相符。
如果检测结果为不存在障碍物,而确定结果为存在障碍物,这说明三维房屋模型中,用户视点位置前方的预设距离范围内原本是应该存在障碍物的,但是,对三维房屋模型的修改导致障碍物被移动或移除了,这种情况下,可以执行障碍物应对操作。
在一种具体实施方式中,执行障碍物应对操作,包括:
输出障碍物碰撞预警信息。
这里,可以通过语音形式、文字形式等输出障碍物碰撞预警信息,例如,可以在电子设备的显示屏上展示“请注意前方有障碍物,避免发生碰撞”。
这种实施方式中,通过障碍物碰撞预警信息的输出,能够使用户了解前方存在障碍物的情况,从而保证在真实世界和虚拟世界中的体验的一致性。
在另一种具体实施方式中,执行障碍物应对操作,包括:
禁止用户视点位置向前方移动,并展示视角操作界面;其中,视角操作界面中包括N个操作控件,N为大于或等于1的整数;
接收对N个操作控件中的至少一个操作控件的输入操作;
响应输入操作,调整用户视角;
退出视角操作界面,并还原用户视角。
这里,N的取值可以为1、2或者3,操作控件的类型可以为虚拟按键,输入操作可以为点击、按压、拖动等触控操作,当然,N的取值、操作控件的类型,以及输入操作的类型并不局限于此,具体可以根据实际情况来确定,本公开的实施例对此不做任何限定。
这种实施方式中,可以禁止用户视点位置向前方移动,以保证真实世界和虚拟世界中的体验的一致性,避免造成交互上的困难,另外,还可以展示包括N个操作控件的视角操作界面。
在视角操作界面被展示的情况下,可以接收用户对N个操作控件中的至少一个操作控件的输入操作,并响应输入操作,调整用户视角。
可选地,N个操作控件中包括第一操作控件;响应输入操作,调整用户视角,包括:
响应对第一操作控件的输入操作,控制用户视角移动;
和/鼓,
N个操作控件中包括第二操作控件;响应输入操作,调整用户视角,包括:
响应对第二操作控件的输入操作,控制用户视角旋转和/或俯仰。
这里,可以展示如图5-1或图5-2所示的视角操作界面,图5-1和图5-2中的操作控件M可以作为第一操作控件,图5-1和图5-2中的操作控件N可以作为第二操作控件。这样,通过对操作控件M的输入操作,能够使用户视角发生移动,相应地,展示给用户的局部模型能够发生更新;通过对操作控件N的输入操作,能够使用户视角发生旋转和/或俯仰,相应地,展示给用户的局部模型能够发生更新。
在调整用户视角之后,可以退出视角操作界面,即消除视角操作界面的展示,另外,还可以还原用户视角,即还原为接收到输入操作之前的用户视角。
可见,这种实施方式不仅可以保证真实世界和虚拟世界中的体验的一致性,避免造成交互上的困难,还可以在用户视点位置不向前移动的情况下,根据用户在视角操作界面上的输入操作,进行操作视角的调整,以便于用户查看三维房屋模型中所需的部分。
在一种可选示例中,退出视角操作界面,并还原用户视角,包括:
获取用户视角的调整信息;
在调整信息满足预设条件的情况下,退出视角操作界面,并还原用户视角;
这里,用户视角的调节信息包括但不限于用户视角的连续调节时长、用户视角的移动范围等。
在获取到用户视角的调节信息之后,可以判断调节信息是否满足预设条件。具体地,在用户视角的连续调节时长超过10秒(其也可以为其他时长值)的情况下,可以认为预设条件满足,这时,可以退出视角操作界面,并还原成接收到输入操作之前的用户视角。或者,在用户视角的移动范围超过50厘米(其也可以为其他距离值)的情况下,可以认为预设条件满足,这时,可以退出视角操作界面,并还原成接收到输入操作之前的用户视角。
可见,基于用户视角的调节信息,能够非常便捷地识别出需要退出视角操作界面的情况。
在一种可选示例中,退出视角操作界面,并还原用户视角,包括:
在检测到输入操作结束的情况下,退出视角操作界面,并还原用户视角。
这里,可以通过压力传感器,检测用户是否松开输入操作所作用的操作控件,从而确定输入操作是否结束。在输入操作结束的情况下,即可退出视角操作界面,并还原成接收到输入操作之前的用户视角。
可见,基于输入操作结束与否,能够非常便捷地识别出需要退出视角操作界面的情况。
本公开的实施例提供的任一种三维房屋模型中的模型展示方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种三维房屋模型中的模型展示方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种三维房屋模型中的模型展示方法。下文不再赘述。
示例性装置
图6是本公开一示例性实施例提供的三维房屋模型中的模型展示装置的结构示意图,图6所示的装置包括展示模型601、确定模块602和控制模块603。
展示模型601,用于展示三维房屋模型中,与用户视角对应的局部模型;
确定模块602,用于在局部模型中存在外部透视区的情况下,依据与三维房屋模型对应的真实房屋的房屋数据,确定用户视角下,外部透视区的参考视觉信息;
控制模块603,用于基于参考视觉信息,控制局部模型中的外部透视区以相应展示策略进行画面展示。
在一个可选示例中,控制模块603,具体用于:在参考视觉信息表征外部透视区整体未被遮挡的情况下,控制局部模型中的外部透视区展示对应的真实场景画面;在参考视觉信息表征外部透视区整体被遮挡的情况下,控制局部模型中的外部透视区展示虚拟场景画面;在参考视觉信息表征外部透视区中包括未被遮挡的第一区域和被遮挡的第二区域的情况下,控制第一区域展示对应的真实场景画面,并控制第二区域展示虚拟场景画面。
在一个可选示例中,该装置还包括:
第一获取模块,用于检测三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到检测结果;
第二获取模块,用于依据真实房屋的房屋数据,确定三维房屋模型中,用户视点位置前方的预设距离范围内是否存在障碍物,以得到确定结果;
执行模块,用于在检测结果为不存在障碍物,确定结果为存在障碍物的情况下,执行障碍物应对操作。
在一个可选示例中,
执行模块,包括:
第一处理单元,用于禁止用户视点位置向前方移动,并展示视角操作界面;其中,视角操作界面中包括N个操作控件,N为大于或等于1的整数;
接收单元,用于接收对N个操作控件中的至少一个操作控件的输入操作;
调整单元,用于响应输入操作,调整用户视角;
第二处理单元,用于退出视角操作界面,并还原用户视角;
和/鼓,
执行模块,具体用于:
输出障碍物碰撞预警信息。
在一个可选示例中,
N个操作控件中包括第一操作控件;调整单元,具体用于:
响应对第一操作控件的输入操作,控制用户视角移动;
和/或,
N个操作控件中包括第二操作控件;调整单元,具体用于:
响应对第二操作控件的输入操作,控制用户视角旋转和/或俯仰。
在一个可选示例中,
第二处理单元,包括:
获取子单元,用于获取用户视角的调整信息;
处理子单元,用于在调整信息满足预设条件的情况下,退出视角操作界面,并还原用户视角;
和/或,
第二处理单元,具体用于:
在检测到输入操作结束的情况下,退出视角操作界面,并还原用户视角。
在一个可选示例中,
三维房屋模型与真实房屋的尺寸比例为1∶1;
和/或;
外部透视区为窗体区。
示例性电子设备
下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图7图示了根据本公开实施例的电子设备70的框图。
如图7所示,电子设备70包括一个或多个处理器71和存储器72。
处理器71可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本公开的各个实施例的三维房屋模型中的模型展示方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备70还可以包括:输入装置73和输出装置74,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备70是第一设备或第二设备时,该输入装置73可以是麦克风或麦克风阵列。在电子设备70是单机设备时,该输入装置73可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置73还可以包括例如键盘、鼠标等等。
该输出装置74可以向外部输出各种信息。该输出装置74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图7中仅示出了该电子设备70中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的三维房屋模型中的模型展示方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的三维房屋模型中的模型展示方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。