CN118142157A - 虚拟物体的放置方法、装置、设备、介质及产品 - Google Patents
虚拟物体的放置方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN118142157A CN118142157A CN202211567703.3A CN202211567703A CN118142157A CN 118142157 A CN118142157 A CN 118142157A CN 202211567703 A CN202211567703 A CN 202211567703A CN 118142157 A CN118142157 A CN 118142157A
- Authority
- CN
- China
- Prior art keywords
- placement
- virtual object
- virtual
- placement position
- view angle
- 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 108
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000012512 characterization method Methods 0.000 claims abstract description 6
- 230000003044 adaptive effect Effects 0.000 claims abstract 3
- 230000000694 effects Effects 0.000 claims description 74
- 238000001514 detection method Methods 0.000 claims description 66
- 230000000007 visual effect Effects 0.000 claims description 52
- 230000000875 corresponding effect Effects 0.000 claims description 51
- 230000033001 locomotion Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 17
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 230000001276 controlling effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 55
- 230000003993 interaction Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000009877 rendering Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000035515 penetration Effects 0.000 description 5
- 230000005855 radiation Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟物体的放置方法、装置、设备、介质及产品,涉及虚拟世界技术领域。该方法包括:以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体;响应于接收到视角移动操作,显示虚拟物体从第一放置位置移动至第二放置位置,虚拟物体在虚拟场景中跟随视角方向的旋转同步进行移动,第二放置位置与第二视角方向对应;在虚拟物体与第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配第二放置位置平面表现特征的角度放置虚拟物体。在实现自动适配角度放置的情况下能够将虚拟物体以适配放置位置的姿态放置于环境复杂的虚拟环境中。
Description
技术领域
本申请涉及虚拟世界技术领域,特别涉及一种虚拟物体的放置方法、装置、设备、介质及产品。
背景技术
随着计算机技术的快速发展和终端的多样化,电子游戏的应用逐渐广泛,在目前的三维动画游戏中,通常为终端显示三维虚拟场景,用户可以通过控制主控虚拟对象在三维虚拟场景中使用虚拟道具进行活动。
在相关技术中,主控虚拟对象在三维虚拟场景中放置指定道具的过程中,在确定好指定道具的放置位置后,将道具放在该放置位置进行显示。
然而在上述相关技术中,指定道具以固定放置状态在放置位置进行显示,会导致指定道具与放置位置之间不贴合从而产生穿模现象,如:指定道具摆放完毕后显示该道具处于穿墙状态,降低了人机交互效率。
发明内容
本申请实施例提供了一种虚拟物体的放置方法、装置、设备、介质及产品,能够将虚拟物体以适配放置位置的姿态放置于环境复杂的虚拟环境中。所述技术方案如下。
根据本申请的一方面,提供了一种虚拟物体的放置方法,所述方法包括:
以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,所述虚拟物体是由主控虚拟对象控制在所述虚拟场景进行摆放位置调整的物体,所述第一放置位置与所述第一视角方向对应;
响应于接收到视角移动操作,显示所述虚拟物体从所述第一放置位置移动至第二放置位置,其中,所述视角移动操作用于将对所述虚拟场景进行观察的视角方向从所述第一视角方向旋转至第二视角方向,所述虚拟物体在所述虚拟场景中跟随所述视角方向的旋转同步进行移动,所述第二放置位置与所述第二视角方向对应;
在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
根据本申请的另一方面,提供了一种虚拟物体的放置装置,所述装置包括:
显示模块,用于以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,所述虚拟物体是由主控虚拟对象控制在所述虚拟场景进行摆放位置调整的物体,所述第一放置位置与所述第一视角方向对应;
所述显示模块,还用于响应于接收到视角移动操作,显示所述虚拟物体从所述第一放置位置移动至第二放置位置,其中,所述视角移动操作用于将对所述虚拟场景进行观察的视角方向从所述第一视角方向旋转至第二视角方向,所述虚拟物体在所述虚拟场景中跟随所述视角方向的旋转同步进行移动,所述第二放置位置与所述第二视角方向对应;
放置模块,用于在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述虚拟物体的放置方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的虚拟物体的放置方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的虚拟物体的放置方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境示意图;
图2是本申请一个示例性实施例提供的电子设备的结构框图;
图3是本申请一个示例性实施例提供的虚拟物体的放置方法流程图;
图4是本申请另一个示例性实施例提供的虚拟物体的放置方法的流程图;
图5是本申请一个示例性实施例提供的射线检测结果示意图;
图6是本申请一个示例性实施例提供的视角射线检测过程示意图;
图7是本申请另一个示例性实施例提供的物体碰撞检测示意图;
图8是本申请另一个示例性实施例提供的第一放置效果显示示意图;
图9是本申请一个示例性实施例提供的第二放置效果显示示意图;
图10是本申请另一个示例性实施例提供的虚拟物体的放置方法流程图;
图11是本申请一个示例性实施例提供的虚拟物体的放置方法示意图;
图12是本申请另一个示例性实施例提供的虚拟物体的放置方法流程图;
图13是本申请一个示例性实施例提供的参数调整示意图;
图14是本申请一个示例性实施例提供的虚拟物体的放置装置结构图;
图15是本申请一个示例性实施例提供的虚拟物体的放置装置结构图;
图16是本申请一个示例性实施例提供的终端结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的视角移动操作和物体放置操作等对象行为都是在充分授权的情况下获取的。
应当理解,尽管在本公开可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一参数也可以被称为第二参数,类似地,第二参数也可以被称为第一参数。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请实施环境进行介绍。图1给出了本申请一个示例性实施例提供的实施环境示意图。该实施环境中包括:终端110、服务器120和通信网络130,其中,终端110和服务器120通过通信网络130连接。
终端110中安装和运行有目标应用程序111,其中,目标应用程序111是支持二维虚拟环境或者三维虚拟环境的应用程序。目标应用程序111可以是虚拟现实应用程序、三维地图程序、自走棋游戏、策略游戏、第三人称射击游戏(Third-Person Shooting game,TPS)、第一人称射击游戏(First-Person Shooting game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏中的任意一种。在一种可实现的方式中,该目标应用程序111可以是单机版的应用程序,比如单机版的三维游戏程序,也可以是网络联机版的应用程序。
可选地,当目标应用程序实现为单机版的应用程序时,当前目标应用程序的运行界面中以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,当终端接收到视角移动操作,在终端显示视角方向从第一视角方向旋转至第二视角方向的过程中,虚拟物体跟随视角方向的旋转同步从第一放置位置移动至第二放置位置,第二放置位置和第二视角方向对应,若终端检测到第二放置位置符合物体放置条件时,当终端接收到物体放置操作,在终端显示以适配第二放置位置平面表现特征的角度放置虚拟物体的过程。
可选地,当目标应用程序实现为网络联机版的应用程序时,如图1示,当前目标应用程序111实现为对局类游戏(如:TPS游戏、FPS游戏),终端110在运行目标应用程序111的过程中以第一视角方向显示处于虚拟场景中的虚拟物体,当终端110接收到视角移动操作,生成移动请求反馈至服务器120,其中,移动请求用于请求移动对虚拟场景进行观察的视角方向,以及移动虚拟物体的放置位置,移动请求中包括第二视角方向的方向参数和第二放置位置的位置参数。
当服务器120接收到移动请求后,根据移动请求中的方向参数,调取服务器中存储的渲染文件中与方向参数对应的画面渲染参数,并对根据虚拟物体对第二放置位置进行放置条件检测,得到虚拟物体对应的放置结果,其中,若虚拟物体和第二放置位置之间符合物体放置条件的情况下,确定为第一放置结果,第一放置结果为调取第一放置效果对应的效果渲染参数,若虚拟物体和第二放置位置之间不符合物体放置条件的情况下,确定为第二放置结果,第二放置结果为调取第二放置效果对应的效果渲染参数,将效果渲染参数和画面渲染参数生成移动结果反馈至终端110。
当终端110接收到移动结果后,根据移动结果中的画面渲染参数对虚拟场景进行画面渲染,显示对虚拟场景的观察视角从第一视角方向旋转至第二视角方向的动画,并且根据效果渲染参数对虚拟物体进行渲染,在虚拟物体的放置位置跟随视角方向同步移动的过程中,在虚拟物体的指定位置显示对应的放置效果。
当终端110中在虚拟物体的指定位置处显示为第一放置效果时,表明当第二放置位置符合物体放置条件,当终端110接收到物体放置操作,生成放置请求发送至服务器120,其中,放置请求用于请求将虚拟物体放置于第二放置位置。
当服务器120接收到放置请求后,从平面表现特征数据文件中获取第二放置位置对应的平面表现特征,根据第二放置位置对应的平面表现特征计算得到虚拟物体的放置角度参数,基于放置角度参数生成放置渲染参数作为放置结果反馈至终端110。终端110接收到放置结果后,对放置渲染参数对画面进行渲染,从而显示以适配第二放置位置的平面表现特征的角度放置虚拟物体的画面。
上述终端110可以是可选的,终端可以是台式计算机、膝上型便携计算机、手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层4)播放、智能电视、智能车载等多种形式的终端设备,本申请实施例对此不加以限定。
服务器120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。可选地,服务器120承担主要计算工作,终端110承担次要计算工作;或者,服务器120承担次要计算工作,终端110承担主要计算工作;或者,服务器120和终端110之间采用分布式计算架构进行协同计算。
值得注意的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
在一些实施例中,上述服务器还可以实现为区块链系统中的节点。
图2示出了本申请一个示例性实施例提供的电子设备的结构框图。该电子设备200包括:操作系统220和应用程序222。
操作系统220是为应用程序222提供对计算机硬件的安全访问的基础软件。
应用程序222是支持虚拟环境的应用程序。可选地,应用程序222是支持三维虚拟环境的应用程序。该应用程序222可以是虚拟现实应用程序、三维地图程序、第三人称射击游戏(Third-Person Shooting game,TPS)、第一人称射击游戏(First-Person Shootinggame,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏、益智类游戏、策略游戏中的任意一种。该应用程序222可以是单机版的应用程序,比如单机版的游戏程序,也可以是网络联机版的应用程序。
结合上述简介,对本申请提供的虚拟物体的放置方法进行说明,该方法可以由服务器或者终端执行,也可以由服务器和终端共同执行,本申请实施例中,以该方法由终端执行为例进行说明,如图3所示,该方法包括如下步骤。
步骤310,以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体。
其中,虚拟物体是由主控虚拟对象控制在虚拟场景进行摆放位置调整的物体,第一放置位置与第一视角方向对应。
示意性的,终端运行有目标应用程序,目标应用程序可实现为虚拟现实应用程序、三维地图程序、自走棋游戏、策略游戏、第三人称射击游戏(Third-Person Shooting game,TPS)、第一人称射击游戏(First-Person Shooting game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏中的任意一种。
在一些实施例中,虚拟场景是终端中运行的目标应用程序对应的运行界面中的显示场景。
可选地,虚拟场景为三维虚拟场景,或者,虚拟场景为二维虚拟场景,对此不加以限定。
可选地,当前以第一视角方向显示虚拟场景的虚拟物体的过程中,第一视角方向包括以第一人称视角对应的第一视角方向;或者,第一视角方向包括第三人称视角对应的第一视角方向,对此不加以限定。
其中,当第一视角方向实现为第一人称视角的视角方向时,虚拟场景中显示虚拟物体,但不显示主控虚拟对象。
其中,当第一视角方向实现为第三人称视角的视角方向时,虚拟场景中显示虚拟物体并且显示主控虚拟对象。
在一些实施例中,在第一人称视角下,第一视角方向是指在主控虚拟对象的指定视角位置(如:眼睛部位)处架设一台虚拟摄像机对虚拟场景进行拍摄,根据拍摄画面显示虚拟场景的场景画面。
在一些实施例中,在第三人称视角下,第三视角方向是指在主控虚拟对象的指定视角位置(如:在主控虚拟对象的头顶上方的某个位置)处架设一台虚拟摄像机对虚拟场景进行拍摄,根据拍摄画面显示虚拟场景的场景画面。
可选地,虚拟物体是虚拟场景中原本存在的物体,如:虚拟载具、虚拟道具等;或者,虚拟物体是主控虚拟对象拥有的物体,如:虚拟物体是主控虚拟对象从虚拟背包中取出的物体。
可选地,第一放置位置是指虚拟场景中的指定位置,如:放置于以第一视角方向显示的虚拟场景画面中的地面上;或者,第一放置位置是指主控虚拟对象的指定位置,如:当前以第一视角方向显示的虚拟场景画面中,虚拟物体放置于主控虚拟对象的手上。
在一些实施例中,虚拟物体与主控虚拟对象的视角位置之间的距离是固定的,也即,虚拟物体永远显示在距离视角位置固定长度的位置处;或者,虚拟物体与主控虚拟对象的视角位置之间的距离是可根据用户意愿自行设定的,其中,用户设定的距离越短,当前虚拟场景中显示的虚拟物体尺寸越大,表明虚拟物体距离主控虚拟对象的视角位置越近,用户设定的距离越长,当前虚拟场景中显示的虚拟物体尺寸越小,表明虚拟物体距离主控虚拟对象的视角位置越远。
可选地,摆放位置调整方式包括如下几种方式中至少一种:
1.用户通过控制主控虚拟对象的视角方向移动的方式来实时控制虚拟物体
在虚拟场景中进行位置移动来实现摆放位置的调整;
2.用户通过控制主控虚拟对象在虚拟场景中移动,随着主控虚拟对象的移动过程,使虚拟物体跟随主控虚拟对象的移动而移动来实现摆放位置的调整;
3.用户通过在虚拟场景中选定指定位置,在选定完指定位置后虚拟物体从第一放置位置自动移动至指定位置实现摆放位置的调整。
值得注意是,上述关于摆放位置仅为示意性的举例,本申请实施例对此不加以限定。
示意性的,主控虚拟对象是指当前终端登录的目标帐号控制行动的虚拟对象。
在一些实施例中,第一放置位置与第一视角方向对应是指第一放置位置处于以第一视角方向对虚拟环境观察得到的虚拟场景画面中的指定区域,如:当前以第一视角方向显示处于虚拟场景中第一放置位置的虚拟物体,其中,第一放置位置是位于当前虚拟场景画面的画面中央。
步骤320,响应于接收到视角移动操作,显示虚拟物体从第一放置位置移动至第二放置位置。
其中,视角移动操作用于将对虚拟场景进行观察的视角方向从第一视角方向旋转至第二视角方向,虚拟物体在虚拟场景中跟随视角方向的旋转同步进行移动,第二放置位置与第二视角方向对应。
在一些实施例中,视角移动操作是指控制主控虚拟对象由第一视角方向调整至第二视角方向的操作。
示意性的,视角方向是指以主控虚拟对象的视角位置为向量起点,在指定方向上生成的视角向量,也即,以视角方向显示的虚拟场景画面是指根据视角向量生成的视角区域范围,从而显示该视角区域范围内的场景画面。因此,只要主控虚拟对象改变视角位置,则对应的视角方向也随之改变。其中,视角位置的变化包括移动主控虚拟对象、转动主控虚拟对象的头部、调整主控虚拟对象的姿势等方式中至少一种。
可选地,视角移动操作包括如下几种操作方式中至少一种:
1.通过转动主控虚拟对象的视角,来调整主控虚拟对象的视角方向,如:当前主控虚拟对象的第一视角方向为基于主控虚拟对象所处位置水平向前看,当控制主控虚拟对象的视角向右转动90度后,主控虚拟对象的第二视角方向为水平向右看;
2.通过移动主控虚拟对象的位置,来调整主控虚拟对象的视角方向,如:当前虚拟场景中主控虚拟对象的第一视角方向为朝北方向,当控制主控虚拟对象向西转后前进一段距离后,则主控虚拟对象当前的第二视角方向为朝西方向;
3.在终端的显示界面中显示视角调整界面,在视角调整界面中输入指定视角方向参数,使得主控虚拟对象从第一视角方向调整为输入的指定视角方向参数,如:当前第一视角方向为朝北方向,当在视角调整界面中输入“向东转45度”,则主控虚拟对象的视角方向从朝北方向向东转45度后显示朝东北方向作为第二视角方向。
值得注意的是,上述关于视角移动操作仅为示意性的举例,本申请实施例对此不加以限定。
其中,针对上述视角移动操作的第一种可实现情况,转动视角的方式包括向左、向右、向上、向下、向前、向后等多个方向转动。
在一些实施例中,当主控虚拟对象的视角方向进行旋转的过程中,虚拟物体的放置位置也随之同步进行移动。
可选地,虚拟物体放置位置的移动距离与视角方向的旋转角度对应,如:视角方向每旋转30度,虚拟物体在虚拟场景中同步移动10厘米,值得注意的是,此时移动10厘米是基于虚拟场景中的距离而言的。
可选地,虚拟物体放置位置的移动距离与视角方向的旋转速度对应,如:当主控虚拟对象的旋转速度越快,虚拟物体在虚拟场景中移动的距离越长。
在一些实施例中,第二放置位置是指虚拟物体从第一视角方向移动到第二视角方向后在虚拟场景中所处的位置。
在一个可选的情况,第二放置位置与主控虚拟对象的视角位置之间的距离,和第一放置位置与主控虚拟对象的视角位置之间的距离相等,也即,该情况下主控虚拟对象对于虚拟物体的视角距离是一个固定值。
在一些实施例中,第二放置位置与第二视角方向对应是指第二放置位置处于以第二视角方向对虚拟环境观察得到的虚拟场景画面中的指定区域,如:当前以第二视角方向显示处于虚拟场景中第二放置位置的虚拟物体,其中,第二放置位置是位于当前虚拟场景画面的画面中央。
可选地,第一放置位置和第一视角方向的对应关系与第二放置位置和第二视角方向的对应关系相同,如:第一放置位置处于以第一视角方向显示的虚拟场景画面的画面中央,第二放置位置处于以第二视角方向显示的虚拟场景画面的画面中央;或者,第一放置位置和第一视角方向的对应关系与第二放置位置和第二视角方向的对应关系不同,如:第一放置位置处于以第一视角方向显示的虚拟场景画面的画面中央,第二放置位置处于以第二视角方向显示的虚拟场景画面的画面左侧,对此不加以限定。
步骤330,在虚拟物体与第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配第二放置位置平面表现特征的角度放置虚拟物体。
示意性的,物体放置条件是指能够将虚拟物体放置与第二放置位置且没有穿模现象的条件。其中,穿模现象是指虚拟物体与其他物体之间存在部分相交显示的现象,如:穿墙等。
在一些实施例中,物体放置操作是指控制主控虚拟对象将虚拟物体放置于第二放置位置的操作。
可选地,物体放置条件包括如下两种条件中至少一种:
1.物体放置条件包括平面放置条件,其中,平面放置条件包括第二放置位置所处平面的区域面积、平面平整度、第二放置位置是否属于平面上的指定位置,以第二放置位置是否属于平面上的指定位置为例,第二放置位置是否属于指定平面上的指定位置,若第二放置位置是属于指定平面上的指定位置,则表明第二放置位置符合平面放置条件,若第二放置位置处于悬空位置(即不属于任何平面上的位置,也与任何平面无接触)或者处于平面下方位置(如:第二放置位置是处于土坡下方3厘米的位置),则表明第二放置位置不符合平面放置条件;
2.物体放置位置包括障碍物放置条件,也即,第二放置位置的指定区域范围内放置的障碍物情况,若第二放置位置的指定区域范围内存在不存在障碍物或者存在障碍物,但虚拟物体放置于第二放置位置时不会存在和障碍物相交显示的情况,则表明第二放置位置符合障碍物放置条件,若第二放置位置的指定区域范围内存在障碍物,且在虚拟物体放置于第二放置位置时会存在与该障碍物相交显示的情况,则表明第二放置位置不符合障碍物放置条件。
值得注意的是,上述关于物体放置条件的内容仅为示意性的举例,本申请实施例对此不加以限定。
可选地,第二放置位置与主控虚拟对象的视角位置之间的距离,与第一放置位置与主控虚拟对象的视角位置之间的距离相等;或者,第二放置位置与主控虚拟对象的视角位置之间的距离,与第一放置位置与主控虚拟对象的视角位置之间的距离不同。
其中,在一个可实现的方案中,在上述第二放置位置与主控虚拟对象的视角位置之间的距离,与第一放置位置与主控虚拟对象的视角位置之间的距离不同的情况下,用户可以根据需要自主调整第二放置位置和主控虚拟对象的视角位置之间的距离。
在一些实施例中,当接收到物体放置操作后,获取第二放置位置的平面表现特征,根据平面表现特征确定虚拟物体的放置角度,最终显示虚拟物体以放置角度放置于第二放置位置。
可选地,第二放置位置的平面表现特征包括第二放置位置所处平面的区域面积、平面基于虚拟场景中地面的倾斜角度、平面摩擦力等表现特征类型中至少一种。
其中,区域面积用于确定虚拟物体放置于第二放置位置的摆放姿态(如:若虚拟物体为长方体,当前虚拟物体的底面为10平方厘米,侧面为5平方厘米,而区域面积为6平方厘米,则最终虚拟物体以侧面为新的底面放置于第二放置位置,并且新的底面与第二放置位置所处平面贴合)。
其中,平面基于虚拟场景中地面的倾斜角度用于确定虚拟物体的摆放角度,如:第二放置位置所处平面基于地面的倾斜角度为45度时,则最终虚拟物体也以倾斜45度的方式放置于第二摆放位置处。
其中,平面摩擦力用于确定虚拟物体摆放至第二放置位置后的摆放状态,如:第二放置位置所处平面是光滑平面,则平面摩擦力近似为0,当虚拟物体放置于第二放置位置后,若第二放置位置是斜坡,则虚拟物体会向下滑动。
可选地,确定适配第二放置位置平面表现特征的角度是服务器在接收到物体放置操作后自动确定的;或者,确定适配第二放置位置平面表现特征的角度是是由用户手动调整虚拟物体的摆放姿态而确定的。
可选地,虚拟物体在摆放位置调整的过程中和摆放过程结束后分别对应的显示状态不同,在一个示例中,虚拟物体进行摆放位置的调整过程中显示剪影效果,将虚拟物体以贴合第二放置位置平面表现特征的角度放置后,虚拟物体显示实际效果。
可选地,虚拟物体在摆放位置调整的过程中和摆放过程结束后分别对应的显示状态相同。综上所述,本申请实施例提供的虚拟物体的放置方法,当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
在一个可选的实施例中,确定第二放置位置是否符合物体放置条件的方式包括对第二放置位置进行视角射线检测和物体碰撞检测过程,示意性的,请参考图4,其示出了本申请一个示例性实施例提供的虚拟物体的放置方法流程图,也即,步骤330中还包括步骤331至步骤333,如图4所示,该方法包括如下步骤。
步骤331,基于第二视角方向获取第二放置位置的平面表现特征。
在一些实施例中,第二放置位置是指虚拟物体从第一视角方向移动到第二视角方向后在虚拟场景中所处的位置。
示意性的,根据第二视角方向生成的视角向量确定第二放置位置的平面表现特征。其中,平面表现特征包括第二放置位置是否属于平面上的位置、第二放置位置的位置区域范围、第二放置位置基于地面的倾斜角度等表现特征中至少一种。
在一些实施例中,获取主控虚拟对象在虚拟场景中的视角位置;基于视角位置和视角方向,对第二放置位置进行视角射线检测,得到第二放置位置对应的射线检测结果,射线检测结果用于指示第二放置位置所处平面与视角方向上的交点存在情况;基于射线检测结果得到第二放置位置的平面表现特征。
示意性的,视角位置是指主控虚拟对象的视角在虚拟场景中的位置坐标。其中,在第一人称视角下,视角位置实现为主控虚拟对象身上的指定位置,如:以主控虚拟对象的头部视角作为视角位置,又如:以主控虚拟对象的胸部视角作为视角位置;在第三人称视角下,视角位置实现为主控虚拟对象上方的指定位置,对此不作限定。
本实施例中,以主控虚拟对象的视角为起点,与主控虚拟对象所处地面的平面之间的距离,从而确定主控虚拟对象的视角距离,如:在第一人称视角下,以主控虚拟对象的眼部位置为视角位置,从眼部位置到主控虚拟对象所处地面之间的距离在虚拟场景中为一米五,则主控虚拟对象在虚拟场景中的视角位置为“位于地面一米五高度处”。
示意性的,以虚拟物体和视角位置之间的距离为与预先设定的固定距离(视线距离)为例进行说明,以主控虚拟对象的视角位置为向量起点,虚拟物体所在位置为向量终点,根据视角方向生成视角向量,通过视角向量实现对第二放置位置进行视角射线检测。
其中,视角射线检测是指通过视角向量检测该视角向量的向量终点和第二放置位置是否存在交点。因此,射线检测结果包括存在交点和不存在交点两种不同结果。其中,当射线检测结果为存在交点时,表示向量终点和第二放置位置之间有交点,也即,该情况下此第二位置满足视角射线检测通过的条件,后续将对其进行物体碰撞检测,若物体碰撞检测通过,则虚拟物体可实现以正确姿态放置于第二放置位置。当射线检测结果为不存在交点时,表示向量终点和第二放置位置之间没有交点,此时分两种情况,一种是视角向量和第二放置位置之间不存在交点,此时若虚拟物体放置于第二放置位置,则虚拟物体会存在“悬空”情况;另一种是视角向量上某个点存在和第二放置位置之间存在交点,也即,此时若虚拟物体放置于第二放置位置,则会出现“陷入地下”的情况。因此,当前向量终点和第二放置位置不存在交点时,将虚拟物体放置于第二放置位置时会出现穿模或者悬空状态。也即,第二放置位置所处平面与视角方向上的交点包括:第二放置位置和向量终点恰好有交点、第二放置位置所处平面与视角方向上的交点位于向量终点的下方(虚拟物体此时处于悬空状态)、第二放置位置所处平面与视角方向上的交点位于向量终点的上方(虚拟物体此时处于陷地状态)。
示意性的,请参考图5,其示出了本申请一个示例性实施例提供的射线检测结果示意图,如图5所示,当前显示射线检测结果510和射线检测结果520,其中,在射线检测结果510中,当前显示主控虚拟对象的视角位置511,以及根据虚拟物体得到的向量终点512,此时向量终点512和第二放置位置513间存在交点,也即,此时向量终点512和第二放置位置513属于同一个位置。在射线检测结果520中,当前显示主控虚拟对象的视角位置521及根据虚拟物体得到的向量终点522,此时向量终点522和第二放置位置523间不存在交点,也即,向量终点522和第二放置位置523属于不同位置。
在一个可选的情况下,由于虚拟物体和主控虚拟对象之间的距离为固定的视线距离,因此在主控虚拟对象的视角方向在进行移动的过程中,视角向量也随之发生变化,因此,以主控虚拟对象的视角位置为圆心,视线距离为半径,生成视角范围圆,其中,根据第二视角方向确定主控虚拟对象在视角范围圆中的视角范围区域,并根据视角范围区域对第二放置位置进行视角射线检测,从而确定第二放置位置与视角范围区域之间的平面相交结果作为射线检测结果。其中,平面相交结果包括第二放置位置和视角区域范围边缘点(即视角向量的向量终点)相交、第二放置位置和视角区域范围之间没有交点、第二放置位置和视角区域范围内的点相交。也即,获取视角位置与虚拟物体之间的视线距离;以视角位置为圆心,视线距离为半径,基于第二视角方向生成主控虚拟对象的视角范围区域;基于视角范围区域对第二放置位置进行视角射线检测,得到第二放置位置与视角范围区域之间的平面相交结果,作为射线检测结果。
示意性的,请参考图6,其示出了本申请一个示例性实施例提供的视角射线检测过程示意图,如图所示,当前显示虚拟场景600,虚拟场景中包括主控虚拟对象610,获取主控虚拟对象610所处地面620,主控虚拟对象610的视角位置611、主控虚拟对象610和虚拟物体630之间的视线距离631,从而以视角位置611为圆心,视线距离为半径,生成视角范围圆640,此时根据第二视角方向生成视角向量650,当视角范围圆640上的点与第二放置位置641存在交点,得到平面相交结果为“存在交点”,即此时满足平面放置条件。当主控虚拟对象610的视角方向从第二视角方向向下旋转至第三视角方向,同时虚拟物体630从第二放置位置641移动至第三放置位置651,生成视角向量660,从图6中看出此时第三放置位置651与视角范围圆640内不存在交点,因此平面相交结果为“不存在交点”,即此时不满足平面放置条件。
值得注意的是,上述是基于虚拟物体和视角位置之间的视线距离为固定距离的条件下实现的。在另一个可实现的情况下,虚拟物体和视角位置之间的视线距离可根据射线检测结果进行实时调整,也即,当前虚拟物体和视角位置之间的视线距离为初始视线距离,在确定主控虚拟对象的视角位置后,以视角位置为起点,在主控虚拟对象的第二视角方向上发射检测射线,当检测射线打到了虚拟场景中指定平面上并与该指定平面产生交点时,将该交点作为第二放置位置,将该指定平面作为第二放置位置所处平面,并将虚拟物体和视角位置之间的初始视线距离调整为第二放置位置和视角位置之间的距离,当检测射线与虚拟场景中任何平面都不存在交点,则此时第二放置位置为距离视线位置初始视线距离的位置,也即,该位置的虚拟物体将处于悬空状态。
步骤332,在第二放置位置的平面表现特征符合平面放置条件的情况下,获取第二放置位置的障碍物放置情况。
其中,障碍物放置情况用于指示在第二放置位置的指定区域范围内障碍物的放置位置。
示意性的,当第二放置位置和视角范围圆上的点(也即,向量终点)之间存在交点(也即,第二放置位置和向量终点属于同一位置),则视为第二放置位置的平面表现特征符合平面放置条件。
在一些实施例中,障碍物放置情况是指在第二放置位置的指定区域范围内是否存在障碍物,若存在障碍物,该障碍物的放置位置。
在一些实施例中,获取第二放置位置对应的指定区域范围;在指定区域范围内基于虚体物体进行物体碰撞检测,得到虚拟物体和障碍物之间的物体碰撞结果;基于物体碰撞结果得到第二放置位置的障碍物放置情况。
本实施例中,通过物体碰撞检测的方式确定第二放置位置的障碍物放置情况。首先确定第二放置对应的指定区域范围,可选地,指定区域范围是服务器预先设置好的固定范围;或者,指定区域范围是根据虚拟物体的物体面积实时获取的区域范围,也即,若虚拟物体的物体面积较小,则对应获取较小的指定区域范围,若虚拟物体的物体面积较大,则对应获取较大的指定区域范围,此时指定区域范围是大于或者等于虚拟物体的物体面积的区域范围。
在确定虚拟物体的指定区域范围后,在指定区域范围内对虚拟物体进行物体碰撞检测,其中,物体碰撞检测的过程中是指以虚拟物体的物体中心为起点,向四周发射碰撞射线,若在指定区域范围内碰撞射线发生过程中被遮挡,则表明该遮挡点上存在障碍物,当存在障碍物时,检测虚拟物体与该障碍物是否存在相交面,若存在相交面,则表示虚拟物体放置于第二放置位置时会与该障碍物产生穿模现象,因此此时第二放置位置不符合障碍物放置条件;若不存在相交面,则表示虚拟物体放置于第二放置位置时不会与该障碍物产生穿模现象。根据虚拟物体与障碍物之间的相交面情况,作为物体碰撞结果,从而确定第二放置位置的指定区域范围内的障碍物放置情况。
示意性的,请参考图7,其示出了本申请一个示例性实施例提供的物体碰撞检测示意图,如图7所示,当前显示后台测试界面700,后台测试界面700中包括测试虚拟对象对应的第一虚拟场景画面710,和主控虚拟对象711对应的第二虚拟场景画面720,其中,第一虚拟场景画面710是以与主控虚拟对象711处于同一虚拟场景中的测试虚拟对象的视角显示的场景画面,因此第一虚拟场景画面710中包括主控虚拟对象711,当前主控虚拟对象711的视角处于第二视角方向,当前基于第二放置位置进行物体碰撞检测的过程中,碰撞射线被主控虚拟对象711面前的门721终止,因此第二放置位置的指定区域范围内存在障碍物门721,并且,此时检测到虚拟物体730与障碍物门721存在相交面(以虚拟物体730显示黑色表示存在相交面),表明当前第二放置位置不符合障碍物放置条件。
示意性的,在虚拟物体符合/不符合平面放置条件以及符合/不符合障碍物放置条件时,会在虚拟场景中虚拟物体的指定位置显示不同的放置效果,来提醒用户当前第二放置位置是否符合物体放置条件。
在一些实施例中,在第二放置位置符合物体放置条件的情况下,在虚拟物体的指定位置显示第一放置效果;或者,在第二放置位置不符合物体放置条件的情况下,在虚拟物体的指定位置显示第二放置效果,第一放置效果和第二放置效果不同。
本实施例中,不论是平面放置条件还是障碍物放置条件,都属于物体放置条件的情况下,当第二放置位置符合物体放置条件的情况下时,在虚拟物体的指定位置处显示第一放置效果,当第二放置位置不符合物体放置条件的情况下时,在虚拟物体的指定位置处显示第二放置效果,并且第一放置效果和第二放置效果属于不同的效果。跟随主控虚拟对象的视角方向的变化过程中,根据放置位置的随之变化时,实时显示放置效果,用于展示当前时刻放置位置是否符合物体放置条件。也即,虚拟物体将呈现不同的视觉效果从而区分当前放置位置是否符合物体放置条件。
在一个示例中,不同的放置效果可通过不同的颜色效果进行区分,如:第一放置效果显示为灰色,第二放置效果显示为黑色。
在另一个示例中,不同的放置效果可以通过虚拟物体边缘显示虚实线进行区分,如:第一放置效果为虚拟物体的边缘为实线效果,第二放置效果为虚拟物体的边缘为虚线效果。
在另一个示例中,当第二放置位置符合物体放置条件时,在虚拟物体的周侧范围显示高亮效果,作为第一放置效果;当第二放置位置不符合物体放置条件时,取消显示高亮效果。
在另一个示例中,当第二放置位置符合物体放置条件时,整个虚拟物体显示高亮效果,作为第一放置效果;当第二放置位置的指定区域范围内存在障碍物,且该障碍物与处于第二放置位置的虚拟物体存在相交面,则从相交面为起点,将虚拟物体与障碍物存在重叠的部分显示半透明效果,与障碍物不存在重叠的部分显示高亮效果,作为第二放置效果。在该情况下,随着放置位置的调整,重叠部分也会发生变化,因此半透明效果的显示区域也实时调整。
示意性的,请参考图8,其示出了本申请一个示例性实施例提供的第一放置效果显示示意图,以虚拟物体和主控虚拟对象的视角位置之间的视线距离固定为例进行说明,如图8所示,当前显示后台测试界面800,后台测试界面800中包括测试虚拟对象对应的第一虚拟场景画面810,和主控虚拟对象811对应的第二虚拟场景画面820,其中,第一虚拟场景画面810是以与主控虚拟对象811处于同一虚拟场景中的测试虚拟对象的视角显示的场景画面,因此第一虚拟场景画面810中包括主控虚拟对象811,此时主控虚拟对象811位于斜坡812上,根据主控虚拟对象811当前时刻的视角方向确定放置位置为斜坡812上的点,与主控虚拟对象811的视角距离对应的向量终点属于同一点,且当前放置位置的指定范围内不存在障碍物,因此此时虚拟物体821符合物体放置条件,在虚拟物体821上叠加显示第一放置效果(灰度效果)。
示意性的,请参考图9,其示出了本申请一个示例性实施例提供的第二放置效果显示示意图,以虚拟物体和主控虚拟对象的视角位置之间的视线距离固定为例进行说明,如图9所示,当前显示后台测试界面900,后台测试界面900中包括测试虚拟对象对应的第一虚拟场景画面910,和主控虚拟对象911对应的第二虚拟场景画面920,其中,第一虚拟场景画面910是以与主控虚拟对象911处于同一虚拟场景中的测试虚拟对象的视角显示的场景画面,因此第一虚拟场景画面910中包括主控虚拟对象911,此时主控虚拟对象911位于平地上,在主控虚拟对象911当前时刻的视角方向上存在斜坡912,根据主控虚拟对象911当前时刻的视角方向确定放置位置为斜坡912上的点,位于主控虚拟对象911的视角距离对应的向量终点的上方(此时虚拟物体若放置会存在陷地穿模现象),因此此时虚拟物体921不符合物体放置条件,在虚拟物体921上叠加显示第二放置效果(虚线效果)。
步骤333,在第二放置位置的障碍物放置情况符合障碍物放置条件的情况下,响应于接收到物体放置操作,以适配第二放置位置平面表现特征的角度放置虚拟物体。
在一些实施例中,基于第二放置位置的平面表现特征,确定第二放置位置与虚拟物体之间的倾斜角度;以倾斜角度在第二放置位置放置虚拟物体,虚拟物体与第二放置位置的平面贴合。
示意性的,当虚拟物体符合物体放置条件的情况下,根据第二放置位置的平面表现特征,确定第二放置位置所在平面和主控虚拟对象所在平面之前的倾斜角度,如:若第二放置位置所在平面和主控虚拟对象所在平面属于同一平面,则倾斜角度为0,若第二放置位置为坡度45度的斜坡上的点,主控虚拟对象所在平面为地平面,则二放置位置所在平面和主控虚拟对象所在平面之前的倾斜角度为45度。
本实施例中,通过视角射线检测确定第二放置位置符合平面放置条件后,对第二放置位置进行物体碰撞检测,当第二放置位置符合障碍物放置条件后,随即以适配第二放置位置所处平面的倾斜角度,将虚拟物体以该倾斜角度放置于第二放置位置。
在一个可选的方案中,在视角射线检测环节,可设定同一平面内主控虚拟对象的模型底部到虚拟物体对应的模型底部的之间的距离,以此距离为半径,生成指定范围圆,该指定范围圆所在圆面即为虚拟物体的可放置平面,随后再进行物品碰撞检测,以避免穿模等位置异常的问题。
在一些实施例中,虚拟物体在不同放置状态下对应不同的显示状态。
本实施例中,当虚拟物体处于摆放位置调整的状态下时,虚拟物体对应第一显示状态,当虚拟物体在第二放置位置放置完毕后,虚拟物体对应第二显示状态。如:当虚拟物体处于摆放位置调整的状态下时,虚拟物体呈现剪影状态,当虚拟物体在第二放置位置放置完毕后,虚拟物体呈现实际显示状态。
综上所述,本申请实施例提供的虚拟物体的放置方法,当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
本实施例中,通过获取第二放置位置的平面表现特征,从而在符合平面表现条件的情况下再确定第二放置位置的障碍物放置情况,从而在第二放置位置符合障碍物放置条件的情况确定第二放置位置符合物体放置条件,能够保证第二位置放置是属于平面上的位置的同时,不存在障碍物,提高了物体放置的准确度。
本实施例中,通过视角射线检测的方式确定第二放置位置是否属于平面位置,提高了平面检测的准确度和检测效率。
本实施例中,通过确定视线距离的方式实现视角射线检测,能够避免虚拟物体出现悬空或陷入地下的情况,提高虚拟物体放置的准确度。
本实施例中,通过物体碰撞检测的方式确定第二放置位置的指定区域范围内的障碍物放置情况,能够避免虚拟物体出现穿模现象,提高虚拟物体放置的准确度。
本实施例中,当第二放置位置符合物体放置条件的情况下,根据第二放置位置的平面表现特征,确定第二放置位置和虚拟物体之间的倾斜角度,从而以倾斜角度放置虚拟物体于第二放置位置处,提高了虚拟物体放置的准确度。
本实施例中,根据虚拟物体与物体放置条件之间的情况,显示不同的放置效果,能够提示玩家当前第二放置位置是否能够放置虚拟物体,具备一定提醒作用。
在一个可选的实施例中,主控虚拟对象放置完虚拟物体后还能与虚拟物体进行互动,示意性的,请参考图10,其示出了本申请一个示例性实施例提供的虚拟物体放置方法流程图,如图10所示,该方法包括如下步骤。
步骤1010,显示物体展示列表。
其中,物体展示列表中包括至少两个候选虚拟物体,候选虚拟物体占用物体展示列表中的显示格数量与候选虚拟物体的物体尺寸呈正相关。
示意性的,虚拟物体是主控虚拟对象拥有的物体,因此,当主控虚拟对象向对虚拟物体进行摆放位置调整时,在终端显示物体展示列表,物体展示列表用于展示当前可选择进行摆放位置调整的至少两个候选虚拟物体。
可选地,物体展示列表是指主控虚拟对象拥有的虚拟背包对应的背包内容展示列表;或者,物体展示列表是指当前界面中本身存在的快捷展示列表。当物体展示列表为背包内容列表时,通过对虚拟背包的触发操作从而显示物体展示列表。
示意性的,在物体展示列表中包含多个显示格,根据候选虚拟物体的物体尺寸,显示候选虚拟物体对应显示格的占用数量,如:物体a占用4个显示格,物体b占用2个显示格,因此物体a的显示尺寸大于物体b。
示意性的,请参考图11,其示出了本申请一个示例性实施例提供的虚拟物体的放置方法示意图,当前显示物体展示列表界面1100,物体展示列表界面1100中包括主控虚拟对象1110,以及展示列表1120。展示列表1120中包括候选虚拟物体1121和候选虚拟物体1122,其中,候选虚拟物体1121占用1个显示格,候选虚拟物体1122占用4个显示格。
步骤1020,在物体展示列表中接收对虚拟物体的选择操作。
示意性的,如图11所示,在展示列表1120中接收对候选虚拟物体1122的触发操作,将候选虚拟物体1122作为选中的虚拟物体。
步骤1030,以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体。
其中,虚拟物体是由主控虚拟对象控制在虚拟场景进行摆放位置调整的物体,第一放置位置与第一视角方向对应。
示意性的,当在物体展示列表中选择虚拟物体后,当前以第一视角方向显示的虚拟场景中的第一放置位置处显示虚拟物体。
示意性的,请参考图11,在展示列表1120中选择候选虚拟物体1122作为虚拟物体后,显示虚拟场景界面1130,虚拟场景界面1130是以第一视角方向对虚拟场景进行观察的画面,虚拟场景界面1130中第一放置位置处显示候选虚拟物体1122。
步骤1040,响应于接收到视角移动操作,显示虚拟物体从第一放置位置移动至第二放置位置。
其中,视角移动操作用于将对虚拟场景进行观察的视角方向从第一视角方向旋转至第二视角方向,虚拟物体在虚拟场景中跟随视角方向的旋转同步进行移动,第二放置位置与第二视角方向对应。
示意性的,在接收到视角移动操作转动主控虚拟对象的视角方向的过程中,对虚拟物体进行视角射线检测和物体碰撞检测,从而确定当前时刻视角方向对应的放置位置是否符合平面放置条件和障碍物放置条件。当放置位置同时符合平面放置条件和障碍物放置条件,在虚拟物体的指定位置显示第一放置效果;若放置位置不符合平面放置条件和障碍物放置条件中至少一个条件,在虚拟物体的指定位置显示第二放置效果。
示意性的,如图11所示,当前若第二放置位置符合平面放置条件和障碍物放置条件,在候选虚拟物体1122上显示第一放置效果11221,当前若第二放置位置不符合平面放置条件和障碍物放置条件中至少一个条件,在候选虚拟物体1122上显示第二放置效果11222。
步骤1050,在虚拟物体与第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配第二放置位置平面表现特征的角度放置虚拟物体。
示意性的,当虚拟物体的指定位置显示第一放置效果的情况下,表明当前虚拟物体与第二放置位置之间符合物体放置条件,当接收到物体放置操作后,确定主控虚拟对象的放置姿势,从而显示主控虚拟对象的物体放置动画。
其中,物体放置动画是指主控虚拟对象将虚拟物体以适配第二放置位置平面表现特征的角度放置虚拟物体的动画。
示意性的,如图11所示,当候选虚拟物体1122与第二放置位置之间符合物体放置条件的情况下,显示放置控件1140,当接收到对放置控件1140的触发操作,作为为物体放置操作,从而显示物体放置动画,最终显示候选虚拟物体1122放置于第二放置位置的放置完成状态11223(斜线表示)。
可选地,主控虚拟对象放置虚拟物体时的放置姿势是预先设置好的固定姿势;或者,主控虚拟对象放置虚拟物体时的放置姿势可根据第二放置位置平面表现特征的角度进行实时调整。
在一些实施例中,响应于接收到物体放置操作,确定第二放置位置平面表现特征的角度与主控虚拟对象的位置之间的位置偏差;基于位置偏差,确定主控虚拟对象的物体放置姿势,物体放置姿势适配第二放置位置平面表现特征的角度;显示主控虚拟对象以物体放置姿势在第二放置位置放置虚拟物体。
本实施例中,位置偏差是指第二放置位置的角度跟主控虚拟对象之间的角度差、高度差等,如:主控虚拟对象位于地面上,第二放置位置为坡度为45度的斜坡上的位置。因此位置偏差为45度偏差角度,因此根据45度偏差角度,确定主控虚拟对象的物体放置姿势为“斜放”,以使得后续放置虚拟物体时以“斜放”姿势放置虚拟物体至第二放置位置。
示意性的,位置偏差和主控虚拟对象的物体放置姿势存在对应关系,预先存储姿势数据文件,姿势数据文件中存储有具备对应关系的位置偏差和物体放置姿势,当确定位置偏差后,从姿势数据文件中获取与位置偏差对应的物体放置姿势,如:存在偏差角度时,物体放置姿势为“斜放”,若第二放置位置高于主控虚拟对象视角位置时,物体放置姿势为“抬手放置”,若第二放置位置低于主控虚拟对象视角位置时,物体放置姿势为“蹲下放置”。
步骤1060,响应于主控虚拟对象处于虚拟物体的指定位置,且响应于接收到对虚拟物体的互动操作,显示物体互动动画。
其中,互动操作用于指示控制主控虚拟对象使用虚拟物体,物体互动动画是指主控虚拟对象使用虚拟物体后产生互动效果的动画。
示意性的,当完成虚拟物体的放置过程中,当主控虚拟对象位于虚拟物体的指定位置时,可以与虚拟物体进行互动,从而显示主控虚拟对象和虚拟物体之间的互动过程。
本实施例中,互动效果实现为主控虚拟对象在使用了虚拟物体后可产生对自身的增益效果;或者,对队友虚拟对象产生增益效果。
示意性的,如图11所示,当候选虚拟物体1122放置于第二放置位置时,子啊候选虚拟物体1122上显示互动效果11224,当接收到对互动效果11224的触发操作,显示主控虚拟对象1110与候选虚拟物体1122进行互动的动画。
综上所述,本申请实施例提供的虚拟物体的放置方法,当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
本实施例中,通过显示物体展示列表能够实现主控虚拟对象对已拥有的虚拟物体进行位置调整,提高物体位置调整的选择多样性。
本实施例中,当放置了虚拟物体后,能够使得主控虚拟对象和虚拟物体进行互动,提高了互动多样性。
本实施例中,通过位置偏差确定摆放姿态,能够使得主控虚拟对象适配各种情况下的物体放置动画,提高了物体放置的准确度。
在一些实施例中,请参考图12,其示出了本申请一个示例性实施例提供的虚拟物体的放置方法流程图,以该方法应用于第一人称游戏场景下为例进行说明,如图12所示,该方法包括如下步骤。
步骤1210,以第一视角方向显示虚拟场景画面。
终端在运行目标游戏的过程中登录有目标帐号,终端显示运行界面,运行界面中显示在第一人称视角下,以目标帐号控制的主控虚拟对象的第一视角方向显示虚拟场景画面。
步骤1220,打开虚拟背包。
用户可以通过步骤1220和步骤1240两种可选方法选择进行摆放位置调整的虚拟物体。
当虚拟物体实现为主控虚拟对象的虚拟背包中的虚拟物体时,通过触发虚拟背包,显示虚拟背包对应的物体显示列表,对物体显示列表中的虚拟物体进行触发操作,选中虚拟物体。
步骤1230,自动关闭背包进入预览状态。
当选中虚拟物体后,终端显示自动关闭虚拟背包,并且显示当前虚拟物体处于预览状态,其中,预览状态是指当前虚拟物体显示剪影状态。
步骤1240,使用快捷道具栏。
当虚拟物体实现为快捷道具栏中可使用的物体时,终端界面中显示快捷道具栏,通过在快捷道具栏中对虚拟物体进行触发操作后,选中虚拟物体。
步骤1250,直接进入预览状态。
当选中虚拟物体后,终端直接显示当前虚拟物体处于预览状态,其中,预览状态是指当前虚拟物体显示剪影状态。
步骤1260,在第一放置位置显示物体剪影。
当进入预览状态下的虚拟物体将在以第一视角方向显示的虚拟场景画面中的第一放置位置处显示对应的剪影状态。
步骤1270,当第二放置位置符合物体放置条件时,物品剪影显示第一放置效果,同时显示放置控件和取消控件。
当玩家对主控虚拟对象进行视角移动操作,用于控制主控虚拟对象旋转视角方向,在旋转主控虚拟对象的视角方向的旋转过程中,虚拟物体也随着视角方向的旋转同步移动,在移动过程中,服务器对虚拟物体当前时刻所处的放置位置进行视角射线检测和物体碰撞检测,用于确定当前虚拟物体是否符合物体放置条件。
当第二放置位置符合物体放置条件时,物品剪影显示第一放置效果,并且当前游戏界面中显示放置控件和取消控件。放置控件用于触发主控虚拟对象放置虚拟物体在第二放置位置。取消控件用于在主控虚拟对象放置的过程中取消放置操作。
步骤1280,当虚拟物体不符合物体放置条件时,物品剪影显示第二放置效果,同时显示无法放置提醒和取消控件。
当第二放置位置不符合物体放置条件时,物品剪影显示第二放置效果,并且当前游戏界面中显示无法放置提醒和取消控件。此时触发取消控件后,虚拟场景画面中将取消显示虚拟物体。
步骤1290,点击放置控件。
当第二放置位置符合物体放置条件时,通过点击放置控件作为物体放置操作。
步骤12100,点击取消控件。
当第二放置位置不符合物体放置条件时,此时触发取消控件后,虚拟场景画面中将取消显示虚拟物体。
上述步骤1200至步骤12100属于预览阶段。
此外,在预览阶段,对放置效果的显示类型可进行参数更改,并且对于主控虚拟对象的视角位置和虚拟物体之间的视线距离也可进行参数调整。
示意性的,请参考图13,其示出了本申请一个示例性实施例提供的参数调整示意图,如图13所示,当前显示参数调整界面1300,其中包括放置效果参数调整区域1310和视线距离参数调整区域1320,通过在放置效果参数调整区域1310中修改参数,从而实现显示不同类型的放置效果,通过在视线距离参数调整区域1320中修改参数,从而实现显示不同长度的视线距离。
步骤12110,显示物体放置动画。
当接收到物体放置操作后,显示主控虚拟对象以适配第二放置位置平面特征表现的角度放置虚拟物体在第二放置位置处的动画,作为物体放置动画。
在物体放置动画播放器件若对取消控件进行触发操作,则取消显示物体放置动画,并重新显示物体剪影。
步骤12120,完成放置,虚拟物体变成可互动道具。
当主控虚拟对象完成对虚拟物体的物体放置操作后,在第二放置位置的虚拟物体作为可互动道具与主控虚拟对象进行互动,并对主控虚拟对象产生增益效果。
上述步骤12110至步骤12120属于放置阶段。
综上所述,本申请实施例提供的虚拟物体的放置方法,当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
本申请中,采用射线检测和碰撞体检测的方式对游戏内复杂的场景空间进行判断,保证物品在被放置后,不会处于异常的位置;并在物品预览过程中结合材质颜色的实时切换提示玩家所选区域是否为可放置物品区域。
本申请适配了第一人称手机游戏中,由于可以多方向转动摇杆来改变视角的情况;适配了当前游戏产品中场景空间较为复杂的情况。让玩家在预览环节能够清晰地感知到物品的可否放置状态,同时不对玩家的视角转动操作进行限制,并且保证了玩家在放置物品后,物品不会出现在场景空间中的异常位置,保证了游戏的合理性表现。
图14是本申请一个示例性实施例提供的虚拟物体的放置装置的结构框图,如图14所示,该装置包括如下部分:
显示模块1410,用于以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,所述虚拟物体是由主控虚拟对象控制在所述虚拟场景进行摆放位置调整的物体,所述第一放置位置与所述第一视角方向对应;
所述显示模块1410,还用于响应于接收到视角移动操作,显示所述虚拟物体从所述第一放置位置移动至第二放置位置,其中,所述视角移动操作用于将对所述虚拟场景进行观察的视角方向从所述第一视角方向旋转至第二视角方向,所述虚拟物体在所述虚拟场景中跟随所述视角方向的旋转同步进行移动,所述第二放置位置与所述第二视角方向对应;
放置模块1420,用于在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
在一些实施例中,如图15所示,所述放置模块1420,包括:
获取单元1411,用于基于所述第二视角方向获取所述第二放置位置的平面表现特征;
所述获取单元1411,还用于在所述第二放置位置的平面表现特征符合平面放置条件的情况下,获取所述第二放置位置的障碍物放置情况,所述障碍物放置情况用于指示在所述第二放置位置的指定区域范围内障碍物的放置位置;
放置单元1412,用于在所述第二放置位置的障碍物放置情况符合障碍物放置条件的情况下,响应于接收到所述物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
在一些实施例中,所述获取单元1411,还用于获取所述主控虚拟对象在所述虚拟场景中的视角位置;基于所述视角位置和所述视角方向,对所述第二放置位置进行视角射线检测,得到所述第二放置位置对应的射线检测结果,所述射线检测结果用于指示所述第二放置位置与所述视角方向上的交点存在情况;基于所述射线检测结果得到所述第二放置位置的平面表现特征。
在一些实施例中,所述获取单元1411,还用于获取所述视角位置与所述虚拟物体之间的视线距离;以所述视角位置为圆心,所述视线距离为半径,基于所述第二视角方向生成所述主控虚拟对象的视角范围区域;基于所述视角范围区域对所述第二放置位置进行视角射线检测,得到所述第二放置位置与所述视角范围区域之间的平面相交结果,作为所述射线检测结果。
在一些实施例中,所述获取单元1411,还用于获取所述第二放置位置对应的指定区域范围;在所述指定区域范围内基于所述虚体物体进行物体碰撞检测,得到所述虚拟物体和所述障碍物之间的物体碰撞结果;基于所述物体碰撞结果得到所述第二放置位置的障碍物放置情况。
在一些实施例中,所述放置单元1412,还用于基于所述第二放置位置的平面表现特征,确定所述第二放置位置与所述主控虚拟对象所在位置的平面之间的倾斜角度;以所述倾斜角度在所述第二放置位置放置所述虚拟物体,所述虚拟物体与所述第二放置位置的平面贴合。
在一些实施例中,所述显示模块1410,还用于在所述第二放置位置符合所述物体放置条件的情况下,在所述虚拟物体的指定位置显示第一放置效果;或者,在所述第二放置位置不符合所述物体放置条件的情况下,在所述虚拟物体的指定位置显示第二放置效果,所述第一放置效果和所述第二放置效果不同。
在一些实施例中,所述装置还包括:
所述显示模块1410,还用于显示物体展示列表,所述物体展示列表中包括至少两个候选虚拟物体,所述候选虚拟物体占用所述物体展示列表中的显示格数量与所述候选虚拟物体的物体尺寸呈正相关;
接收模块1430,用于在所述物体展示列表中接收对所述虚拟物体的选择操作。
在一些实施例中,所述显示模块1410,还用于响应于所述主控虚拟对象处于所述虚拟物体的指定位置,且响应于接收到对所述虚拟物体的互动操作,显示物体互动动画,所述互动操作用于指示控制所述主控虚拟对象使用所述虚拟物体,所述物体互动动画是指所述主控虚拟对象使用所述虚拟物体后产生互动效果的动画。
在一些实施例中,所述装置还包括:
确定模块1440,用于响应于接收到所述物体放置操作,确定所述第二放置位置平面表现特征的角度与所述主控虚拟对象的位置之间的位置偏差;
所述确定模块1440,还用于基于所述位置偏差,确定所述主控虚拟对象的物体放置姿势,所述物体放置姿势适配所述第二放置位置平面表现特征的角度;
所述显示模块1410,还用于显示所述主控虚拟对象以所述物体放置姿势在所述第二放置位置放置所述虚拟物体。
在一些实施例中,所述虚拟物体在不同放置状态下对应不同的显示状态。
综上所述,本申请实施例提供的虚拟物体的放置装置,当在虚拟场景中以第一视角方向显示第一放置位置的虚拟物体的过程中,当接收到视角移动操作,随着视角方向从第一视角方向旋转至第二视角方向的过程中,显示虚拟物体跟随视角方向的旋转同步移动的过程,最终停留在于第二视角方向对应的第二放置位置处,若第二放置位置和虚拟物体之间符合物体放置条件,在接收到物体放置操作后,以适配第二放置位置平面表现特征的角度放置虚拟物体。也即,通过视角方向的转动同步移动虚拟物体至对应的放置位置,当放置位置符合物体放置条件时,接收到物体放置操作后将虚拟物体自动适配该放置位置平面表现特征的角度进行放置,在实现自动适配角度放置的情况下能够使虚拟物体在放置过程中能够适应更复杂的虚拟场景,提高了物体放置过程中的显示真实度,并且同步旋转虚拟物体的方式能够提高人机交互效率。
需要说明的是:上述实施例提供的虚拟物体的放置装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟物体的放置装置与虚拟物体的放置方法实施例属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
图16示出了本申请一个示例性实施例提供的终端1600的结构框图。该终端1600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1600包括有:处理器1601和存储器1602。
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1601所执行以实现本申请中方法实施例提供的基于虚拟对局的控制方法。
在一些实施例中,终端1600还包括其他组件,本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述实施例中任一所述的虚拟物体的放置方法。
可选的,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种虚拟物体的放置方法,其特征在于,所述方法包括:
以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,所述虚拟物体是由主控虚拟对象控制在所述虚拟场景进行摆放位置调整的物体,所述第一放置位置与所述第一视角方向对应;
响应于接收到视角移动操作,显示所述虚拟物体从所述第一放置位置移动至第二放置位置,其中,所述视角移动操作用于将对所述虚拟场景进行观察的视角方向从所述第一视角方向旋转至第二视角方向,所述虚拟物体在所述虚拟场景中跟随所述视角方向的旋转同步进行移动,所述第二放置位置与所述第二视角方向对应;
在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
2.根据权利要求1所述的方法,其特征在于,所述在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体,包括:
基于所述第二视角方向获取所述第二放置位置的平面表现特征;
在所述第二放置位置的平面表现特征符合平面放置条件的情况下,获取所述第二放置位置的障碍物放置情况,所述障碍物放置情况用于指示在所述第二放置位置的指定区域范围内障碍物的放置位置;
在所述第二放置位置的障碍物放置情况符合障碍物放置条件的情况下,响应于接收到所述物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二视角方向获取所述第二放置位置的平面表现特征,包括:
获取所述主控虚拟对象在所述虚拟场景中的视角位置;
基于所述视角位置和所述视角方向,对所述第二放置位置进行视角射线检测,得到所述第二放置位置对应的射线检测结果,所述射线检测结果用于指示所述第二放置位置与所述视角方向上的交点存在情况;
基于所述射线检测结果得到所述第二放置位置的平面表现特征。
4.根据权利要求3所述的方法,其特征在于,所述基于所述视角位置和所述视角方向,对所述第二放置位置进行视角射线检测,得到所述第二放置位置对应的射线检测结果,包括:
获取所述视角位置与所述虚拟物体之间的视线距离;
以所述视角位置为圆心,所述视线距离为半径,基于所述第二视角方向生成所述主控虚拟对象的视角范围区域;
基于所述视角范围区域对所述第二放置位置进行视角射线检测,得到所述第二放置位置与所述视角范围区域之间的平面相交结果,作为所述射线检测结果。
5.根据权利要求2所述的方法,其特征在于,所述获取所述第二放置位置的障碍物放置情况,包括:
获取所述第二放置位置对应的指定区域范围;
在所述指定区域范围内基于所述虚体物体进行物体碰撞检测,得到所述虚拟物体和所述障碍物之间的物体碰撞结果;
基于所述物体碰撞结果得到所述第二放置位置的障碍物放置情况。
6.根据权利要求2所述的方法,其特征在于,所述以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体,包括:
基于所述第二放置位置的平面表现特征,确定所述第二放置位置与所述虚拟物体之间的倾斜角度;
以所述倾斜角度在所述第二放置位置放置所述虚拟物体,所述虚拟物体与所述第二放置位置的平面贴合。
7.根据权利要求1至6任一所述的方法,其特征在于,,所述方法还包括:
在所述第二放置位置符合所述物体放置条件的情况下,在所述虚拟物体的指定位置显示第一放置效果;或者,
在所述第二放置位置不符合所述物体放置条件的情况下,在所述虚拟物体的指定位置显示第二放置效果,所述第一放置效果和所述第二放置效果不同。
8.根据权利要求1至6任一所述的方法,其特征在于,所述以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体之前,还包括:
显示物体展示列表,所述物体展示列表中包括至少两个候选虚拟物体,所述候选虚拟物体占用所述物体展示列表中的显示格数量与所述候选虚拟物体的物体尺寸呈正相关;
在所述物体展示列表中接收对所述虚拟物体的选择操作。
9.根据权利要求1至6任一所述的方法,其特征在于,所述以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体之后,还包括:
响应于所述主控虚拟对象处于所述虚拟物体的指定位置,且响应于接收到对所述虚拟物体的互动操作,显示物体互动动画,所述互动操作用于指示控制所述主控虚拟对象使用所述虚拟物体,所述物体互动动画是指所述主控虚拟对象使用所述虚拟物体后产生互动效果的动画。
10.根据权利要求1至6任一所述的方法,其特征在于,所述响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体,包括:
响应于接收到所述物体放置操作,确定所述第二放置位置平面表现特征的角度与所述主控虚拟对象的位置之间的位置偏差;
基于所述位置偏差,确定所述主控虚拟对象的物体放置姿势,所述物体放置姿势适配所述第二放置位置平面表现特征的角度;
显示所述主控虚拟对象以所述物体放置姿势在所述第二放置位置放置所述虚拟物体。
11.根据权利要求1至6任一所述的方法,其特征在于,所述虚拟物体在不同放置状态下对应不同的显示状态。
12.一种虚拟物体的放置装置,其特征在于,所述装置包括:
显示模块,用于以第一视角方向显示处于虚拟场景中的第一放置位置的虚拟物体,所述虚拟物体是由主控虚拟对象控制在所述虚拟场景进行摆放位置调整的物体,所述第一放置位置与所述第一视角方向对应;
所述显示模块,还用于响应于接收到视角移动操作,显示所述虚拟物体从所述第一放置位置移动至第二放置位置,其中,所述视角移动操作用于将对所述虚拟场景进行观察的视角方向从所述第一视角方向旋转至第二视角方向,所述虚拟物体在所述虚拟场景中跟随所述视角方向的旋转同步进行移动,所述第二放置位置与所述第二视角方向对应;
放置模块,用于在所述虚拟物体与所述第二放置位置之间符合物体放置条件的情况下,响应于接收到物体放置操作,以适配所述第二放置位置平面表现特征的角度放置所述虚拟物体。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至11任一所述的虚拟物体的放置方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11任一所述的虚拟物体的放置方法。
15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至11任一所述的虚拟物体的放置方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211567703.3A CN118142157A (zh) | 2022-12-07 | 2022-12-07 | 虚拟物体的放置方法、装置、设备、介质及产品 |
PCT/CN2023/126234 WO2024120030A1 (zh) | 2022-12-07 | 2023-10-24 | 虚拟物体的放置方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211567703.3A CN118142157A (zh) | 2022-12-07 | 2022-12-07 | 虚拟物体的放置方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118142157A true CN118142157A (zh) | 2024-06-07 |
Family
ID=91295529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211567703.3A Pending CN118142157A (zh) | 2022-12-07 | 2022-12-07 | 虚拟物体的放置方法、装置、设备、介质及产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118142157A (zh) |
WO (1) | WO2024120030A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4683639B2 (ja) * | 2006-01-13 | 2011-05-18 | キヤノン株式会社 | 画像処理方法、画像処理装置 |
JP2014235596A (ja) * | 2013-06-03 | 2014-12-15 | 任天堂株式会社 | 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法 |
CN108595010B (zh) * | 2018-04-27 | 2021-06-18 | 网易(杭州)网络有限公司 | 虚拟现实中虚拟物体的交互方法及装置 |
CN110825280A (zh) * | 2018-08-09 | 2020-02-21 | 北京微播视界科技有限公司 | 控制虚拟物体位置移动的方法、装置和计算机可读存储介质 |
CN110827412A (zh) * | 2018-08-09 | 2020-02-21 | 北京微播视界科技有限公司 | 自适应平面的方法、装置和计算机可读存储介质 |
CN112121430B (zh) * | 2020-09-30 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 虚拟场景中的信息展示方法、装置、设备及存储介质 |
CN112817453A (zh) * | 2021-01-29 | 2021-05-18 | 聚好看科技股份有限公司 | 虚拟现实设备和虚拟现实场景中物体的视线跟随方法 |
CN116091744A (zh) * | 2023-01-06 | 2023-05-09 | 杭州灵伴科技有限公司 | 虚拟三维物体显示方法和头戴式显示设备 |
-
2022
- 2022-12-07 CN CN202211567703.3A patent/CN118142157A/zh active Pending
-
2023
- 2023-10-24 WO PCT/CN2023/126234 patent/WO2024120030A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024120030A1 (zh) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11951395B2 (en) | Method and apparatus for displaying marker element in virtual scene, computer device, and computer-readable storage medium | |
US11703993B2 (en) | Method, apparatus and device for view switching of virtual environment, and storage medium | |
JP7386360B2 (ja) | 情報処理方法、装置及び端末デバイス | |
US20230076343A1 (en) | Virtual item selection interface | |
US12011662B2 (en) | Interface display method, apparatus, terminal, and storage medium | |
CN112076473B (zh) | 虚拟道具的控制方法、装置、电子设备及存储介质 | |
WO2022083452A1 (zh) | 虚拟对象的二维形象展示方法、装置、设备及存储介质 | |
WO2022116740A1 (zh) | 虚拟道具的使用方法、装置、设备及存储介质 | |
US11931653B2 (en) | Virtual object control method and apparatus, terminal, and storage medium | |
US11783549B2 (en) | Method for observing virtual environment, device, and storage medium | |
US11847734B2 (en) | Method and apparatus for displaying virtual environment picture, device, and storage medium | |
JP7186901B2 (ja) | ホットスポットマップの表示方法、装置、コンピュータ機器および読み取り可能な記憶媒体 | |
US20220305384A1 (en) | Data processing method in virtual scene, device, storage medium, and program product | |
WO2021227684A1 (en) | Method for selecting virtual objects, apparatus, terminal and storage medium | |
CN116402931A (zh) | 体积渲染方法、装置、计算机设备和计算机可读存储介质 | |
CN112891940B (zh) | 图像数据处理方法及装置、存储介质、计算机设备 | |
CN114159785A (zh) | 虚拟道具丢弃方法、装置、电子设备和存储介质 | |
CN118142157A (zh) | 虚拟物体的放置方法、装置、设备、介质及产品 | |
WO2024067168A1 (zh) | 基于社交场景的消息显示方法、装置、设备、介质及产品 | |
CN114146413B (zh) | 虚拟对象的控制方法、装置、设备、存储介质及程序产品 | |
CN117839207A (zh) | 游戏中的交互控制方法、装置、电子设备及可读存储介质 | |
KR20240149954A (ko) | 메시지 디스플레이 방법, 장치, 기기, 매체 및 프로그램 제품 | |
CN118491086A (zh) | 游戏中的交互控制方法、装置、电子设备及可读存储介质 | |
CN117753004A (zh) | 消息显示方法、装置、设备、介质及程序产品 | |
CN117753007A (zh) | 虚拟场景的互动处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |