CN117635886A - 内容展示方法、装置及计算机可读存储介质 - Google Patents
内容展示方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117635886A CN117635886A CN202311659230.4A CN202311659230A CN117635886A CN 117635886 A CN117635886 A CN 117635886A CN 202311659230 A CN202311659230 A CN 202311659230A CN 117635886 A CN117635886 A CN 117635886A
- Authority
- CN
- China
- Prior art keywords
- screen
- virtual
- determining
- screens
- dimensional model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000000463 material Substances 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 99
- 238000007792 addition Methods 0.000 description 28
- 239000010410 layer Substances 0.000 description 14
- 230000009466 transformation Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000002344 surface layer Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开的实施例公开了一种内容展示方法、装置及计算机可读存储介质。该方法包括:确定三维模型中的屏幕添加参考位置;确定对三维模型的观察视线方向;基于屏幕添加参考位置和观察视线方向,在三维模型所在的三维空间中添加虚拟屏幕组;确定虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;通过多块虚拟屏幕分别展示相应素材内容。本公开的实施例中,在三维模型展示场景下,不仅可以呈现三维模型所表示的对象本身的信息,还可以通过虚拟屏幕组中的多块虚拟屏幕呈现额外的信息,因此能够呈现给用户的信息更加丰富,从而能够更好地满足实际需求。
Description
技术领域
本公开涉及三维建模和展示技术领域,尤其涉及一种内容展示方法、装置及计算机可读存储介质。
背景技术
三维模型的使用越来越普遍,目前的三维模型往往只能以模型形式,呈现三维模型所表示的对象本身的信息,而无法呈现其它信息。例如,三维模型可以包括三维房屋模型,三维房屋模型往往只能以模型形式,呈现房屋本身的结构信息。因此,三维模型展示场景下,能够呈现给用户的信息量较少,难以满足实际需求。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种内容展示方法、装置及计算机可读存储介质。
根据本公开实施例的一个方面,提供了一种内容展示方法,包括:
确定三维模型中的屏幕添加参考位置;
确定对所述三维模型的观察视线方向;
基于所述屏幕添加参考位置和所述观察视线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组;
确定所述虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;
通过所述多块虚拟屏幕分别展示相应素材内容。
根据本公开实施例的另一个方面,提供了一种内容展示装置,包括:
第一确定模块,用于确定三维模型中的屏幕添加参考位置;
第二确定模块,用于确定对所述三维模型的观察视线方向;
添加模块,用于基于所述屏幕添加参考位置和所述观察视线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组;
第三确定模块,用于确定所述虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;
展示模块,用于通过所述多块虚拟屏幕分别展示相应素材内容。
根据本公开实施例的再一个方面,提供了一种电子设备,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述内容展示方法。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现上述内容展示方法。
根据本公开实施例的又一个方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器执行时实现上述内容展示方法。
本公开的实施例中,可以确定三维模型中的屏幕添加参考位置以及对三维模型的观察视线方向,结合屏幕添加参考位置和观察视线方向,可以在三维模型所在的三维空间中添加虚拟屏幕组,并通过虚拟屏幕组中的多块虚拟屏幕分别展示相应素材内容。这样,在三维模型展示场景下,不仅可以呈现三维模型所表示的对象本身的信息,还可以通过虚拟屏幕组中的多块虚拟屏幕呈现额外的信息,因此能够呈现给用户的信息更加丰富,从而能够更好地满足实际需求。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
图1是本公开一示例性实施例提供的内容展示方法的流程示意图。
图2是本公开一些示例性实施例中虚拟屏幕组的示意图。
图3是本公开一示例性实施例中虚拟屏幕组的展示效果示意图。
图4是本公开一些示例性实施例提供的在三维模型所在的三维空间中添加虚拟屏幕组的方法的流程示意图。
图5是本公开一些示例性实施例提供的在三维模型所在的三维空间中确定多个屏幕设置位置的方法的流程示意图。
图6是本公开一些示例性实施例提供的确定虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容的方式的流程示意图。
图7是本公开一些示例性实施例提供的用于移动虚拟屏幕组的方法的流程示意图。
图8是本公开一些示例性实施例提供的确定屏幕移动向量的方法的流程示意图。
图9是本公开另一些示例性实施例提供的用于移动虚拟屏幕组的方法的流程示意图。
图10是本公开再一些示例性实施例提供的用于移动虚拟屏幕组的方法的流程示意图。
图11是本公开另一示例性实施例中虚拟屏幕组的展示效果示意图。
图12是本公开一些示例性实施例提供的内容展示装置的结构示意图。
图13是本公开另一些示例性实施例提供的内容展示装置的结构示意图。
图14是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面将参考附图详细描述根据本公开的示例实施例。所描述的实施例仅是本公开的部分实施例,而非全部实施例,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,不代表特定技术含义和必然逻辑顺序。“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可存在三种关系,例如,A和/或B,可表示:单独存在A,同时存在A和B,单独存在B这三种情况。本公开中字符“/”,一般表示前后关联对象是“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可包括例程、程序、目标程序、组件、逻辑、数据结构等,它们执行特定任务或实现特定抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本公开一些示例性实施例提供的内容展示方法的流程示意图。图1所示的方法可以包括步骤120、步骤130、步骤140、步骤150和步骤160。
步骤120,确定三维模型中的屏幕添加参考位置。
可选地,可以通过三维软件,绘制目标对象的三维模型。在一个例子中,目标对象可以是室内场景,三维模型可以为三维房屋模型。当然,目标对象并不局限于室内场景,目标对象也可以是室外场景,本公开对此不做限定。为了便于理解,本公开的实施例中均以三维模型为三维房屋模型的情况为例进行说明。
可选地,可以通过电子设备的设备屏幕,展示三维房屋模型内部空间的全景图像。电子设备可以包括但不限于手机、平板电脑等。
可选地,用户可以通过第一输入操作,针对三维模型指定需要添加虚拟屏幕的位置,用户指定的位置即可作为屏幕添加参考位置。第一输入操作可以包括但不限于触控输入操作、键盘输入操作、鼠标输入操作、语音输入操作等。下文中涉及的其他输入操作的类型均可以参照本段中对第一输入操作的类型的说明,后续不再对其他输入操作的类型进行展开介绍。
步骤130,确定对三维模型的观察视线方向。
可选地,用户可以通过第二输入操作,指定对三维模型进行观察时面向的方向,用户指定的方向即可作为观察视线方向。
步骤140,基于屏幕添加参考位置和观察视线方向,在三维模型所在的三维空间中添加虚拟屏幕组。
可选地,三维模型所在的三维空间可以为虚拟现实(Virtual Reality,VR)空间。
可选地,虚拟屏幕组可以包括多块虚拟屏幕。例如,如图2所示,虚拟屏幕组可以包括N块虚拟屏幕,分别是虚拟屏幕1、虚拟屏幕2、虚拟屏幕3、……、虚拟屏幕N。N的取值可以为预先设定的数值,或者,N的取值可以是通过计算确定的数值。N块虚拟屏幕的形状和尺寸均可以相同或者基本相同。N块虚拟屏幕可以相互平行或者基本平行。N块虚拟屏幕均可以为透明屏幕。N块虚拟屏幕各自在三维空间中的位置、朝向等信息可以基于屏幕添加参考位置和观察视线方向确定,为了布局清楚,后续再对确定方式进行举例介绍。
步骤150,确定虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容。
可选地,用户可以通过第三输入操作,指定多块虚拟屏幕各自对应的素材内容。素材内容的类型可以包括但不限于文字类型、图像类型、图案类型等。
在一些实施例中,多块虚拟屏幕各自对应的素材内容也可以通过算法自动确定,为了布局清楚,后续再对确定方式进行举例介绍。
步骤160,通过多块虚拟屏幕分别展示相应素材内容。
可选地,可以按照预先设定的展示样式,通过多块虚拟屏幕进行素材内容的展示,也即,多块虚拟屏幕使用的展示样式可以是统一的。展示样式可以包括但不限于缩放比例、对齐方式等。
在一些实施例中,用户可以通过第四输入操作,为多块虚拟屏幕分别指定展示样式,也即,多块虚拟屏幕使用的展示样式可以是不同的。
在一个例子中,屏幕添加参考位置的数量可以为两个,分别是第一屏幕添加参考位置和第二屏幕添加参考位置。对应于第一屏幕添加参考位置,如图3所示,可以在三维空间中添加两块虚拟屏幕,其中一块虚拟屏幕用于展示第一素材内容210,另一块虚拟屏幕用于展示第二素材内容220。对应于第二屏幕添加参考位置,如图3所示,可以在三维空间中添加三块虚拟屏幕,其中一块虚拟屏幕用于展示第三素材内容230,另一块虚拟屏幕用于展示第四素材内容240,再一块虚拟屏幕用于展示第五素材内容250。
本公开的实施例中,可以确定三维模型中的屏幕添加参考位置以及对三维模型的观察视线方向,结合屏幕添加参考位置和观察视线方向,可以在三维模型所在的三维空间中添加虚拟屏幕组,并通过虚拟屏幕组中的多块虚拟屏幕分别展示相应素材内容。这样,在三维模型展示场景下,不仅可以呈现三维模型所表示的对象本身的信息,还可以通过虚拟屏幕组中的多块虚拟屏幕呈现额外的信息,因此能够呈现给用户的信息更加丰富,从而能够更好地满足实际需求。
图4是本公开一些示例性实施例提供的在三维模型所在的三维空间中添加虚拟屏幕组的方法的流程示意图。图4所示的方法可以包括步骤410、步骤420和步骤430。可选地,步骤410、步骤420和步骤430的组合可以作为本公开的步骤140的可选实施方式。
步骤410,基于屏幕添加参考位置和观察视线方向,确定屏幕法线方向。
可选地,可以将经过屏幕添加参考位置,且与观察视线方向平行的方向作为屏幕法线方向。当然,也可以将经过屏幕添加参考位置,且与观察视线方向存在小角度偏转的方向作为屏幕法线方向。
步骤420,基于屏幕添加参考位置和屏幕法线方向,在三维模型所在的三维空间中确定多个屏幕设置位置。
在本公开的一些可选实施方式中,如图5所示,步骤420可以包括步骤4201、步骤4203、步骤4205、步骤4207和步骤4209。
步骤4201,确定待展示图像。
可选地,用户可以通过第五输入操作,选择图像库中的一张图像,用户选择的图像即可作为待展示图像。
步骤4203,对待展示图像进行切分,得到多张切分图像。
步骤4205,确定多张切分图像包括的切分图像的第一数量。
可选地,可以按照预设切分规则,对待展示图像进行切分,以得到多张切分图像。例如,可以将按照前后景范围,对待展示图像进行切分,如此,多张切分图像可以为两张切分图像(即第一数量的数值为2),其中一张切分图像为前景图像,另一张切分图像为后景图像,前景图像和后景图像可以对应不同的深度范围。再例如,可以按照前中后景范围,对待展示图像进行切分,如此,多张切分图像可以为三张切分图像(即第一数量的数值为3),其中一张切分图像为前景图像,另一张切分图像为中景图像,再一张切分图像为后景图像,前景图像、中景图像和后景图像可以对应不同的深度范围。又例如,可以按照对象类型,对待展示图像进行切分,假设待展示图像中包括五种动物,则多张切分图像可以为五张切分图像(即第一数量的数值为5),每张切分图像中可以分别包括一种动物。
步骤4207,基于第一数量,确定待添加的虚拟屏幕的第二数量。
可选地,可以直接将第一数量确定为第二数量,也即,第二数量与第一数量可以相同。当然,第二数量与第一数量也可以不同,例如,第二数量的数值大于预设数量,则可以将预设数量确定为第二数量,或者将第一预设数量与预设系数(其小于1)的乘积作为第二数量。
步骤4209,基于屏幕添加参考位置和屏幕法线方向,在三维模型所在的三维空间中确定第二数量个屏幕设置位置。
可选地,可以确定屏幕法线方向所在的直线(后续将其称为目标直线),以及三维模型中的观察视点位置(即用户对三维模型进行观察时的视点位置)。接下来,可以在目标直线上,从屏幕添加参考位置所在的点开始,沿远离观察视点位置的方向进行等间距取点,直至取到第二数量个点(第二数量个点中的首个点是屏幕添加参考位置所在的点),第二数量个点中的每个点所在的位置可以作为一个屏幕设置位置,这样就确定出了第二数量个屏幕设置位置。
当然,第二数量个屏幕设置位置的确定方式并不局限于此。例如,沿远离观察视点位置的方向也可以不按照等间距规则取点,而是按照间距逐渐增大或者逐渐减小的规则取点。再例如,可以不从屏幕添加参考位置所在的点开始取点,而从目标直线上与屏幕添加参考位置所在的点较为接近的其他点开始取点。
图4所示实施方式中,可以对待展示图像进行切分,并参考得到的切分图像的第一数量,自适应地确定待添加的虚拟屏幕的第二数量,以便后续确定第二数量个用于设置虚拟屏幕的屏幕设置位置,并向三维空间中添加包括第二数量个虚拟屏幕的虚拟屏幕组,如此,能够较好地保证虚拟屏幕组包括的虚拟屏幕数量的合理性,避免虚拟屏幕数量过多或者过少,既有利于实现额外的信息的展示,又能够尽量避免影响到三维模型的展示效果。
当然,步骤420并不局限于图4所示实施方式。例如,可以在目标直线上,从屏幕添加参考位置开始,沿远离观察视点位置的方向进行等间距取点,直至取到预设数量个点,这样能够确定出预设数量个屏幕设置位置,预设数量个屏幕设置位置即可作为步骤420中的多个屏幕设置位置。
步骤430,基于多个屏幕设置位置和屏幕法线方向,在三维模型所在的三维空间中添加虚拟屏幕组。
可选地,可以在多个屏幕设置位置中的每个屏幕设置位置均添加一个虚拟屏幕,并令每个虚拟屏幕均与屏幕法线方向垂直或者基本垂直,如此,即可实现虚拟屏幕组在三维空间中的添加。
本公开的实施例中,结合屏幕添加参考位置和观察视线方向,可以合理确定屏幕法线方向,例如,屏幕法线方向可以与观察视线方向相适配,结合屏幕添加参考位置和屏幕法线方向,可以合理确定多个屏幕设置位置,结合多个屏幕设置位置和屏幕法线方向,即可明确各个虚拟屏幕在三维空间中的位置和朝向,据此可以高效可靠地实现虚拟屏幕组的添加,并且,由于屏幕法线方向与观察视线方向相适配,能够方便用户对各个虚拟屏幕展示的素材内容进行查看。
图6是本公开一些示例性实施例提供的确定虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容的方式的流程示意图。图6所示的方法可以包括步骤610、步骤620和步骤630。可选地,步骤610、步骤620和步骤630的组合可以作为本公开的步骤150的可选实施方式。
步骤610,基于虚拟屏幕组中的多块虚拟屏幕各自的屏幕设置位置与屏幕添加参考位置之间的距离,确定多块虚拟屏幕各自对应的屏幕层级信息。
可选地,针对多块虚拟屏幕中的任一虚拟屏幕,通过简单的几何计算,即可确定该虚拟屏幕的屏幕设置位置与屏幕添加参考位置之间的距离。
基于多块虚拟屏幕各自对应的距离,可以确定多块虚拟屏幕各自对应的屏幕层级信息。例如,如图2所示,多块虚拟屏幕为N块虚拟屏幕,按照所对应距离由小至大的顺序,N块虚拟屏幕依次为虚拟屏幕1、虚拟屏幕2、……、虚拟屏幕N,则可以将虚拟屏幕1对应的屏幕层级信息确定为层级1,将虚拟屏幕2对应的屏幕层级信息确定为层级2,……、将虚拟屏幕N对应的屏幕层级信息确定为层级N。
当然,多块虚拟屏幕各自对应的屏幕层级信息的确定方式并不局限于此,例如,可以设定距离范围与层级之间的对应关系,针对任一虚拟屏幕,可以确定该虚拟屏幕对应的距离所属的距离范围,并将该距离范围对应的层级作为该虚拟屏幕对应的屏幕层级信息。
步骤620,基于多块虚拟屏幕各自对应的屏幕层级信息,从多张切分图像中,确定多块虚拟屏幕各自对应的切分图像。
可选地,针对多块虚拟屏幕中的任一虚拟屏幕,可以确定与该虚拟屏幕对应的屏幕层级信息相适配的深度范围,并从多张切分图像中,选择该深度范围对应的切分图像作为该虚拟屏幕对应的切分图像。
在一个例子中,通过对待展示图像进行切分,可以得到三张切分图像,分别是前景图像、中间图像、后景图像。N块虚拟屏幕可以为三块虚拟屏幕,分别是虚拟屏幕1、虚拟屏幕2、虚拟屏幕3,并且,虚拟屏幕1对应的屏幕层级信息为层级1,虚拟屏幕2对应的屏幕层级信息为层级2,虚拟屏幕3对应的屏幕层级信息为层级3,也即,虚拟屏幕1、虚拟屏幕2、虚拟屏幕3中,虚拟屏幕1离观察视点位置最近,虚拟屏幕3离观察视点位置最远。由于前景图像对应的深度范围中的深度值小于中景图像对应的深度范围中的深度值,中景图像对应的深度范围中的深度值小于后景图像对应的深度范围中的深度值,那么,可以将前景图像对应的深度范围作为与层级1适配的深度范围,将中景图像对应的深度范围作为与层级2适配的深度范围,将后景图像对应的深度范围作为与层级3适配的深度范围。这样,可以将前景图像确定为虚拟屏幕1对应的切分图像,将中间图像确定为虚拟屏幕2对应的切分图像,将后景图像确定为虚拟屏幕3对应的切分图像。
当然,步骤620的实施方式并不局限于此。例如,针对多块虚拟屏幕中的任一虚拟屏幕,可以确定与该虚拟屏幕对应的屏幕层级信息相适配的对象类型,并从多张切分图像中,选择包括该对象类型的对象的切分图像作为该虚拟屏幕对应的切分图像。
步骤630,针对多块虚拟屏幕中的任一虚拟屏幕,基于该虚拟屏幕对应的切分图像,确定该虚拟屏幕对应的素材内容。
可选地,针对多块虚拟屏幕中的任一虚拟屏幕,可以直接将该虚拟屏幕对应的切分图像确定为该虚拟屏幕对应的素材内容,或者,可以对该虚拟屏幕对应的切分图像进行去噪、增强等预处理,并将经预处理后的切分图像确定为该虚拟屏幕对应的素材内容。
本公开的实施例中,可以参考虚拟屏幕组中的多块虚拟屏幕各自的屏幕设置位置与屏幕添加参考位置之间的距离,为多块虚拟屏幕合理确定屏幕层级信息,依据确定出的屏幕层级信息,为多块虚拟屏幕合理确定对应的切分图像,如此,能够自适应地为虚拟屏幕确定合适的素材内容以用于展示,而无需用户指定多块虚拟屏幕各自对应的素材内容,智能化程度高,有利于提升用户体验。
图7是本公开一些示例性实施例提供的用于移动虚拟屏幕组的方法的流程示意图。图7所示的方法可以包括步骤710和步骤720。
步骤710,响应于观察视线方向发生变化,基于观察视线方向的变化信息,确定屏幕移动向量。
可选地,用户可以通过第六输入操作,改变观察视线方向。例如,在用户执行第六输入操作之前,观察视线方向可以为向量A,在用户执行第六输入操作之后,观察视线方向可以为向量B。观察视线方向的变化信息可以包括向量A、向量B,向量B与向量A之间的角度差等。在一些实施例中,观察视线方向的变化信息还可以包括发生变化的起点时间点和结束时间点。
在本公开的一些可选实施方式中,如图8所示,步骤710中的基于观察视线方向的变化信息,确定屏幕移动向量可以包括步骤7101、步骤7103、步骤7105和步骤7107。
步骤7101,确定观察视线方向发生变化之前,虚拟屏幕组中的基准虚拟屏幕在三维空间对应的世界坐标系下的第一空间坐标。
可选地,虚拟屏幕组中的基准虚拟屏幕可以是虚拟屏幕组中距离观察视点位置最近的虚拟屏幕。在一个例子中,基准虚拟屏幕可以为图2中的虚拟屏幕1。
可选地,三维空间对应的世界坐标系可以是以三维空间中的任意空间点为原点构建的三维坐标系。基准虚拟屏幕在三维空间对应的世界坐标系下的位置可以用基准虚拟屏幕的几何中心点(当然也可以为基准虚拟屏幕包括的其他点,本公开中均以为几何中心点的情况为例进行说明)在世界坐标系下的位置来进行表征。
可选地,第一空间坐标可以表示为(x1,y1,z1)。
步骤7103,确定观察视线方向发生变化之前,基准虚拟屏幕在电子设备的设备屏幕对应的屏幕坐标系下的屏幕坐标。
可选地,设备屏幕对应的屏幕坐标系可以为以设备屏幕包括的任意二维点(例如左上角点、左下角点等)构建的二维坐标系。基准虚拟屏幕在屏幕坐标系下的位置可以用基准虚拟屏幕的几何中心点在屏幕坐标系下的位置来进行表征。
可选地,屏幕坐标可以表示为(s,t)。
步骤7105,以虚拟基准屏幕对应的屏幕坐标固定为约束条件,基于观察视线方向的变化信息,确定观察视线方向发生变化之后,基准虚拟屏幕在世界坐标系下的第二空间坐标。
可选地,虚拟基准屏幕可以具有对应的局部坐标系。局部坐标系可以是以基准虚拟屏幕的几何中心点为原点构建的三维坐标系。用户对三维模型的观察可以涉及一相机坐标系。局部坐标系与世界坐标系之间的转换矩阵可以表示为ModelMatrix。世界坐标系与相机坐标系之间的转换矩阵可以表示为viewMartix。相机坐标系与屏幕坐标系之间的转换矩阵可以表示为projectionMatrix。
在观察视线方向发生变化之前,可以有如下公式:
(x,y,z,w)=projectionMatrix*viewMartix*ModelMatrix*(x0,y0,z0,1.0)
(s,t)=(x/w,y/w)
其中,(x0,y0,z0,1.0)表示基准虚拟屏幕的几何中心点在局部坐标系下的坐标的齐次表示,(x,y,z,w)表示屏幕坐标的齐次表示。
由于观察视线方向发生变化,viewMartix会随之发生变化,变化后的viewMartix可以依据观察视线方向的变化信息计算出来。由于将屏幕坐标(s,t)固定作为约束条件,则(x,y,z,w)是固定的,另外,projectionMatrix、(x0,y0,z0,1.0)也是可以认为是固定的,那么,为了使上述公式继续成立,可以改变ModelMatrix,变化后的ModelMatrix与(x0,y0,z0,1.0)相乘,得到的结果即可作为第二空间坐标。可选地,第二空间坐标可以表示为(x2,y2,z2)。
步骤7107,将由第一空间坐标表示的空间位置指向第二空间坐标表示的空间位置的向量作为屏幕移动向量。
可选地,屏幕移动向量可以表示为v,由于第一空间坐标表示为(x1,y1,z1),第二空间位置表示为(x2,y2,z2),则可以有v=(x2﹣x1,y2﹣y1,z2﹣z1)。
需要说明的是,虚拟屏幕在设备屏幕上的显示可以涉及三个转换矩阵(MVP),分别是局部坐标系与世界坐标系之间的转换矩阵(对应MVP中的M)、世界坐标系与相机坐标系之间的转换矩阵(对应MVP中的V)、相机坐标系与屏幕坐标系之间的转换矩阵(对应MVP中的P)。对于虚拟屏幕中的点,可以令其的坐标起始于局部坐标系,利用三个转换矩阵,该坐标可以依次变为世界坐标(World Coordinate)、观察坐标(View Coordinate)、裁剪坐标(Clip Coordinate)、屏幕坐标(Screen Coordinate)。这样,通过MVP矩阵的运用,能够高效可靠地确定出屏幕移动向量,屏幕移动向量可以有效地指示移动方向和移动距离。另外,由于屏幕移动向量的确定过程是以虚拟基准屏幕对应的屏幕坐标固定为约束条件,在虚拟屏幕组的移动结束之后,从用户视觉上来看,虚拟屏幕组在设备屏幕上的位置与观察视觉方向发生变化前的位置是相同的,也即,虚拟屏幕组在渲染画布上的位置是不变的。
步骤720,按照屏幕移动向量,在三维空间中移动虚拟屏幕组,以使虚拟屏幕组与三维模型的相对位置发生变化。
在本公开的一些可选实施方式中,如图9所示,步骤720可以包括步骤7201、步骤7203和步骤7205。
步骤7201,获取虚拟屏幕组中的多块虚拟屏幕各自对应的屏幕层级信息。
在步骤7201中,可以确定虚拟屏幕组中的多块虚拟屏幕各自对应的屏幕层级信息,具体确定方式可以参照上文中对步骤610的相关介绍。或者,在执行上述的步骤610确定出多块虚拟屏幕各自对应的屏幕层级信息之后,可以记录多块虚拟屏幕各自对应的屏幕层级信息,则在步骤7201中,可以直接获取已记录的多块虚拟屏幕各自对应的屏幕层级信息。
在一些实施例中,用户还可以通过第七输入操作,指定多块虚拟屏幕各自对应的屏幕层级信息。
步骤7203,基于多块虚拟屏幕各自对应的屏幕层级信息,确定多块虚拟屏幕各自对应的移动时间点。
可选地,参考多块虚拟屏幕各自对应的屏幕层级信息,可以令层级越高的虚拟屏幕对应的移动时间点越晚,层级越低的虚拟屏幕对应的移动时间点越早。
在一个例子中,N块虚拟屏幕可以为三块虚拟屏幕,分别是虚拟屏幕1、虚拟屏幕2、虚拟屏幕3,并且,虚拟屏幕1对应的屏幕层级信息为层级1,虚拟屏幕2对应的屏幕层级信息为层级2,虚拟屏幕3对应的屏幕层级信息为层级3,另外,观察视线方向的变化在时间点t1结束,则可以将时间点t1作为虚拟屏幕1对应的移动时间点,将比时间点t1晚预设时长的时间点t2作为虚拟屏幕2对应的移动时间点,将比时间点t2晚预设时长的时间点t3作为虚拟屏幕3对应的移动时间点。预设时长可以包括但不限于0.2秒、0.4秒、0.5秒、1秒等,在此不再一一列举。
在一些实施例中,时间点t2与时间点t1之间的间隔时长,以及时间点t3与时间点t2之间的间隔时长可以不为预设时长,而为随机确定的时长。
在另一些实施例中,可以将时间点t1作为虚拟屏幕1对应的移动时间点,将比时间点t1晚预设时长的时间点t2作为虚拟屏幕2和虚拟屏幕3分别对应的移动时间点。
步骤7205,针对多块虚拟屏幕中的任一虚拟屏幕,从该虚拟屏幕对应的移动时间点开始,按照屏幕移动向量,在三维空间中移动该虚拟屏幕。
可选地,针对多块虚拟屏幕中的任一虚拟屏幕,可以从该虚拟屏幕对应的移动时间点开始移动该虚拟屏幕,该虚拟屏幕的移动方向和移动距离由屏幕移动向量指示。另外,该虚拟屏幕既可以匀速移动,也可以加速移动,或者减速移动。
图9所示实施方式中,可以参考多块虚拟屏幕各自对应的屏幕层级信息,为多块虚拟屏幕分别确定合适的移动时间点,以使各虚拟屏幕从相应移动时间点开始移动,这样,多块虚拟屏幕的开始移动时间可以是不同的,由此能够体现出错落有致的视觉效果,给用户带来更丰富的视觉体验和动态观感,增强趣味性。
在本公开的一些可选实施方式中,如图10所示,本公开的实施例提供的方法还包括步骤1010和步骤1020。
步骤1010,响应于观察视线方向发生变化,确定观察视线方向变化过程的角速度。
可选地,观察视线方向的变化信息可以包括向量B与向量A之间的角度差,以及发生变化的起点时间点和结束时间点,则起点时间点与结束时间点之间的时长为变化持续时长,通过将角度差与变化持续时长相除,即可得到观察视线方向变化过程的角速度。
步骤1020,确定与角速度适配的屏幕移动速度。
可选地,可以预先设定自变量为角速度,应变量为移动速度的函数(后续将其称为目标函数);其中,移动速度可以与角速度呈正相关。这样,只需将步骤1010中确定出的角速度输入目标函数,通过运算即可确定相应的移动速度,该移动速度即可作为步骤1010中的屏幕移动速度。
相应地,步骤720中的按照屏幕移动向量,在三维空间中移动虚拟屏幕组可以包括步骤7207。
步骤7207,按照屏幕移动向量和屏幕移动速度,在三维空间中移动虚拟屏幕组。
可选地,对于多块虚拟屏幕中的任一虚拟屏幕,可以从该虚拟屏幕对应的移动时间点开始,以屏幕移动速度为初始速度进行匀速移动、加速移动、减速移动等,并且,该虚拟屏幕的移动方向和移动距离由屏幕移动向量指示。
需要说明的是,观察视线方向变化过程的角速度可以表征观察视线方向发生变化的快慢,图10所示实施方式中,依据观察视线方向发生变化的快慢,可以合理确定屏幕移动速度,这样有利于使各虚拟屏幕根据实际情况以合适的速度进行移动。
在一些实施例中,也可以按照预设移动速度,对各虚拟屏幕进行移动,而无需考虑观察视线方向变化过程的角速度。
本公开的实施例中,在观察视线方向发生变化的情况下,可以合理确定屏幕移动向量,并按照屏幕移动向量,在三维空间中移动虚拟屏幕组,这样,虚拟屏幕组可以呈现出错落有致的层次效果,例如图11所示的层次效果,从而能够具有更强的空间感。并且,由于虚拟屏幕组的移动,可以通过虚拟屏幕组与三维模型在三维空间中的相对位置的变化,使最终呈现在设备屏幕上的虚拟屏幕组的位置趋于不变,以便于用户对各虚拟屏幕展示的素材内容进行查看。
综上,本公开的实施例可以在VR空间中展示一组具有空间关系的错层虚拟屏幕,例如,如图2所示,可以展示虚拟屏幕1、虚拟屏幕2、……、虚拟屏幕N,虚拟屏幕1、虚拟屏幕2、……、虚拟屏幕N可以沿观察视线方向延展。虚拟屏幕1可以认为是基准层,虚拟屏幕2可以认为是中间层,虚拟屏幕N可以认为是表层,基础层与表层之间的距离d可以认为是整个错层虚拟屏幕的高度。用户可以主动针对各个虚拟屏幕上传需要展示的素材内容。
另外,在用户查看错层虚拟屏幕时,如果观察视线方向发生变化,可以控制不同虚拟屏幕在不同时间点开始移动。例如,一旦观察视线方向发生变化,基准层立即开始移动,表层延迟1秒开始移动,中间层延迟t(t大于0且小于1)秒开始移动,且中间层与基准层的距离越大,t的数值越大。可选地,基准层、中间层、表层均可以减速移动,并且,基准层、中间层、表层各自的移动加速度可以不同。例如,中间层的移动加速度的绝对值可以大于基准层的移动加速度的绝对值,表层的移动加速度的绝对值可以大于中间层的移动加速度的绝对值。如此,能够使用户获得更丰富的视觉体验和动态观感,提升趣味性和层次感。
本公开的实施例提供的任一种内容展示方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种内容展示方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种内容展示方法。下文不再赘述。
示例性装置
图12是本公开一些示例性实施例提供的内容展示装置的结构示意图,图12所示的装置包括:
第一确定模块1220,用于确定三维模型中的屏幕添加参考位置;
第二确定模块1230,用于确定对三维模型的观察视线方向;
添加模块1240,用于基于屏幕添加参考位置和观察视线方向,在三维模型所在的三维空间中添加虚拟屏幕组;
第三确定模块1250,用于确定虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;
展示模块1260,用于通过多块虚拟屏幕分别展示相应素材内容。
在一些可选示例中,如图13所示,本公开的实施例提供的装置还包括:
第四确定模块1310,用于响应于观察视线方向发生变化,基于观察视线方向的变化信息,确定屏幕移动向量;
移动模块1320,用于按照屏幕移动向量,在三维空间中移动虚拟屏幕组,以使虚拟屏幕组与三维模型的相对位置发生变化。
在一些可选示例中,第四确定模块1310,包括:
第一确定子模块,用于确定观察视线方向发生变化之前,虚拟屏幕组中的基准虚拟屏幕在三维空间对应的世界坐标系下的第一空间坐标;
第二确定子模块,用于确定观察视线方向发生变化之前,基准虚拟屏幕在电子设备的设备屏幕对应的屏幕坐标系下的屏幕坐标;
第三确定子模块,用于以虚拟基准屏幕对应的屏幕坐标固定为约束条件,基于观察视线方向的变化信息,确定观察视线方向发生变化之后,基准虚拟屏幕在世界坐标系下的第二空间坐标;
第四确定子模块,用于将由第一空间坐标表示的空间位置指向第二空间坐标表示的空间位置的向量作为屏幕移动向量。
在一些可选示例中,移动模块1320,包括:
获取子模块,用于获取虚拟屏幕组中的多块虚拟屏幕各自对应的屏幕层级信息;
第五确定子模块,用于基于多块虚拟屏幕各自对应的屏幕层级信息,确定多块虚拟屏幕各自对应的移动时间点;
移动子模块,用于针对多块虚拟屏幕中的任一虚拟屏幕,从该虚拟屏幕对应的移动时间点开始,按照屏幕移动向量,在三维空间中移动该虚拟屏幕。
在一些可选示例中,如图13所示,本公开的实施例中的装置还包括:
第五确定模块1330,用于响应于观察视线方向发生变化,确定观察视线方向变化过程的角速度;
第六确定模块1340,用于确定与角速度适配的屏幕移动速度;
移动模块1320,具体用于按照屏幕移动向量和屏幕移动速度,在三维空间中移动虚拟屏幕组。
在一些可选示例中,添加模块1240,包括:
第六确定子模块,用于基于屏幕添加参考位置和观察视线方向,确定屏幕法线方向;
第七确定子模块,用于基于屏幕添加参考位置和屏幕法线方向,在三维模型所在的三维空间中确定多个屏幕设置位置;
添加子模块,用于基于多个屏幕设置位置和屏幕法线方向,在三维模型所在的三维空间中添加虚拟屏幕组。
在一些可选示例中,第七确定子模块,包括:
第一确定单元,用于确定待展示图像;
切分单元,用于对待展示图像进行切分,得到多张切分图像;
第二确定单元,用于确定多张切分图像包括的切分图像的第一数量;
第三确定单元,用于基于第一数量,确定待添加的虚拟屏幕的第二数量;
第四确定单元,用于基于屏幕添加参考位置和屏幕法线方向,在三维模型所在的三维空间中确定第二数量个屏幕设置位置。
在一些可选示例中,第三确定模块1250,包括:
第八确定子模块,用于基于虚拟屏幕组中的多块虚拟屏幕各自的屏幕设置位置与屏幕添加参考位置之间的距离,确定多块虚拟屏幕各自对应的屏幕层级信息;
第九确定子模块,用于基于多块虚拟屏幕各自对应的屏幕层级信息,从多张切分图像中,确定多块虚拟屏幕各自对应的切分图像;
第十确定子模块,用于针对多块虚拟屏幕中的任一虚拟屏幕,基于该虚拟屏幕对应的切分图像,确定该虚拟屏幕对应的素材内容。
示例性电子设备
下面,参考图14来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图14图示了根据本公开实施例的电子设备1400的框图。
如图14所示,电子设备1400包括一个或多个处理器1410和存储器1420。
处理器1410可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1400中的其他组件以执行期望的功能。
存储器1420可以存储一个或多个计算机程序产品,所述存储器1420可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器1410可以运行所述计算机程序产品,以实现上文所述的本公开的各个实施例的内容展示方法以及/或者其他期望的功能。
在一个示例中,电子设备1400还可以包括:输入装置1430和输出装置1440,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备1400是第一设备或第二设备时,该输入装置1430可以是麦克风或麦克风阵列。在电子设备1400是单机设备时,该输入装置1430可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1430还可以包括例如键盘、鼠标等等。
该输出装置1440可以向外部输出各种信息。该输出装置1440可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图14中仅示出了该电子设备1400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1400还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的内容展示方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的内容展示方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种内容展示方式,其特征在于,包括:
确定三维模型中的屏幕添加参考位置;
确定对所述三维模型的观察视线方向;
基于所述屏幕添加参考位置和所述观察视线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组;
确定所述虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;
通过所述多块虚拟屏幕分别展示相应素材内容。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述观察视线方向发生变化,基于所述观察视线方向的变化信息,确定屏幕移动向量;
按照所述屏幕移动向量,在所述三维空间中移动所述虚拟屏幕组,以使所述虚拟屏幕组与所述三维模型的相对位置发生变化。
3.根据权利要求2所述的方法,其特征在于,所述基于所述观察视线方向的变化信息,确定屏幕移动向量,包括:
确定所述观察视线方向发生变化之前,所述虚拟屏幕组中的基准虚拟屏幕在所述三维空间对应的世界坐标系下的第一空间坐标;
确定所述观察视线方向发生变化之前,所述基准虚拟屏幕在电子设备的设备屏幕对应的屏幕坐标系下的屏幕坐标;
以所述虚拟基准屏幕对应的所述屏幕坐标固定为约束条件,基于所述观察视线方向的变化信息,确定所述观察视线方向发生变化之后,所述基准虚拟屏幕在所述世界坐标系下的第二空间坐标;
将由所述第一空间坐标表示的空间位置指向所述第二空间坐标表示的空间位置的向量作为屏幕移动向量。
4.根据权利要求2所述的方法,其特征在于,所述按照所述屏幕移动向量,在所述三维空间中移动所述虚拟屏幕组,包括:
获取所述虚拟屏幕组中的多块虚拟屏幕各自对应的屏幕层级信息;
基于所述多块虚拟屏幕各自对应的屏幕层级信息,确定所述多块虚拟屏幕各自对应的移动时间点;
针对所述多块虚拟屏幕中的任一虚拟屏幕,从该虚拟屏幕对应的移动时间点开始,按照所述屏幕移动向量,在所述三维空间中移动该虚拟屏幕。
5.根据权利要求2所述的方法,其特征在于,
所述方法还包括:
响应于所述观察视线方向发生变化,确定所述观察视线方向变化过程的角速度;
确定与所述角速度适配的屏幕移动速度;
所述按照所述屏幕移动向量,在所述三维空间中移动所述虚拟屏幕组,包括:
按照所述屏幕移动向量和所述屏幕移动速度,在所述三维空间中移动所述虚拟屏幕组。
6.根据权利要求1所述的方法,其特征在于,所述基于所述屏幕添加参考位置和所述观察视线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组,包括:
基于所述屏幕添加参考位置和所述观察视线方向,确定屏幕法线方向;
基于所述屏幕添加参考位置和所述屏幕法线方向,在所述三维模型所在的三维空间中确定多个屏幕设置位置;
基于所述多个屏幕设置位置和所述屏幕法线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组。
7.根据权利要求6所述的方法,其特征在于,所述基于所述屏幕添加参考位置和所述屏幕法线方向,在所述三维模型所在的三维空间中确定多个屏幕设置位置,包括:
确定待展示图像;
对所述待展示图像进行切分,得到多张切分图像;
确定所述多张切分图像包括的切分图像的第一数量;
基于所述第一数量,确定待添加的虚拟屏幕的第二数量;
基于所述屏幕添加参考位置和所述屏幕法线方向,在所述三维模型所在的三维空间中确定所述第二数量个屏幕设置位置。
8.根据权利要求7所述的方法,其特征在于,所述确定所述虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容,包括:
基于所述虚拟屏幕组中的多块虚拟屏幕各自的屏幕设置位置与所述屏幕添加参考位置之间的距离,确定所述多块虚拟屏幕各自对应的屏幕层级信息;
基于所述多块虚拟屏幕各自对应的屏幕层级信息,从所述多张切分图像中,确定所述多块虚拟屏幕各自对应的切分图像;
针对所述多块虚拟屏幕中的任一虚拟屏幕,基于该虚拟屏幕对应的切分图像,确定该虚拟屏幕对应的素材内容。
9.一种内容展示装置,其特征在于,包括:
第一确定模块,用于确定三维模型中的屏幕添加参考位置;
第二确定模块,用于确定对所述三维模型的观察视线方向;
添加模块,用于基于所述屏幕添加参考位置和所述观察视线方向,在所述三维模型所在的三维空间中添加虚拟屏幕组;
第三确定模块,用于确定所述虚拟屏幕组中的多块虚拟屏幕各自对应的素材内容;
展示模块,用于通过所述多块虚拟屏幕分别展示相应素材内容。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时,实现上述权利要求1至8中任一项所述的内容展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311659230.4A CN117635886A (zh) | 2023-12-05 | 2023-12-05 | 内容展示方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311659230.4A CN117635886A (zh) | 2023-12-05 | 2023-12-05 | 内容展示方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117635886A true CN117635886A (zh) | 2024-03-01 |
Family
ID=90021327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311659230.4A Pending CN117635886A (zh) | 2023-12-05 | 2023-12-05 | 内容展示方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117635886A (zh) |
-
2023
- 2023-12-05 CN CN202311659230.4A patent/CN117635886A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783536B2 (en) | Image occlusion processing method, device, apparatus and computer storage medium | |
US9704282B1 (en) | Texture blending between view-dependent texture and base texture in a geographic information system | |
KR20120009564A (ko) | 3차원 마우스 포인터 생성방법 및 생성장치 | |
US10417833B2 (en) | Automatic 3D camera alignment and object arrangment to match a 2D background image | |
US10325403B2 (en) | Image based rendering techniques for virtual reality | |
CN111985036A (zh) | 户型框线图绘制方法和装置、存储介质、电子设备 | |
CN111681320B (zh) | 三维房屋模型中的模型展示方法及装置 | |
CN115803782A (zh) | 具有实时深度图的感受几何结构的增强现实效果 | |
CN114942737A (zh) | 显示方法、装置、显示设备、头戴式设备及存储介质 | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 | |
CN114170381A (zh) | 三维路径展示方法、装置、可读存储介质及电子设备 | |
US6346939B1 (en) | View dependent layer ordering method and system | |
CN115512046B (zh) | 模型外点位的全景图展示方法和装置、设备、介质 | |
CN115063564B (zh) | 用于二维显示图像中的物品标签展示方法、装置及介质 | |
CN111047674A (zh) | 一种动画渲染方法及装置 | |
CN117635886A (zh) | 内容展示方法、装置及计算机可读存储介质 | |
CN114463104B (zh) | 用于处理vr场景的方法、装置和计算机可读存储介质 | |
US11910068B2 (en) | Panoramic render of 3D video | |
CN115311397A (zh) | 用于图像渲染的方法、装置、设备和存储介质 | |
CN112288839B (zh) | 渲染三维模型厚度的方法、系统、电子设备和存储介质 | |
CN115131532A (zh) | 用于生成三维模型的方法、装置、设备和存储介质 | |
CN113741846A (zh) | 一种图像生成方法、装置、电子设备及存储介质 | |
CN117635792A (zh) | 渲染方法和装置、电子设备和存储介质 | |
CN115155062A (zh) | 一种信息处理方法、信息处理装置、电子设备和存储介质 | |
CN115390723A (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 |