1.本技术涉及特效处理技术领域,尤其涉及一种三维模型的视角变换方法、装置、设备及存储介质。
背景技术:2.用户在制作特效时,对物体的视角变换有很大的需求,比如,用户在制作三维模型时的特效时,需要从多个角度查看三维模型,从而更好对三维模型进行编辑。
3.而在该场景中,现有技术中的工具只能对整体视图的视角进行变换,而整体角度的变换使的用户无法自由控制对主体物的观看角度,很多情况下,会使得主体物(想要观看的物体)远离用户所见视觉范围,这样,无法满足用户对主体物在调整细节上的需求。而后,用户需要自主调整对各个坐标轴进行移动或者旋转,才可以将视角合适地聚焦到主体物,增加了调整步骤,降低了查看主体物特定视角的效率。
技术实现要素:4.本技术实施例提供一种三维模型的视角变换方法、装置、设备及存储介质,用以提高减少视角变换的步骤,提高变换效率。
5.第一方面,本技术一实施例提供了一种三维模型的视角变换方法,包括:
6.响应于对至少一个目标三维模型的选择操作,在三维模型展示的立体空间中,确定选中的至少一个目标三维模型;
7.从所述立体空间中确定包括选中的所述至少一个目标三维模型的子空间;
8.响应于对所述至少一个目标三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对选中的所述至少一个目标三维模型进行视角变换。
9.在一些示例性的实施方式中,所述对所述至少一个目标三维模型进行视角变换之后,还包括:
10.在变换后的视角中,若选中的所述至少一个目标三维模型与未选中三维模型存在遮挡关系,则对所述未选中三维模型进行弱化显示。
11.在一些示例性的实施方式中,通过如下方式中的至少一个进行弱化显示:
12.半透明显示、透明显示、虚化显示或网格化显示。
13.在一些示例性的实施方式中,所述响应于对所述至少一个目标三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对所述至少一个目标三维模型进行视角变换,包括:
14.响应于对所述至少一个目标三维模型的视角变换操作,确定所述视角变换操作匹配的目标视角;
15.以所述子空间的中心轴为变换基准,对所述至少一个目标三维模型进行视角变换,直到所述至少一个目标三维模型的视角变换至目标视角。
16.在一些示例性的实施方式中,若选中的所述目标三维模型中至少有一个为动态三
维模型,则在响应于对至少一个目标三维模型的选择操作之前,还包括:
17.检测到用户对所述动态三维模型形成的视频的暂停操作后,确定暂停后的所述视频显示的静态画面;
18.所述响应于对所述至少一个目标三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对选中的所述至少一个目标三维模型进行视角变换,包括:
19.响应于对通过对所述静态画面的视角变换来对所述动态三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对选中的包括动态三维模型的所述至少一个目标三维模型进行视角变换。
20.在一些示例性的实施方式中,所述对选中的包括动态三维模型的所述至少一个目标三维模型进行视角变换之后,还包括:
21.检测到用户对暂停后的所述动态三维模型形成的视频的恢复播放操作后,控制所述动态三维模型按照所述目标视角进行动态展示。
22.在一些示例性的实施方式中,所述子空间的中心轴为与所述立体空间中的基准面垂直的中心轴。
23.第二方面,本技术一实施例提供了一种三维模型的视角变换装置,包括:
24.目标三维模型确定单元,被配置为执行响应于对至少一个目标三维模型的选择操作,在三维模型展示的立体空间中,确定选中的至少一个目标三维模型;
25.子空间确定单元,被配置为执行从所述立体空间中确定包括选中的所述至少一个目标三维模型的子空间;
26.视角变换单元,被配置为执行响应于对所述至少一个目标三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对选中的所述至少一个目标三维模型进行视角变换。
27.在一些示例性的实施方式中,还包括弱化显示单元,在所述对所述至少一个目标三维模型进行视角变换之后,所述弱化显示单元被配置为执行:
28.在变换后的视角中,若选中的所述至少一个目标三维模型与未选中三维模型存在遮挡关系,则对所述未选中三维模型进行弱化显示。
29.在一些示例性的实施方式中,所述弱化显示单元具体被配置为执行通过如下方式中的至少一个进行弱化显示:
30.半透明显示、透明显示、虚化显示或网格化显示。
31.在一些示例性的实施方式中,所述视角变换单元被配置为执行:
32.响应于对所述至少一个目标三维模型的视角变换操作,确定所述视角变换操作匹配的目标视角;
33.以所述子空间的中心轴为变换基准,对所述至少一个目标三维模型进行视角变换,直到所述至少一个目标三维模型的视角变换至目标视角。
34.在一些示例性的实施方式中,若选中的所述目标三维模型中至少有一个为动态三维模型,则还包括暂停单元,在响应于对至少一个目标三维模型的选择操作之前,所述暂停单元被配置为执行:
35.检测到用户对所述动态三维模型形成的视频的暂停操作后,确定暂停后的所述视频显示的静态画面;
36.所述视角变换单元具体被配置为执行:
37.响应于对通过对所述静态画面的视角变换来对所述动态三维模型的视角变换操作,以所述子空间的中心轴为变换基准,对选中的包括动态三维模型的所述至少一个目标三维模型进行视角变换。
38.在一些示例性的实施方式中,还包括动态展示单元,在所述对选中的包括动态三维模型的所述至少一个目标三维模型进行视角变换之后,所述动态展示单元被配置为执行:
39.检测到用户对暂停后的所述动态三维模型形成的视频的恢复播放操作后,控制所述动态三维模型按照所述目标视角进行动态展示。
40.在一些示例性的实施方式中,所述子空间的中心轴为与所述立体空间中的基准面垂直的中心轴。
41.第三方面,本技术一实施例提供了一种电子设备,包括:
42.处理器;
43.用于存储所述处理器可执行指令的存储器;
44.其中,所述处理器被配置为执行所述指令,以实现上述三维模型的视角变换方法中的任意一种方法。
45.第四方面,本技术一实施例提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述三维模型的视角变换方法中的任意一种方法。
46.第五方面,本技术一实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述三维模型的视角变换方法中的任意一种方法。
47.本技术的实施例提供的技术方案至少带来以下有益效果:
48.在通过对目标三维模型的选择操作来确定选中的至少一个目标三维模型,针对选中的至少一个目标三维模型,确定包括至少一个目标三维模型的子空间,这样,在进行视角变换操作时,变换基准为子空间的中心轴,进而实现对选中的至少一个目标三维模型进行视角变换。如此,可以快速将目标三维模型变换至任意视角,减少视角变换的步骤,提高变换效率。
49.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
50.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1为本技术实施例提供的一种三维模型的视角变换方法的应用场景示意图;
52.图2为本技术一实施例提供的一种三维模型的视角变换方法的流程示意图;
53.图3为本技术一实施例提供的一种单三维模型视角变换前的界面图;
54.图4为本技术一实施例提供的一种单三维模型视角变换时选中状态的界面图;
55.图5为本技术一实施例提供的一种单三维模型视角变换后的界面图;
56.图6为本技术一实施例提供的另一种单三维模型视角变换前的界面图;
57.图7为本技术一实施例提供的另一种单三维模型视角变换时选中状态的界面图;
58.图8为本技术一实施例提供的另一种单三维模型视角变换后的界面图;
59.图9为本技术一实施例提供的一种多三维模型视角变换前的界面图;
60.图10为本技术一实施例提供的一种多三维模型视角变换时选中状态的界面图;
61.图11为本技术一实施例提供的一种多三维模型视角变换后的界面图;
62.图12为本技术一实施例提供的一种眼镜特效的三维模型的示意图;
63.图13为本技术一实施例提供的一种三维模型的视角变换装置的结构示意图;
64.图14为本技术一实施例提供的一种电子设备的示意图。
具体实施方式
65.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
66.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
67.以下,对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
68.(1)本技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
69.(2)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
70.(3)服务器,是为终端服务的,服务的内容诸如向终端提供资源,保存终端数据;服务器是与终端上安装的应用程序相对应的,与终端上的应用程序配合运行。
71.(4)终端设备,既可以指软件类的app(application,应用程序),也可以指客户端。它具有可视的显示界面,能与用户进行交互;是与服务器相对应,为客户提供本地服务。针对软件类的应用程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户终端上,需要与服务端互相配合运行。因特网发展以后,较常用的应用程序包括了如收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,配置参数服务等,这样在客户终端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
72.(5)ar(augmented reality,增强现实)特效:相机拍摄时作品的附加样式,包括滤镜、人脸变形、美妆、人脸贴纸跟随等。
73.(6)ar特效工具:一个设计ar特效的工具,用户可以设计相机拍摄中的ar内容、形式、玩法等。
74.在具体实践过程中,用户在制作特效时,对物体的视角变换有很大的需求,比如,用户在制作三维模型时的特效时,需要从多个角度查看和/或比对三维模型,从而更好对三维模型进行编辑。
75.而在该场景中,现有技术中的工具只能对整体视图的视角进行变换,而整体角度的变换使得用户无法自由控制对主体物的观看角度,很多情况下,会使得主体物远离用户所见视觉范围。这样,在细节上无法满足用户需求。
76.相关技术中的3d(3
‑
dimension)特效制作工具的视角转换时,只能进行整体视角变换,整体角度的变换使得用户无法自由控制对主体物的观看角度,很多情况下会使得主体物远离用户所见视觉范围。而后,用户需要自主调整x、y、z轴的移动、旋转从而将视角合适的聚焦到主体物。增加了调整步骤、降低使用效率。
77.为此,本技术提供了一种三维模型的视角变化方法,响应于对至少一个目标三维模型的选择操作,在三维模型展示的立体空间中,确定选中的至少一个目标三维模型,比如用户通过单击操作选择了一个目标三维模型;从立体空间中确定包括选中的至少一个目标三维模型的子空间,比如可以是包围该目标三维模型的一个长方体的立体空间;响应于对至少一个目标三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的至少一个目标三维模型进行视角变换。这样进行的视角变换操作,减少视角变换的步骤,提高变换效率。
78.在介绍完本技术实施例的设计思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
79.参考图1,其为本技术实施例提供的一种三维模型的视角变换的方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101
‑
1、终端设备101
‑
2、
……
终端设备101
‑
n)、三维模型的视角变换服务器102。其中,终端设备101、三维模型的视角变换服务器102之间通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。三维模型的视角变换服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。三维模型的视角变换服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
80.终端设备101
‑
1将各个三维模型展示在立体空间中,如果用户1选择其中至少一个三维模型,则响应于该选择操作,确定选中的三维模型为目标三维模型;终端设备101
‑
1从立体空间中确定包括选中的至少一个三维目标三维模型的子空间;终端设备101
‑
1响应于至少一个目标三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的至少一个目标三维模型进行视角变换。终端设备101
‑
1将视角变换后的结果展示给用户1。
81.当然,本技术实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本技术实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
82.为进一步说明本技术实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本技术实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本技术实施例提供的执行顺序。
83.下面结合图1所示的应用场景,对本技术实施例提供的技术方案进行说明。
84.参考图2,本技术实施例提供一种三维模型的视角变换方法,包括以下步骤:
85.s201、响应于对至少一个目标三维模型的选择操作,在三维模型展示的立体空间中,确定选中的至少一个目标三维模型。
86.s202、从立体空间中确定包括选中的至少一个目标三维模型的子空间。
87.s203、响应于对至少一个目标三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的至少一个目标三维模型进行视角变换。
88.在通过对目标三维模型的选择操作来确定选中的至少一个目标三维模型,针对选中的至少一个目标三维模型,确定包括至少一个目标三维模型的子空间,这样,在进行视角变换操作时,变换基准为子空间的中心轴,进而实现对选中的至少一个目标三维模型进行视角变换。如此,可以快速将目标三维模型变换至任意视角,减少视角变换的步骤,提高变换效率。
89.涉及到s201,以一个ar特效工具为例,在3d视图面板中,将整个空间称为三维模型展示的立体空间,在立体空间中展示的三维模型为一个或者多个,而用户的选择操作,可以是选择其中一个三维模型作为目标三维模型,还可以是选择多个三维模型作为目标三维模型,目标三维模型即为将要进行视角变化的三维模型。
90.在一个具体的例子中,如果目标三维模型为一个,则选择操作可以是单击或者双击目标三维模型;如果目标三维模型为两个或以上,则选择操作可以是在先选中其中一个目标三维模型,同时按住执行视图变换功能的设备上的快捷键,比如shift键,继续选中剩余的其他目标三维模型。对于确定选中的至少一个目标三维模型,可以通过边框突出显示的方式对其进行突出显示,以便与其他未选中的三维模型进行区分显示。
91.涉及到s202,为了确定视角变换过程中的变换基准,在确定选中的至少一个目标三维模型后,从立体空间中确定包括选中的至少一个目标三维模型的子空间。
92.其中,该子空间为能包围选中的至少一个目标三维模型的最小的空间,该子空间通常为前述立体空间的一部分。在一个具体的例子中,该子空间可以是长方体或者其他不规则多面体,但是为了计算方便与准确,通常选用长方体。比如,在包括选中的至少一个目标三维模型的若干个子空间中,确定长、宽和高分别最小的长方体作为子空间。
93.涉及到s203,在确定了至少一个目标三维模型以及包括选中的至少一个目标三维模型的子空间后,响应于对至少一个目标三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的至少一个目标三维模型进行视角变换。
94.具体的,视角变换操作可以是点击显示在当前显示界面的设定区域处的视角变换图标或者快捷键(以图标的形式显示在当前显示页界面或者是外接设备上的快捷键),这样通过识别视角变换操作即可以确定与该视角变换操作匹配的目标视角,比如,视角变化操作为点击的视角变换图标的“正”,则目标视角为“正”。
95.接下来以子空间的中心轴为变换基准,对至少一个目标三维模型进行视角变换,直到至少一个目标三维模型变换至目标视角。如果选中的目标三维模型为一个,则该一个目标三维模型直接变换至目标视角;如果选中的目标三维模型为多个,则多个目标三维模型同时变换至目标视角。
96.这样,首先确定出每个视角变换操作匹配的目标视角,在以子空间的中心轴为变换基准进行视角变换,提高了视角变换的准确率和效率。
97.视角变换时应用的中心轴可以通过如下方式确定:一个子空间可以包括多个中心轴,以长方体为例,一个长方体可以包括三个中心轴,在本技术实施例中,将与立体空间中的基准面垂直的子空间的中心轴作为视角变换时的中心轴。该基准面可以是指立体空间中三维模型底部所在的平面。这样,由于视角是相对的,且是以基准面设置的,因此,通过使目标三维模型在立体空间的基准面内进行视角变换,保证目标三维模型的视角变换的准确性。
98.在实际的应用过程中,选中的目标三维模型可以是动态三维模型,可以是静态三维模型,也可以同时包括动态三维模型和静态三维模型,其中,静态三维模型是指处于静止状态的三维模型,动态三维模型处于动画状态的三维模型。
99.如果选中的目标三维模型均为静态三维模型,则可以直接应用上述实施例中的视角变换方法进行视角变换。
100.如果选中的目标三维模型中至少有一个动态三维模型,为了更准确的进行视角变换,在响应于对至少一个目标三维模型的选择操作之前,先对动态三维模型形成的视频进行暂停操作,系统检测到用户对动态三维模型形成的视频的暂停操作后,确定暂停后的视频显示的静态画面。在一个具体的例子中,可以是在动态三维模型形成的视频在展示过程中,比如是动画的展示过程中,用户观察到第70s的动画画面有问题,想要对其进行局部调整,因此,用户通过对视频进行暂停来得到第70s这一关键帧的静态画面。而在实际的应用过程中,暂停的静态画面可能不一定是第70s这一关键帧,此时,可以通过调节当前展示页面中的帧调节按钮实现。这样,暂停后的动态三维模型的本质为静态三维模型,此时可以按照对静态三维模型的视角变换操作的方式对暂停后的动态三维模型进行视角变换操作,也即,响应于对通过对静态画面的视角变换来对动态三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的包括动态三维模型的至少一个目标三维模型进行视角变换。
101.这样,在目标三维模型包括动态模型时,通过检测用户对该动态模型形成的视频的暂停操作后,再通过对该静态画面的视角变换来对动态模型进行视角变换。可以精准的将用户想要查看的动画模型的静态画面的视角变换至用户需要的视角,以便用户更好的对该视角下的动态模型进行查看等操作。
102.由于此时的视角比较利于用户观察,用户可以对视角变换后的三维模型来进行局部或者细节调整。由于用户还需要继续对动态三维模型进行观察,还确定其他需要进行局部或者细节调整的关键帧,此时用户通常使其继续播放,系统检测到用户对暂停后的动态三维模型形成的视频的恢复播放操作后,控制动态三维模型按照目标视角进行动态展示。具体的,恢复播放可以是动态三维模型构成的动画继续按照固有的展示方式进行展示,而展示视角为目标视角。
103.这样,恢复播放操作后的动态模型按照目标视角进行动态展示,保证了动态模型
展示的一致性,以便用户更好的对动态模型进行查看等操作。
104.在实际的应用过程中,视角变换后,如果选中的目标三维模型与未选中的三维模型存在遮挡关系,则对未选中的目标三维模型进行弱化显示。这样,未选中的三维模型则不会对选中的目标三维模型产生遮挡,以便用户可以对在变换后的视角下对目标三维模型进行局部或者细节调整。
105.具体的,可以通过如下方式中的至少一个进行弱化显示:半透明显示、透明显示、虚化显示或网格化显示。如果需要弱化显示的未选中的三维模型只有一个,则可以用上述方式之一进行弱化显示,比如透明显示;如果需要弱化显示的未选中的三维模型为两个以上,则弱化显示方式可以均采用同一种,比如透明显示,也可以分别采用不同的弱化显示方式对各个未选中的三维模型进行弱化显示。
106.这样,多种弱化显示方式,更有助凸显目标三维模型,以便用户在变换后的视角下对目标三维模型进行局部细节调整。
107.为了使本技术的技术方案更容易理解,下面用具体的例子进行说明。
108.第一种情况,当前立体空间中只有一个三维模型且该三维模型为选中的目标三维模型。图3示出了一种单三维模型视角变换前的界面图,图4示出了一种单三维模型视角变换时选中状态的界面图,图5示出了一种单三维模型视角变换后的界面图。
109.参考图3,来对当前界面的各个区域或面板进行说明,其中,31表示特效图层面板,比如用于显示所建的特效图层,每个图层代表一个功能或元素;32表示预览面板,比如用于显示设计效果;33表示3d视图面板,比如用于用户编辑三维模型位置、旋转、镜像、大小、动画等基础编辑,可以在该面板进行视角变换;34表示参数面板,比如用于设置图层的具体数值。
110.具体的,各个面板还具备以下功能:特效图层的触发逻辑设置,包括触发前后的特效图层、特效图层的触发顺序、特效图层的触发条件。用于丰富用户拍摄的效果,使得用户拍摄时有更多的玩法。示例性的,特效预览是指特效图层面板中特效图层的总体效果;触发预览是指预览面板上的逻辑视图的整体效果,包含特效图层与触发逻辑;容器预览是指单个容器的预览,其中容器表示某阶段的特效图层的集合;局部预览是指触发面板上的逻辑视图的局部效果,可形成通路的容器连线。
111.参考图4,目标三维模型41为一个,通过对其轮廓进行加粗显示来确定其处于选中状态,42表示包括该目标三维模型的子空间,43表示该子空间的中心轴,44表示视角变换图标。响应于对该目标三维模型41的视角变换操作,比如点击视角变换图标中的“正”,选中的目标三维模型的视角变换为“正”,参见图5。
112.第二种情况,当前立体空间中有多个三维模型且选中的目标三维模型为一个。图6示出了另一种单三维模型视角变换前的界面图,图7示出了另一种单三维模型视角变换时选中状态的界面图,图8示出了另一种单三维模型视角变换后的界面图。
113.参考图7,目标三维模型为71,也即,目标三维模型为一个,通过对其轮廓进行加粗来确定其处于选中状态,72表示包括目标三维模型71的子空间,73表示该子空间的中心轴,74表示视角变换图标。响应于对该目标三维模型的视角变换操作,比如点击视角变换图标74中的“正”,选中的目标三维模型的视角变换为“正”,参见图8。在该种情况的示例中,选中的目标三维模型71与未选中的三维模型之间存在遮挡关系,则将未选中的三维模型进行弱
化显示,81表示半透明显示后的效果。
114.第三种情况,当前立体空间中有多个三维模型且选中的目标三维模型为两个,图9示出了一种多三维模型视角变换前的界面图,图10示出了一种多三维模型视角变换时选中状态的界面图,图11示出了一种多三维模型视角变换后的界面图。
115.参考图10,目标三维模型为101和102,通过对这两个目标三维模型的轮廓进行加粗来确定其处于选中状态,103表示包括这两个目标三维模型的子空间,104表示该子空间的中心轴,105表示视角变换图标。响应于对该两个目标三维模型的视角变换操作,比如点击视角变换图标中的“正”,选中的两个目标三维模型的视角变换为“正”,参考图11。在该种情况的示例中,选中的目标三维模型与未选中的三维模型之间存在遮挡关系,则将为选中的三维模型进行弱化显示,111表示半透明显示后的效果。
116.通常情况下,三维模型进行视角变换的一个应用是制作特效,该特效以“戴眼镜”为例,参见图12,比如用户在当前视角下,无法更好的调节“戴眼镜”的特效效果,则需要将当前三维模型调节至方便操作的视角。
117.在上述示例中,用视角变换图标举例,在实际应用过程中,还可以通过快捷键来实现,比如,快捷键f、l、r、t、b、g分别表示上、左、右、下、顶和底。
118.综上,三维模型以“头模”三维模型为例,本技术实施例可以实现如下功能:
119.(1)静止状态下单个三维模型的视图变换:用户可选中所要查看的三维模型,之后点选快捷键/右上角的方向标(视角变换图标),以查看所选三维模型的角度转移。例如选中头模的三维模型后按“f”键,视图上自动聚焦在所选头模的正面。若物体与其他物体存在遮挡关系,则弱化未选中物体。
120.(2)静止状态下多个三维模型的视图变换:用户可同时选择多个三维模型,之后点选快捷键/右上角的方向标,视图上自动聚焦到所多选的三维模型的整体角度。若物体与其他物体存在遮挡关系,则弱化未选中物体。
121.(3)动画状态下单个三维模型的视图变换:用户在动画播放/暂停时,选择三维模型后点选快捷键/右上角的方向标,视图上自动聚焦到所选的三维模型的角度。而后在动画播放时,视角自动跟随该三维模型,保持角度不变。
122.(4)动画状态下多个三维模型的视图变换:用户在动画播放/暂停时,多选三维模型后点选快捷键/右上角的方向标,视图上自动聚焦到所选的三维模型的角度。而后在动画播放时,视角自动跟随所多选的三维模型,保持角度不变。若物体与其他物体存在遮挡关系,则弱化未选中物体。
123.在上述动画状态下关键帧的视图变换:用户在动画播放/暂停时,单选关键帧后点选快捷键/右上角的方向标,视图上自动聚焦到关键帧的角度。以方便比对并调整关键帧位置。
124.因此,上述实施例支持动画、静止的固定角度查看单个、多个三维模型,满足更多位置比对的使用场景,提高制作效率。
125.如图13所示,基于与上述三维模型的视角变换方法相同的发明构思,本技术实施例还提供了一种三维模型的视角变换装置,该装置包括目标三维模型确定单元131、子空间确定单元132和视角变换单元133。
126.目标三维模型确定单元131,被配置为执行响应于对至少一个目标三维模型的选
择操作,在三维模型展示的立体空间中,确定选中的至少一个目标三维模型;
127.子空间确定单元132,被配置为执行从立体空间中确定包括选中的至少一个目标三维模型的子空间;
128.视角变换单元133,被配置为执行响应于对至少一个目标三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的至少一个目标三维模型进行视角变换。
129.在一些示例性的实施方式中,还包括弱化显示单元,在对至少一个目标三维模型进行视角变换之后,弱化显示单元被配置为执行:
130.在变换后的视角中,若选中的至少一个目标三维模型与未选中三维模型存在遮挡关系,则对未选中三维模型进行弱化显示。
131.在一些示例性的实施方式中,弱化显示单元具体被配置为执行通过如下方式中的至少一个进行弱化显示:
132.半透明显示、透明显示、虚化显示或网格化显示。
133.在一些示例性的实施方式中,视角变换单元133被配置为执行:
134.响应于对至少一个目标三维模型的视角变换操作,确定视角变换操作匹配的目标视角;
135.以子空间的中心轴为变换基准,对至少一个目标三维模型进行视角变换,直到至少一个目标三维模型的视角变换至目标视角。
136.在一些示例性的实施方式中,若选中的目标三维模型中至少有一个为动态三维模型,则还包括暂停单元,在响应于对至少一个目标三维模型的选择操作之前,暂停单元被配置为执行:
137.检测到用户对动态三维模型形成的视频的暂停操作后,确定暂停后的视频显示的静态画面;
138.视角变换单元133具体被配置为执行:
139.响应于对通过对静态画面的视角变换来对动态三维模型的视角变换操作,以子空间的中心轴为变换基准,对选中的包括动态三维模型的至少一个目标三维模型进行视角变换。
140.在一些示例性的实施方式中,还包括动态展示单元,在对选中的包括动态三维模型的至少一个目标三维模型进行视角变换之后,动态展示单元被配置为执行:
141.检测到用户对暂停后的动态三维模型形成的视频的恢复播放操作后,控制动态三维模型按照目标视角进行动态展示。
142.在一些示例性的实施方式中,子空间的中心轴为与立体空间中的基准面垂直的中心轴。
143.关于三维模型的视角变换装置中各操作的实施以及有益效果可参见前文方法中的描述,此处不再赘述。
144.在介绍了本技术示例性实施方式的三维模型的视角变换方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的电子设备。
145.所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统
称为“电路”、“模块”或“系统”。
146.在一些可能的实施方式中,根据本技术的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本技术各种示例性实施方式的三维模型的视角变换方法中的步骤。例如,处理器可以执行如三维模型的视角变换方法中的步骤。
147.下面参照图14来描述根据本技术的这种实施方式的电子设备140。图14显示的电子设备140仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
148.如图14所示,电子设备140以通用电子设备的形式表现。电子设备140的组件可以包括但不限于:上述至少一个处理器141、上述至少一个存储器142、连接不同系统组件(包括存储器142和处理器141)的总线143。
149.总线143表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
150.存储器142可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1421和/或高速缓存存储器1422,还可以进一步包括只读存储器(rom)1423。
151.存储器142还可以包括具有一组(至少一个)程序模块1424的程序/实用工具1425,这样的程序模块1424包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
152.电子设备140也可以与一个或多个外部设备144(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备140交互的设备通信,和/或与使得该电子设备140能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口145进行。并且,电子设备140还可以通过网络适配器146与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器146通过总线143与用于电子设备140的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备140使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
153.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器142,上述指令可由装置的处理器141执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd
‑
rom、磁带、软盘和光数据存储设备等。
154.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器141执行时实现如本技术提供的三维模型的视角变换方法的任一方法。
155.在示例性实施例中,本技术提供的一种三维模型的视角变换方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种三维模型的视角变换方法中的步骤。
156.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、
只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
157.本技术的实施方式的用于图像缩放的程序产品可以采用便携式紧凑盘只读存储器(cd
‑
rom)并包括程序代码,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
158.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
159.可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
160.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
161.应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
162.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
163.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机程序产品的形式。
164.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
165.这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
166.这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
167.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
168.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。