CN116129085B - 虚拟物体处理方法、设备、存储介质及程序产品 - Google Patents

虚拟物体处理方法、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN116129085B
CN116129085B CN202310052832.7A CN202310052832A CN116129085B CN 116129085 B CN116129085 B CN 116129085B CN 202310052832 A CN202310052832 A CN 202310052832A CN 116129085 B CN116129085 B CN 116129085B
Authority
CN
China
Prior art keywords
point
virtual object
placement
plane
current
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.)
Active
Application number
CN202310052832.7A
Other languages
English (en)
Other versions
CN116129085A (zh
Inventor
蔡羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310052832.7A priority Critical patent/CN116129085B/zh
Publication of CN116129085A publication Critical patent/CN116129085A/zh
Application granted granted Critical
Publication of CN116129085B publication Critical patent/CN116129085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供一种虚拟物体处理方法、设备、存储介质及程序产品,其中方法包括:响应于对虚拟物体的移动操作,获取虚拟物体在三维空间中的放置平面;根据放置平面确定移动操作在虚拟物体上的作用点初始位置;根据作用点初始位置和放置平面,确定移动操作在虚拟物体上对应的触点平面,触点平面用于约束移动操作在虚拟物体上的作用点,作用点初始位置在触点平面内;根据触点平面驱动虚拟物体跟随移动操作在放置平面内移动,在移动过程中,移动操作在虚拟物体上的作用点位置保持在触点平面内。本申请实现了在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。

Description

虚拟物体处理方法、设备、存储介质及程序产品
技术领域
本申请涉及虚拟物体处理技术领域,尤其涉及一种虚拟物体处理方法、设备、存储介质及程序产品。
背景技术
AR(Augmented Reality,增强现实)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。
实际场景中,AR是一个虚实结合的三维空间,用户与AR空间的交互可以通过手指对终端屏幕的操作完成,如通过手指操作屏幕来实现在三维空间中移动一个虚拟物体。但终端的屏幕是一个二维的区域,在用户与AR空间的交互时,往往会涉及到将对二维屏幕的滑动操作转换成三维世界的位移。当前的AR交互技术中,当用户移动虚拟物体时,无法准确将对二维屏幕的滑动操作转换成三维世界的位移,导致从用户屏幕角度看,虚拟物体没有准确的跟着手指操作在移动,“跟手感”较差,用户体验不佳。
发明内容
本申请实施例的主要目的在于提供一种虚拟物体处理方法、设备、存储介质及程序产品,实现了在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。
第一方面,本申请实施例提供一种虚拟物体处理方法,包括:响应于对虚拟物体的移动操作,获取所述虚拟物体在三维空间中的放置平面;根据所述放置平面确定所述移动操作在所述虚拟物体上的作用点初始位置;根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述虚拟物体上对应的触点平面,所述触点平面用于约束所述移动操作在所述虚拟物体上的作用点,所述作用点初始位置在所述触点平面内;根据所述触点平面驱动所述虚拟物体跟随所述移动操作在所述放置平面内移动,在移动过程中,所述移动操作在所述虚拟物体上的作用点位置保持在所述触点平面内。
于一实施例中,所述响应于对虚拟物体的移动操作,获取所述虚拟物体在三维空间中的放置平面,包括:响应于对虚拟物体的移动操作,获取所述移动操作起点对应的三维空间初始影像信息;根据所述初始影像信息确定所述虚拟物体在所述三维空间中的放置平面。
于一实施例中,所述根据所述放置平面确定所述移动操作在所述虚拟物体上的作用点初始位置,包括:根据相机位姿信息和所述放置平面确定所述虚拟物体在所述放置平面上的初始放置点位置;确定所述移动操作起点和所述初始放置点位置所在直线与所述虚拟物体的交点位置,将所述交点位置确定为所述作用点初始位置。
于一实施例中,所述根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述虚拟物体上对应的触点平面,包括:将过所述作用点初始位置,且垂直于所述放置平面的平面确定为所述触点平面。
于一实施例中,所述根据所述触点平面驱动所述虚拟物体跟随所述移动操作在所述放置平面内移动,包括:获取所述移动操作的当前操作点和三维空间的当前影像信息;根据所述当前操作点、所述当前影像信息和所述触点平面,确定所述当前操作点在所述虚拟物体上的作用点当前位置;根据所述作用点当前位置驱动所述虚拟物体在所述当前影像信息中的所述放置平面内移动。
于一实施例中,所述根据所述当前操作点、所述当前影像信息和所述触点平面,确定所述当前操作点在所述虚拟物体上的作用点当前位置,包括:确定以所述当前操作点为端点,以当前相机方向为方向的射线;将所述射线与所述触点平面的交点位置确定为所述当前操作点在所述虚拟物体上的作用点当前位置。
于一实施例中,所述根据所述作用点当前位置驱动所述虚拟物体在所述当前影像信息中的所述放置平面内移动,包括:获取所述作用点初始位置与初始放置点位置之间的位置差值,所述初始放置点位置是所述移动操作起点对应的所述虚拟物体在所述放置平面内的放置位置;根据所述作用点当前位置和所述位置差值,确定所述虚拟物体在所述当前影像信息中的当前放置点位置,所述当前放置点位置在所述放置平面内;驱动所述虚拟物体移动到所述当前放置点位置,并在所述当前影像信息中显示所述虚拟物体。
于一实施例中,所述根据所述触点平面控制所述虚拟物体跟随所述移动操作在所述放置平面内移动,包括:当所述移动操作的当前操作点与前一个操作点之间的位移大于或等于预设值时,根据所述触点平面驱动所述虚拟物体从所述前一个操作点对应的前一个放置点位置移动到所述当前操作点对应的当前放置点位置。
第二方面,本申请实施例提供一种虚拟物体处理方法,包括:响应于用户在交互界面上对商品虚拟模型的移动操作,获取所述商品虚拟模型在三维空间中的放置平面;根据所述放置平面确定所述移动操作在所述商品虚拟模型上的作用点初始位置;根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述商品虚拟模型上对应的触点平面,所述触点平面用于约束所述移动操作在所述商品虚拟模型上的作用点,所述作用点初始位置在所述触点平面内;根据所述触点平面驱动所述商品虚拟模型跟随所述移动操作在所述放置平面内移动,并在所述三维空间的当前影像信息中显示所述虚拟物体;其中,在所述商品虚拟模型跟随所述移动操作移动过程中,所述移动操作在所述商品虚拟模型上的作用点位置保持在所述触点平面内。
第三方面,本申请实施例提供一种虚拟物体处理装置,包括:
获取模块,用于响应于对虚拟物体的移动操作,获取所述虚拟物体在三维空间中的放置平面;
第一确定模块,用于根据所述放置平面确定所述移动操作在所述虚拟物体上的作用点初始位置;
第二确定模块,用于根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述虚拟物体上对应的触点平面,所述触点平面用于约束所述移动操作在所述虚拟物体上的作用点,所述作用点初始位置在所述触点平面内;
驱动模块,用于根据所述触点平面驱动所述虚拟物体跟随所述移动操作在所述放置平面内移动,在移动过程中,所述移动操作在所述虚拟物体上的作用点位置保持在所述触点平面内。
于一实施例中,所述获取模块,用于响应于对虚拟物体的移动操作,获取所述移动操作起点对应的三维空间初始影像信息;根据所述初始影像信息确定所述虚拟物体在所述三维空间中的放置平面。
于一实施例中,所述第一确定模块,用于根据相机位姿信息和所述放置平面确定所述虚拟物体在所述放置平面上的初始放置点位置;确定所述移动操作起点和所述初始放置点位置所在直线与所述虚拟物体的交点位置,将所述交点位置确定为所述作用点初始位置。
于一实施例中,所述第二确定模块,用于将过所述作用点初始位置,且垂直于所述放置平面的平面确定为所述触点平面。
于一实施例中,所述驱动模块,用于获取所述移动操作的当前操作点和三维空间的当前影像信息;根据所述当前操作点、所述当前影像信息和所述触点平面,确定所述当前操作点在所述虚拟物体上的作用点当前位置;根据所述作用点当前位置驱动所述虚拟物体在所述当前影像信息中的所述放置平面内移动。
于一实施例中,所述驱动模块,用于确定以所述当前操作点为端点,以当前相机方向为方向的射线;将所述射线与所述触点平面的交点位置确定为所述当前操作点在所述虚拟物体上的作用点当前位置。
于一实施例中,所述驱动模块,用于获取所述作用点初始位置与初始放置点位置之间的位置差值,所述初始放置点位置是所述移动操作起点对应的所述虚拟物体在所述放置平面内的放置位置;根据所述作用点当前位置和所述位置差值,确定所述虚拟物体在所述当前影像信息中的当前放置点位置,所述当前放置点位置在所述放置平面内;驱动所述虚拟物体移动到所述当前放置点位置,并在所述当前影像信息中显示所述虚拟物体。
于一实施例中,所述驱动模块,用于当所述移动操作的当前操作点与前一个操作点之间的位移大于或等于预设值时,根据所述触点平面驱动所述虚拟物体从所述前一个操作点对应的前一个放置点位置移动到所述当前操作点对应的当前放置点位置。
第四方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行上述任一方面所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方面所述的方法。
本申请实施例提供的虚拟物体处理方法、设备、存储介质及程序产品,当在增强现实场景下对虚拟物体进行移动操作时,首先确定移动起点对应在虚拟物体上的作用点初始位置,然后根据作用点初始位置和放置平面确定一个触点平面,在虚拟物体跟随移动操作移动时,控制移动操作在虚拟物体上的作用点位置始终保持在触点平面内,如此保证了在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种虚拟物体处理系统的架构示意图;
图3A为本申请实施例提供的一种AR场景中移动虚拟物体的过程示意图;
图3B为本申请实施例提供的一种AR场景中移动冰箱模型的过程示意图;
图4为本申请实施例提供的一种虚拟物体处理方法的流程示意图;
图5为本申请实施例提供的一种对虚拟物体的移动操作录入的示意图;
图6为本申请实施例提供的一种AR场景中移动虚拟物体的过程示意图;
图7为本申请实施例提供的一种AR场景中移动冰箱模型的过程示意图;
图8为本申请实施例提供的一种虚拟物体处理方法的流程示意图;
图9A为本申请实施例提供的一种虚拟物体处理方法的流程示意图;
图9B为本申请实施例提供的一种电商AR场景中移动电视机模型的过程示意图;
图9C为本申请实施例提供的一种电商AR场景中移动电视机模型的过程示意图;
图10为本申请实施例提供的一种虚拟物体处理装置的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
本文中术语“和/或”,用于描述关联对象的关联关系,具体表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了清楚地描述本申请实施例的技术方案,首先对本申请所涉及的名词进行释义:
AR:Augmented Reality,增强现实。
3D:3-dimension,三维。
跟手感:在AR用户交互过程中,如用户采用手指在触摸屏上移动虚拟物体,虚拟物体能自然的跟随手指移动,不会脱离手指控制或离开手指的控制范围。
作用点:是物体在受力过程中,力的作用位置。
如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以实现在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。
于一实施例中,电子设备1可以是手机、平板电脑、笔记本电脑、台式计算机或者多个计算机组成的大型运算系统。
图2为本申请实施例提供的一种虚拟物体处理系统200的示意图。如图2所示,该系统包括:服务器210和终端220,其中:
服务器210可以是提供虚拟物体处理服务的数据平台,比如可以是提供AR交互的电商购物平台。实际场景中,一个电商购物平台可能有多个服务器210,图2中以1个服务器210为例。
终端220可以是用户登录电商购物平台时使用的电脑、手机、平板等设备,终端220也可以有多个,图2中以2个终端220为例进行示意。
终端220与服务器210之间可以通过互联网进行信息传输,以使终端220可以访问服务器210上的数据。上述终端220和/或者服务器210均可以由电子设备1来实现。
本申请实施例的虚拟物体处理方式可以应用于任意需要虚拟物体处理的领域。比如3D商品详情场景,数字空间藏馆商品场景,AR平面放置场景、AR上墙、AR投射等场景中。
AR技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。
实际场景中,AR是一个虚实结合的三维空间,用户与AR空间的交互可以通过手指对终端屏幕的操作完成,如通过手指触摸屏幕来实现在三维空间中移动一个虚拟物体。但终端的屏幕是一个二维的区域,在用户与AR空间的交互时,往往会涉及到将对二维屏幕的滑动操作转换成三维世界的位移。AR中对虚拟物体的操作转换方法,一般是利用“屏幕射线”,即从屏幕上手指触点出发垂直屏幕发射一条射线,该射线与放置平面相交,交点就可以作为放置虚拟物体的位置。用户移动手机、变化屏幕上的触点,射线与平面的交点也不断的变化着,从而完成了操作移动虚拟物体。
当前的AR交互技术中,当用户移动虚拟物体时,无法准确将对二维屏幕的滑动操作转换成三维世界的位移,导致从用户屏幕角度看,虚拟物体没有准确的跟着手指操作在移动,“跟手感”较差,用户体验不佳。
如图3A所示,为“屏幕射线”在移动虚拟物体过程中的示意图,此处以用户移动终端220的位置来触发对虚拟物体的移动操作为例,在用户拖动物体起点,从终端220屏幕上的初始触点S0发射一条射线L0和放置平面A相交于点Q(放置点),虚拟物体放置在交点Q1上。注意到此时对虚拟物体的实际作用点是P0点,P0点为射线与虚拟物体在三维空间中的交点,它也对应着二维屏幕上的初始触点S0,即移动操作在虚拟物体上的作用点位置与屏幕上的当前触点相对应。当用户移动物体,此时屏幕触点S0的位置或相机位姿都可能发生变化,比如初始触点从S0位置移动到S1位置,这样射线起点和方向也发生了变化,比如射线从L0位置变成L1位置,而虚拟物体放置在射线与平面交点Q1的位置没有变,此时移动操作对虚拟物体的作用点位置却在物体表面上不断地变化着,如图3A中作用点位置P1所示,P1与P0分别是虚拟物体上的不同位置。再者,假设用户继续移动终端220,继续触发对虚拟物体的移动操作,当前操作点为S2(假设为在屏幕上的触点),射线从L1位置变成L2位置,虚拟物体在放置平面A上从放置点Q1的位置变成放置点Q2的位置,此时移动操作对虚拟物体的作用点位置在物体表面上也不断地变化着,如图3A中作用点位置P2所示,P2、P0和P1分别是虚拟物体上的不同位置。从用户屏幕角度看,仿佛这个物体没有完全跟着用户的手在移动,即没有完全的“跟手感”。
实际场景中,在尺寸较大的物体上,比如当虚拟物体是冰箱或洗衣机的虚拟模型时等等,这种不“跟手”的现象会非常明显。
如图3B所示,为(虚拟模型)在AR场景下对冰箱进行移动操作的动画冰箱示意图,点P为移动过程中移动操作对冰箱的作用点位置,对比图3B中(a)、(b)、(c)三个移动状态,在冰箱随着移动操作移动的过程中,作用点P在冰箱上的位置在变化,也就是不“跟手”的现象,这种情况给用户的AR交互体验非常不好。
为了解决上述问题,本申请实施例提供一种虚拟物体处理方案,当在增强现实场景下对虚拟物体进行移动操作时,首先确定移动起点对应在虚拟物体上的作用点初始位置P0,然后根据作用点初始位置P0和放置平面确定一个触点平面,在虚拟物体跟随移动操作移动时,控制移动操作在虚拟物体上的作用点位置始终保持在触点平面内,如此保证了在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。
上述虚拟物体处理方案可以部署在服务器210上,也可以部署在终端220上,或者部分部署在服务器210上,部分部署在终端220上。实际场景中可以基于实际需求选择,本实施例不做限定。
当虚拟物体处理方案全部或者部分部署在服务器210上时,可以对终端220开放调用接口,以对终端220提供算法支持。
下面结合附图,对本申请的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
请参看图4,其为本申请一实施例的虚拟物体处理方法,该方法可由图1所示的电子设备1来执行,并可以应用于图2、图3A和图3B所示的虚拟物体处理系统的应用场景中,以实现在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。本实施例以终端220为执行端为例,该方法包括如下步骤:
步骤401:响应于对虚拟物体的移动操作,获取虚拟物体在三维空间中的放置平面。
在本步骤中,虚拟物体可以是基于实际物体建立的虚拟模型,比如家电、家居物品、动植物等实体物品的三维模型,在电商场景中,虚拟物体可以是在售商品的三维虚拟模型。虚拟物体也可以是采用计算机技术建立的虚拟模型,比如一个AR游戏中的角色模型或者道具模型等等。移动操作用于驱动虚拟物体进行移动。移动操作可以是用户直接通过终端的交互界面录入的,如图5所示,显示有虚拟物体的交互界面展示在终端220的触摸屏上,可以通过终端220的触摸屏221直接对虚拟物体进行滑动操作,触摸屏221捕获到该滑动操作,进而生成驱动指令来驱动虚拟物体的移动。还可以将AR的交互界面投影到其他实体面上,用户通过交互界面录入移动操作,比如在AR投影、AR上墙场景中,用户可以直接通过投影在墙上的交互界面录入移动操作。
于一实施例中,也可以通过改变终端在实际三维空间中的位置,来触发对虚拟物体的移动操作,比如用户拿着手机观看冰箱模型在AR场景中的摆放效果,可以直接移动手机,调整冰箱模型在空间的中摆放位置。
三维空间是指实际场景中的空间区域,比如室内场景,放置平面可以是三维空间区域中任意方向的一个面,包含但不限于水平平面,同样适用于垂直平面或任意方向的平面,比如室内场景的地面、墙面、桌面等等。作用点就是物体在受力过程中,力的作用位置。在本实施例中,为了让用户的体感更加真实,作用点是指移动操作对虚拟物体的施力位置。移动操作一般会形成一段由多个连续操作点(如图5中所示的点P0至点Pn,其中n为自然数)组成的操作轨迹,作用点初始位置就是该移动操作起点对应在虚拟物体上的施力位置。当用户录入对虚拟物体的移动操作时,首先确定虚拟物体当前在三维空间中所在的放置平面。
于一实施例中,步骤401具体可以包括:响应于对虚拟物体的移动操作,获取移动操作起点对应的三维空间初始影像信息。根据初始影像信息确定虚拟物体在三维空间中的放置平面。
在本实施例中,当捕获到用户对虚拟物体的移动操作时,首先获取移动操作起点,此处移动操作起点是指用户在操作介质上的起始触点,假设操作介质是终端的触摸屏,如图5所示,用户使用手指在触摸屏上通过滑动录入移动操作,则移动操作起点就是用户手指在触摸屏上的初始触点S0,移动操作终点就是触点Sn。由于AR场景需要将虚拟物体融合到实际三维空间的影像中,因此需要采集移动操作起点时刻对应的三维空间初始影像信息。比如将冰箱放置在厨房的地板上,则当用户录入对冰箱模型的移动操作时,获取移动操作起点,以及该操作起点对应的厨房的初始影像信息,比如开启手机摄像头拍摄厨房图像。根据初始影像信息,可以确定冰箱在厨房中的放置平面。
步骤402:根据放置平面确定移动操作在虚拟物体上的作用点初始位置。
在本步骤中,确定了虚拟物体当前的放置平面,则移动操作是控制虚拟物体在该放置平面内进行移动,移动过程中需要对虚拟物体有一个施力点,也就是作用点,为了保证虚拟物体在移动过程中的跟手感,需要尽量保持作用点位置不变,因此首先需要确定移动操作起点在虚拟物体上的作用点初始位置。而作用点初始位置可以由放置平面以及相机当前位姿信息来确定。
于一实施例中,步骤402具体可以包括:根据相机位姿信息和放置平面确定虚拟物体在放置平面上的初始放置点位置。确定移动操作起点和初始放置点位置所在直线与虚拟物体的交点位置,将交点位置确定为作用点初始位置。
在本实施例中,根据相机位姿信息和放置平面的集合关系,可以计算出虚拟物体的初始放置点位置,比如虚拟物体是冰箱的虚拟模型,根据当前拍摄厨房的初始影像信息对应的相机位姿信息和放置平面,可以计算出冰箱当前在放置平面上的初始放置点位置,比如冰箱当前放在厨房的地板上的某个位置。具体地,移动操作起点和初始放置点位置可以确定一条直线,该直线与冰箱模型的交点位置就是本次移动操作起点在冰箱模型上的实际施力位置。如图3A所示,移动操作起点S0和初始放置点位置Q1确定的直线与虚拟物体的交点P0就是本次移动操作起点在冰箱模型上的实际施力位置,如此通过几何关系可以准确找到作用点初始位置P0。
步骤403:根据作用点初始位置和放置平面,确定移动操作在虚拟物体上对应的触点平面,作用点初始位置在触点平面内。
在本步骤中,从用户体验出发,在AR场景中移动虚拟物体符合用户认知的体验是,手指“触摸到”虚拟物体的点在移动过程中也是跟随着手指移动的,这样才可以具有较好的“跟手感”。在技术实现上,以如图5所示的触摸屏为操作介质为例,在图3A中虽然在触摸屏上的操作触点的变化引起了射线的不断变化,如果能够保证每个操作点对应的射线与虚拟物体的交点一直是固定的,那么移动操作在虚拟物体上的作用点位置就是一个固定位置,如此就能够保证手指“触摸到”虚拟物体的点在移动过程中也是跟随着手指移动。
如图6所示,虚拟物体是放在三维空间的平面上的,移动操作起点S0和初始放置点位置Q1确定的直线与虚拟物体的交点P0(作用点初始位置),要保证射线移动时物体上的作用点位置永远固定在虚拟物体上的P0位置,则需要让作用点位置一直在触点平面B内。也就是说触点平面用于约束移动操作在虚拟物体上的作用点,使作用点初始位置P0以及本次移动操作的中所有操作点对应的作用点位置均在触点平面内,就可以准确保证手指“触摸到”虚拟物体的点在移动过程中也是跟随着手指移动,有效提升AR交互中虚拟物体的跟手感,提高用户体验。基于几何关系,由作用点初始位置P0和放置平面,可以确定本次移动操作对应的触点平面,准确高效。
于一实施例中,步骤402具体可以包括:将过作用点初始位置,且垂直于放置平面的平面确定为触点平面。
在本实施例中,触点平面可以由作用点初始位置P0和放置平面的法向量所确定,如图6所示,触点平面可以是平行于放置平面且过作用点初始位置P0的平面B,通过几何关系来确定触点平面,简单高效。
步骤404:根据触点平面驱动虚拟物体跟随移动操作在放置平面内移动,在移动过程中,移动操作在虚拟物体上的作用点位置保持在触点平面内。
在本步骤中,移动操作在操作介质上的轨迹由多个操作点组成,各个操作点都在虚拟物体上对应着作用点位置,保持各个操作点对应的作用点位置在触点平面内,即可实现虚拟物体在放置平面上移动过程中具备较好的跟手感。
于一实施例中,步骤404具体可以包括:获取移动操作的当前操作点和三维空间的当前影像信息。根据当前操作点、当前影像信息和触点平面,确定当前操作点在虚拟物体上的作用点当前位置。根据作用点当前位置驱动虚拟物体在当前影像信息中的放置平面内移动。
在本实施例中,为了保证AR场景中虚拟物体与实时的三维空间融合,对于移动操作的一个当前操作点,可以实时用相机拍摄该当前操作点对应的三维空间的当前影像信息,然后基于当前影像信息可以确定相机的当前位姿信息,基于相机的当前位姿信息、当前操作点和触点平面之间的集合关系,可以计算出当前操作点在虚拟物体上的作用点当前位置,之后就可以将作用点当前位置作为当前操作点在虚拟物体上的施力位置,驱动虚拟物体在当前影像信息中的放置平面内移动,实现虚拟物体与现实的三维空间影像相融合,并提高虚拟物体在移动过程中的跟手感。对于移动操作中的每个操作点均可以作上述处理,进而实现虚拟物体跟随移动操作完成移动过程。
于一实施例中,根据当前操作点、当前影像信息和触点平面,确定当前操作点在虚拟物体上的作用点当前位置,包括:确定以当前操作点为端点,以当前相机方向为方向的射线。将射线与触点平面的交点位置确定为当前操作点在虚拟物体上的作用点当前位置。
在本实施例中,以图5中终端220的触摸屏为操作介质为例,如图6所示,假设移动操作起点S0和放置平面A确定了触点平面B,在计算当前操作点在虚拟物体上的作用点当前位置时,可以采用“屏幕射线”方式,以当前操作点在触摸屏上的位置Sn为端点,以当前相机方向Forward(向前的方向,此处指射线的发射方向)作为射线方向发出射线Ln,将射线Ln与触点平面B的交点位置确定为当前操作点Sn在虚拟物体上的作用点当前位置Pn。采用集合关系直接计算的结果准确高效。
假设将上述位置都以世界坐标系表示,normal为放置平面的法向量,Pn到P0的向量与放置平面的法向量normal垂直,因此向量叉乘为0,可以得到下述公式:
(Pn-P0) x normal = 0 (1)
另一方面,假设当前操作点Sn到Pn的距离为d,则可以得到如下公式:
Sn+ d*Forward = Pn (2)
由以上公式(1)和公式(2)可得出,(Sn -P0) x normal + (d*Forward) x normal= 0,由此可求出d值,再将d值带入根据公式(2)就可以得出了作用点当前位置Pn的坐标。
于一实施例中,根据作用点当前位置驱动虚拟物体在当前影像信息中的放置平面内移动,包括:获取作用点初始位置与初始放置点位置之间的位置差值,初始放置点位置是移动操作起点对应的虚拟物体在放置平面内的放置位置。根据作用点当前位置和位置差值,确定虚拟物体在当前影像信息中的当前放置点位置,当前放置点位置在放置平面内。驱动虚拟物体移动到当前放置点位置,并在当前影像信息中显示虚拟物体。
在本实施例中,驱动虚拟物体在放置平面上跟随移动操作移动,也就要保证虚拟物体一致位于放置平面上,因此需要确定虚拟物体在放置平面上的放置点的位置。由前述原理可得,一个操作点与在虚拟物体上的作用点位置和放置点位置是对应着的,初始放置点位置移动操作起点对应的虚拟物体在放置平面内的放置位置。而由于触点平面是由作用点初始位置和放置平面确定的,因此虚拟物体在放置平面上的初始放置点位置与作用点初始位置之间的差值应该是固定的,由此关系可以计算出当前放置点位置。因此如图6所示,首先获取作用点初始位置P0与初始放置点位置Q1之间的位置差值,此处位置差可以是坐标差值。然后基于作用点当前位置P0和位置差值,即可准确计算出虚拟物体在当前影像信息中的当前放置点位置Qn,当前放置点位置Qn一定是在放置平面内的,这样驱动虚拟物体移动到当前放置点位置Qn,在用户角度看来虚拟物体就是再放置平面上移动,并在当前影像信息中显示虚拟物体,实现虚拟物体与现实三维场景的融合,不仅实现增强现实,而且提高虚拟物体的跟手感,提高用户交互体验。
于一实施例中,步骤404具体还可以包括:当移动操作的当前操作点与前一个操作点之间的位移大于或等于预设值时,根据触点平面驱动虚拟物体从前一个操作点对应的前一个放置点位置移动到当前操作点对应的当前放置点位置。
在本实施例中,为了节省数据计算量,可以不必对移动操作的每个操作点都进行作用点位置和放置点位置的计算,可以在用户的感知以外,每间隔一定位移,触发一次作用点位置和放置点位置的计算,比如可以实时检测当前操作点与前一个操作点之间的位移,当位移大于或等于预设值时,触发一次作用点位置和放置点位置的计算,以实现根据触点平面驱动虚拟物体从前一个操作点对应的前一个放置点位置移动到当前操作点对应的当前放置点位置,预设阈值可以基于实际需求设定,可以统计用户使用感受数据,来确定预设阈值,原则是保证位移间隔用户是无感知的。如此既可以保证用户端的感官流畅,又可以节约计算资源。
如图7所示,为采用本申请实施例的虚拟物体处理方法驱动的冰箱模型的移动过程对比示意图,图7中(a)、(b)、(c)分别为用户在触摸屏上操作点不同时冰箱模型的三个移动状态,用户在触摸屏上的触点不断变化的时候,“操作”在虚拟物体表面上的作用点位置Pn始终不变,实现冰箱模型在移动过程中有较好的跟手感。
上述虚拟物体处理方法,当在增强现实场景下对虚拟物体进行移动操作时,首先确定移动起点对应在虚拟物体上的作用点初始位置,然后根据作用点初始位置和放置平面确定一个触点平面,在虚拟物体跟随移动操作移动时,控制移动操作在虚拟物体上的作用点位置始终保持在触点平面内,如此保证了在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。
上述虚拟物体处理方法可以应用于任意可以实现AR能力的设备,与传统技术相比,没有直接通过屏幕射线与放置平面求放置点,而是先保证物体上的作用点保持不变,通过计算作用点的世界坐标再求出放置点,达到了物体作用点永远跟随屏幕触点的效果,提高了AR场景中的跟手感,有效提升了用户交互体验。
请参看图8,其为本申请一实施例的虚拟物体处理方法,该方法可由图1所示的电子设备1来执行,并可以应用于图2、图3A和图3B所示的虚拟物体处理系统的应用场景中,以实现在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。本实施例以终端220为执行端为例,该方法包括如下步骤:
步骤801:响应于对虚拟物体的移动操作,获取移动操作起点对应的三维空间初始影像信息。
步骤802:根据初始影像信息确定虚拟物体在三维空间中的放置平面。
步骤803:根据相机位姿信息和放置平面确定虚拟物体在放置平面上的初始放置点位置。
步骤804:确定移动操作起点和初始放置点位置所在直线与虚拟物体的交点位置,将交点位置确定为作用点初始位置。
步骤805:将过作用点初始位置,且垂直于放置平面的平面确定为触点平面。
步骤806:获取移动操作的当前操作点和三维空间的当前影像信息。
步骤807:确定以当前操作点为端点,以当前相机方向为方向的射线。
步骤808:将射线与触点平面的交点位置确定为当前操作点在虚拟物体上的作用点当前位置。
步骤809:获取作用点初始位置与初始放置点位置之间的位置差值,初始放置点位置是移动操作起点对应的虚拟物体在放置平面内的放置位置。
步骤810:根据作用点当前位置和位置差值,确定虚拟物体在当前影像信息中的当前放置点位置,当前放置点位置在放置平面内。
步骤811:驱动虚拟物体移动到当前放置点位置,并在当前影像信息中显示虚拟物体。
上述虚拟物体处理方法的各个步骤,详细可以参阅上述实施例的相关描述,此处不再赘述。
请参看图9A,其为本申请一实施例的虚拟物体处理方法,该方法可由图1所示的电子设备1来执行,并可以应用于图2、图3A和图3B所示的虚拟物体处理系统的应用场景中,以实现在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。本实施例以终端220为执行端为例,以用户使用电商购物平台进行AR场景选购商品为例,该方法包括如下步骤:
步骤901:响应于用户在交互界面上对商品虚拟模型的移动操作,获取商品虚拟模型在三维空间中的放置平面。
在本步骤中,以商品虚拟模型作为虚拟物体为例,当用户使用电商购物平台选购商品时,可以在3D商品详情页面进入AR场景,用户可以在AR场景中拖动商品虚拟模型,以实现多方位查看商品详情,协助用户选购,提升用户的交互体验。详细过程可以参阅前述实施例中对步骤401的描述。
步骤902:根据放置平面确定移动操作在商品虚拟模型上的作用点初始位置。详细过程可以参阅前述实施例中对步骤402的描述。
步骤903:根据作用点初始位置和放置平面,确定移动操作在商品虚拟模型上对应的触点平面,触点平面用于约束移动操作在商品虚拟模型上的作用点,作用点初始位置在触点平面内。详细过程可以参阅前述实施例中对步骤403的描述。
步骤904:根据触点平面驱动商品虚拟模型跟随移动操作在放置平面内移动,并在三维空间的当前影像信息中显示虚拟物体。详细过程可以参阅前述实施例中对步骤404的描述。
其中,在商品虚拟模型跟随移动操作移动过程中,移动操作在商品虚拟模型上的作用点位置保持在触点平面内。
于一实施例中,以通过手机登录电商购物平台,通过AR交互选购商品为例,假设用户选择一款电视机,想通过AR交互将电视机放入自家客厅的电视柜,看看展示效果。如图9B所示,用户通过手机触摸屏移动电视机的虚拟模型,将电视机的虚拟模型从电视柜的Q1位置移动到Q2位置,用户手指触摸起点在S0,则移动操作的起点就是S0,移动操作的终点就是S2,S0对应在电视机虚拟模型上的作用点在电视机屏幕中心点,则通过本申请实施例的方案处理后,移动电视机虚拟模型的过程中,用户手指对电视机的作用点一直维持在电视机屏幕中心点,如图9C所示,为移动到权Q2位置时的效果展示图,可见,用户将电视机的虚拟模型移动到Q2位置时,用户手指的作用点还是在电视机屏幕中心点,如此实现提高虚拟物体移动过程中的跟手感。
上述虚拟物体处理方法,可以为使用电商购物平台的用户提供跟手感更好的AR商品交互体验,协助用户更好的选购商品,提高终端的交互性能,提高用户的交互体验。
请参看图10,其为本申请一实施例的虚拟物体处理装置1000,该装置可应用于图1所示的电子设备1,并可以应用于图2、图3A和图3B所示的虚拟物体处理系统的应用场景中,以实现在AR交互中连续移动操作对虚拟物体的相对作用点保持不变,提高虚拟物体的跟手感,有效提升了用户对AR业务的交互体验。该装置包括:获取模块1001、第一确定模块1002、第二确定模块1003和驱动模块1004,各个模块的原理关系如下:
获取模块1001,用于响应于对虚拟物体的移动操作,获取虚拟物体在三维空间中的放置平面。
第一确定模块1002,用于根据放置平面确定移动操作在虚拟物体上的作用点初始位置。
第二确定模块1003,用于根据作用点初始位置和放置平面,确定移动操作在虚拟物体上对应的触点平面,触点平面用于约束移动操作在虚拟物体上的作用点,作用点初始位置在触点平面内。
驱动模块1004,用于根据触点平面驱动虚拟物体跟随移动操作在放置平面内移动,在移动过程中,移动操作在虚拟物体上的作用点位置保持在触点平面内。
于一实施例中,获取模块1001,用于响应于对虚拟物体的移动操作,获取移动操作起点对应的三维空间初始影像信息。根据初始影像信息确定虚拟物体在三维空间中的放置平面。
于一实施例中,第一确定模块1002,用于根据相机位姿信息和放置平面确定虚拟物体在放置平面上的初始放置点位置。确定移动操作起点和初始放置点位置所在直线与虚拟物体的交点位置,将交点位置确定为作用点初始位置。
于一实施例中,第二确定模块1003,用于将过作用点初始位置,且垂直于放置平面的平面确定为触点平面。
于一实施例中,驱动模块1004,用于获取移动操作的当前操作点和三维空间的当前影像信息。根据当前操作点、当前影像信息和触点平面,确定当前操作点在虚拟物体上的作用点当前位置。根据作用点当前位置驱动虚拟物体在当前影像信息中的放置平面内移动。
于一实施例中,驱动模块1004,用于确定以当前操作点为端点,以当前相机方向为方向的射线。将射线与触点平面的交点位置确定为当前操作点在虚拟物体上的作用点当前位置。
于一实施例中,驱动模块1004,用于获取作用点初始位置与初始放置点位置之间的位置差值,初始放置点位置是移动操作起点对应的虚拟物体在放置平面内的放置位置。根据作用点当前位置和位置差值,确定虚拟物体在当前影像信息中的当前放置点位置,当前放置点位置在放置平面内。驱动虚拟物体移动到当前放置点位置,并在当前影像信息中显示虚拟物体。
于一实施例中,驱动模块1004,用于当移动操作的当前操作点与前一个操作点之间的位移大于或等于预设值时,根据触点平面驱动虚拟物体从前一个操作点对应的前一个放置点位置移动到当前操作点对应的当前放置点位置。
上述虚拟物体处理装置1000的详细描述,请参见上述实施例中相关方法步骤的描述,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现前述任一实施例的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
本申请的技术方案中,所涉及的用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种虚拟物体处理方法,其特征在于,所述方法包括:
响应于对虚拟物体的移动操作,获取所述虚拟物体在三维空间中的放置平面;
根据所述放置平面确定所述移动操作在所述虚拟物体上的作用点初始位置;
根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述虚拟物体上对应的触点平面,所述触点平面用于约束所述移动操作在所述虚拟物体上的作用点,所述作用点初始位置在所述触点平面内;
根据所述触点平面驱动所述虚拟物体跟随所述移动操作在所述放置平面内移动,在移动过程中,所述移动操作在所述虚拟物体上的作用点位置保持在所述触点平面内;
所述根据所述放置平面确定所述移动操作在所述虚拟物体上的作用点初始位置,包括:
根据相机位姿信息和所述放置平面确定所述虚拟物体在所述放置平面上的初始放置点位置;
确定所述移动操作起点和所述初始放置点位置所在直线与所述虚拟物体的交点位置,将所述交点位置确定为所述作用点初始位置。
2.根据权利要求1所述的方法,其特征在于,所述响应于对虚拟物体的移动操作,获取所述虚拟物体在三维空间中的放置平面,包括:
响应于对虚拟物体的移动操作,获取所述移动操作起点对应的三维空间初始影像信息;
根据所述初始影像信息确定所述虚拟物体在所述三维空间中的放置平面。
3.根据权利要求1所述的方法,其特征在于,所述根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述虚拟物体上对应的触点平面,包括:
将过所述作用点初始位置,且平行于所述放置平面的平面确定为所述触点平面。
4.根据权利要求1所述的方法,其特征在于,所述根据所述触点平面驱动所述虚拟物体跟随所述移动操作在所述放置平面内移动,包括:
获取所述移动操作的当前操作点和三维空间的当前影像信息;
根据所述当前操作点、所述当前影像信息和所述触点平面,确定所述当前操作点在所述虚拟物体上的作用点当前位置;
根据所述作用点当前位置驱动所述虚拟物体在所述当前影像信息中的所述放置平面内移动。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前操作点、所述当前影像信息和所述触点平面,确定所述当前操作点在所述虚拟物体上的作用点当前位置,包括:
确定以所述当前操作点为端点,以当前相机方向为方向的射线;
将所述射线与所述触点平面的交点位置确定为所述当前操作点在所述虚拟物体上的作用点当前位置。
6.根据权利要求4所述的方法,其特征在于,所述根据所述作用点当前位置驱动所述虚拟物体在所述当前影像信息中的所述放置平面内移动,包括:
获取所述作用点初始位置与初始放置点位置之间的位置差值,所述初始放置点位置是所述移动操作起点对应的所述虚拟物体在所述放置平面内的放置位置;
根据所述作用点当前位置和所述位置差值,确定所述虚拟物体在所述当前影像信息中的当前放置点位置,所述当前放置点位置在所述放置平面内;
驱动所述虚拟物体移动到所述当前放置点位置,并在所述当前影像信息中显示所述虚拟物体。
7.根据权利要求1所述的方法,其特征在于,所述根据所述触点平面控制所述虚拟物体跟随所述移动操作在所述放置平面内移动,包括:
当所述移动操作的当前操作点与前一个操作点之间的位移大于或等于预设值时,根据所述触点平面驱动所述虚拟物体从所述前一个操作点对应的前一个放置点位置移动到所述当前操作点对应的当前放置点位置。
8.一种虚拟物体处理方法,其特征在于,包括:
响应于用户在交互界面上对商品虚拟模型的移动操作,获取所述商品虚拟模型在三维空间中的放置平面;
根据所述放置平面确定所述移动操作在所述商品虚拟模型上的作用点初始位置;
根据所述作用点初始位置和所述放置平面,确定所述移动操作在所述商品虚拟模型上对应的触点平面,所述触点平面用于约束所述移动操作在所述商品虚拟模型上的作用点,所述作用点初始位置在所述触点平面内;
根据所述触点平面驱动所述商品虚拟模型跟随所述移动操作在所述放置平面内移动,并在所述三维空间的当前影像信息中显示所述商品虚拟模型;
其中,在所述商品虚拟模型跟随所述移动操作移动过程中,所述移动操作在所述商品虚拟模型上的作用点位置保持在所述触点平面内;
所述根据所述放置平面确定所述移动操作在所述商品虚拟模型上的作用点初始位置,包括:
根据相机位姿信息和所述放置平面确定所述商品虚拟模型在所述放置平面上的初始放置点位置;
确定所述移动操作起点和所述初始放置点位置所在直线与所述商品虚拟模型的交点位置,将所述交点位置确定为所述作用点初始位置。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的方法。
CN202310052832.7A 2023-02-03 2023-02-03 虚拟物体处理方法、设备、存储介质及程序产品 Active CN116129085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310052832.7A CN116129085B (zh) 2023-02-03 2023-02-03 虚拟物体处理方法、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310052832.7A CN116129085B (zh) 2023-02-03 2023-02-03 虚拟物体处理方法、设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN116129085A CN116129085A (zh) 2023-05-16
CN116129085B true CN116129085B (zh) 2023-06-30

Family

ID=86298873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310052832.7A Active CN116129085B (zh) 2023-02-03 2023-02-03 虚拟物体处理方法、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN116129085B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817453A (zh) * 2021-01-29 2021-05-18 聚好看科技股份有限公司 虚拟现实设备和虚拟现实场景中物体的视线跟随方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519817A (zh) * 2018-03-26 2018-09-11 广东欧珀移动通信有限公司 基于增强现实的交互方法、装置、存储介质及电子设备
US11107184B2 (en) * 2019-09-17 2021-08-31 Adobe Inc. Virtual object translation
CN112230836B (zh) * 2020-11-02 2022-05-27 网易(杭州)网络有限公司 对象的移动方法、装置、存储介质和电子装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817453A (zh) * 2021-01-29 2021-05-18 聚好看科技股份有限公司 虚拟现实设备和虚拟现实场景中物体的视线跟随方法

Also Published As

Publication number Publication date
CN116129085A (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
US10755485B2 (en) Augmented reality product preview
US6853383B2 (en) Method of processing 2D images mapped on 3D objects
Langlotz et al. Sketching up the world: in situ authoring for mobile augmented reality
CN109636919B (zh) 一种基于全息技术的虚拟展馆构建方法、系统及存储介质
US20140248950A1 (en) System and method of interaction for mobile devices
CN103157281B (zh) 一种二维游戏场景显示的方法和设备
CN111803945B (zh) 界面渲染方法、装置、电子设备及存储介质
US20080122839A1 (en) Interacting with 2D content on 3D surfaces
CN111950521A (zh) 一种增强现实交互的方法、装置、电子设备及存储介质
CN109656363A (zh) 一种用于设置增强交互内容的方法与设备
Piumsomboon et al. Physically-based interaction for tabletop augmented reality using a depth-sensing camera for environment mapping
CN111724231A (zh) 一种商品信息的展示方法和装置
CN107463261B (zh) 立体交互系统及方法
CN112156467A (zh) 虚拟相机的控制方法、系统、存储介质与终端设备
CN108646917A (zh) 智能设备控制方法及装置、电子设备和介质
Dong et al. Real-time occlusion handling for dynamic augmented reality using geometric sensing and graphical shading
CN111562845B (zh) 用于实现三维空间场景互动的方法、装置和设备
CN111467799B (zh) 一种坐标转换方法、装置、电子设备和存储介质
CN113269781A (zh) 数据生成方法、装置及电子设备
CN116129085B (zh) 虚拟物体处理方法、设备、存储介质及程序产品
CN112150602A (zh) 模型图像的渲染方法和装置、存储介质和电子设备
CN115439634A (zh) 点云数据的交互呈现方法和存储介质
CN110264568B (zh) 一种三维虚拟模型交互方法和装置
CN115810100B (zh) 确定物体放置平面的方法、设备、存储介质
CN112468865A (zh) 一种视频处理方法、vr终端及计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant