CN114432701A - 基于虚拟场景的射线显示方法、装置、设备以及存储介质 - Google Patents
基于虚拟场景的射线显示方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114432701A CN114432701A CN202210110548.6A CN202210110548A CN114432701A CN 114432701 A CN114432701 A CN 114432701A CN 202210110548 A CN202210110548 A CN 202210110548A CN 114432701 A CN114432701 A CN 114432701A
- Authority
- CN
- China
- Prior art keywords
- virtual
- target
- ray
- emitter
- assembly
- 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 62
- 239000013598 vector Substances 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 14
- 230000002829 reductive effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000002860 competitive effect Effects 0.000 description 11
- 210000001624 hip Anatomy 0.000 description 7
- 230000005855 radiation Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 239000011324 bead Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/141—Control of illumination
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8076—Shooting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种基于虚拟场景的射线显示方法、装置、设备以及存储介质,属于计算机技术领域。通过本申请实施例提供的技术方案,在虚拟场景中提供装配虚拟射线发射器的功能,且在装配时能够自行选择装配位置。在瞄准过程中根据目标虚拟对象、虚拟道具发射器以及虚拟射线发射器的装配位置来显示射线,使得射线能够指向虚拟道具发射器的瞄准位置,通过射线对用户的瞄准进行辅助,从而降低瞄准难度,提高人机交互的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于虚拟场景的射线显示方法、装置、设备以及存储介质。
背景技术
随着多媒体技术的发展以及终端功能的多样化,在终端上能够进行的游戏种类越来越多。射击类游戏是一种比较盛行的游戏,在射击类游戏中,用户能够操纵虚拟对象使用不同的虚拟道具发射器,通过虚拟道具发射器就能够与其他用户控制的虚拟对象进行对战。
相关技术中,通常会在游戏画面上显示准星来提示用户虚拟道具发射器的瞄准位置。但是,准星的面积往往较小,颜色较淡,在遇到一些显示内容较为复杂的游戏场景时不容易找到准星的位置,瞄准难度较高,人机交互的效率较低。
发明内容
本申请实施例提供了一种基于虚拟场景的射线显示方法、装置、设备以及存储介质,可以提升人机交互的效率,技术方案如下:
一方面,提供了一种基于虚拟场景的射线显示方法,所述方法包括:
显示虚拟场景,所述虚拟场景显示有目标虚拟对象和所述目标虚拟对象持有的虚拟道具发射器;
响应于在所述虚拟场景中对所述虚拟道具发射器的装配操作,基于所述装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,所述虚拟射线发射器用于辅助所述虚拟道具发射器进行瞄准;
基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线,所述射线指向所述虚拟道具发射器的瞄准位置。
一方面,提供了一种基于虚拟场景的射线显示装置,所述装置包括:
虚拟场景显示模块,用于显示虚拟场景,所述虚拟场景显示有目标虚拟对象和所述目标虚拟对象持有的虚拟道具发射器;
虚拟射线发射器显示模块,用于响应于在所述虚拟场景中对所述虚拟道具发射器的装配操作,基于所述装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,所述虚拟射线发射器用于辅助所述虚拟道具发射器进行瞄准;
射线显示模块,用于基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线,所述射线指向所述虚拟道具发射器的瞄准位置。
在一种可能的实施方式中,所述虚拟射线发射器显示模块,用于响应于在所述虚拟场景中的第一操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面,所述装配页面显示有所述虚拟道具发射器的多个候选装配位置;响应于在所述装配页面中的第二操作,将所述多个候选装配位置中被选中的候选装配位置确定为所述目标装配位置;在所述虚拟道具发射器的所述目标装配位置显示所述虚拟射线发射器。
在一种可能的实施方式中,所述虚拟射线发射器显示模块,用于执行下述任一项:
响应于在所述虚拟场景中对所述虚拟射线发射器的拾取操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面;
响应于对所述虚拟场景中显示的装配控件的点击操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面。
在一种可能的实施方式中,所述虚拟射线发射器显示模块,用于执行下述任一项:
响应于在所述装配页面中对所述多个候选装配位置中的任一候选装配位置的点击操作,将所述候选装配位置确定为所述目标装配位置;
响应于在所述装配页面中将所述虚拟射线发射器拖动至所述多个候选装配位置中的任一候选装配位置,将所述候选装配位置确定为所述目标装配位置。
在一种可能的实施方式中,所述射线显示模块,用于基于所述目标虚拟对象在所述虚拟场景中的定位信息、所述虚拟道具发射器的类型以及所述目标装配位置,确定所述射线的发射方向;控制所述虚拟射线发射器向所述发射方向发射所述射线。
在一种可能的实施方式中,所述射线显示模块,用于基于所述目标虚拟对象在所述虚拟场景中的第一定位信息以及所述目标装配位置,确定所述虚拟射线发射器的目标位置,所述第一定位信息包括所述目标虚拟对象的手部在所述虚拟场景中的位置和指向;基于所述第一定位信息、所述目标虚拟对象的第二定位信息、所述虚拟道具发射器的类型、所述手部的位置和所述目标位置,确定所述射线的发射方向,所述第二定位信息包括所述目标虚拟对象的虚拟相机在所述虚拟场景中的位置和朝向。
在一种可能的实施方式中,所述射线显示模块,用于基于所述手部的指向,生成第一旋转矩阵;采用所述第一旋转矩阵对所述目标装配位置进行处理,得到所述虚拟射线发射器的参考位置;将所述手部的位置和所述虚拟射线发射器的参考位置进行融合,得到所述虚拟射线发射器的目标位置,所述目标位置为所述虚拟射线发射器与所述目标虚拟对象之间的相对位置。
在一种可能的实施方式中,所述射线显示模块,用于基于所述虚拟道具发射器的类型,确定所述虚拟道具发射器的目标发射距离;基于所述目标虚拟对象的第二定位信息和所述目标发射距离,确定所述虚拟道具发射器的参考瞄准位置;基于所述目标位置、所述虚拟道具发射器的参考瞄准位置以及所述第一定位信息,确定所述射线的发射方向向量。
在一种可能的实施方式中,所述射线显示模块,用于基于所述目标位置和所述虚拟道具发射器的参考瞄准位置,确定所述射线的参考发射方向向量,所述参考发射方向向量为基于所述目标虚拟对象建立的空间中的向量;基于所述手部的指向对所述参考发射方向进行旋转,得到所述射线的发射方向向量,所述发射方向向量为基于所述虚拟道具发射器建立的空间中的向量。
在一种可能的实施方式中,所述装置还包括:
光点显示模块,用于在所述虚拟道具发射器的瞄准位置为所述虚拟场景中虚拟障碍物的情况下,在所述虚拟障碍物上显示光点,所述光点为所述虚拟射线发射器发射的射线与所述虚拟障碍物的交点。
在一种可能的实施方式中,所述射线显示模块,还用于在所述目标虚拟对象将持有所述虚拟道具发射器的姿态从所述第一姿态调整为第二姿态的情况下,不显示所述虚拟射线发射器发射的射线。
一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述基于虚拟场景的射线显示方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述基于虚拟场景的射线显示方法。
一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述基于虚拟场景的射线显示方法。
通过本申请实施例提供的技术方案,在虚拟场景中提供装配虚拟射线发射器的功能,且在装配时能够自行选择装配位置。在瞄准过程中根据目标虚拟对象、虚拟道具发射器以及虚拟射线发射器的装配位置来显示射线,使得射线能够指向虚拟道具发射器的瞄准位置,通过射线能够对用户的瞄准进行辅助,从而降低瞄准难度,提高人机交互的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于虚拟场景的射线显示方法的实施环境的示意图;
图2是本申请实施例提供的一种观察虚拟场景的视角的示意图;
图3是本申请实施例提供的一种虚拟场景的示意图;
图4是本申请实施例提供的一种基于虚拟场景的射线显示方法的流程图;
图5是本申请实施例提供的一种基于虚拟场景的射线显示方法的流程图;
图6是本申请实施例提供的另一种虚拟场景的示意图;
图7是本申请实施例提供的又一种虚拟场景的示意图;
图8是本申请实施例提供的又一种虚拟场景的示意图;
图9是本申请实施例提供的又一种虚拟场景的示意图;
图10是本申请实施例提供的又一种虚拟场景的示意图;
图11是本申请实施例提供的一种目标发射距离的示意图;
图12是本申请实施例提供的基于虚拟场景的射线显示方法的流程图;
图13是本申请实施例提供的一种基于虚拟场景的射线显示装置的结构示意图;
图14是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式做进一步的详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。
相关技术中,往往会在游戏画面上显示准星,准星用于提示虚拟道具发射器的瞄准位置,游戏画面用于模拟真实场景,而在真实场景中并不存在准星,在游戏画面中显示准星会降低游戏的真实性。若不在游戏画面中显示准星,那么可以通过固定位置的瞄准装置来进行瞄准,这样虽然能够提高游戏的真实性,但是会减低瞄准的准确性。另外,由于瞄准装置的位置固定,导致瞄准装置的配置也不够灵活。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
可选地,该虚拟对象是通过客户端上的操作进行控制的用户角色,或者是通过训练设置在虚拟场景对战中的人工智能(Artificial Intelligence,AI),或者是设置在虚拟场景中的非用户角色(Non-Player Character,NPC)。可选地,该虚拟对象是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量是预先设置的,或者是根据加入互动的客户端的数量动态确定的。
以射击类游戏为例,用户能够控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等,当然,用户也可以控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,例如,该虚拟载具可以是虚拟汽车、虚拟飞行器、虚拟游艇等,在此仅以上述场景进行举例说明,本申请实施例对此不作具体限定。用户也可以控制虚拟对象通过互动道具与其他虚拟对象进行战斗等方式的互动,例如,该互动道具可以是手雷、集束雷、粘性手雷(简称“粘雷”)等投掷类互动道具,也可以是机枪、手枪、步枪等射击类互动道具,本申请对互动道具的类型不作具体限定。需要说明的是,上述介绍的机枪、手枪、步枪等射击类互动道具均是游戏中的道具。
图1是本申请实施例提供的一种基于虚拟场景的射线显示方法的实施环境示意图,参见图1,该实施环境包括:终端120和服务器140。
终端120装配和运行有支持虚拟场景显示的应用程序。可选地,该应用程序是第一人称射击游戏(First-Person Shooting Game,FPS)、第三人称射击游戏、虚拟现实应用程序、三维地图程序或者多人器械类生存游戏中的任意一种。终端120是用户使用的终端,用户使用终端120操作位于虚拟场景中的目标虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,目标虚拟对象是虚拟人物,比如仿真人物角色或动漫人物角色。
服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例对服务器的数量和设备类型不加以限定。服务器140为终端120上运行的应用程序提供后台服务,终端120通过无线网络或有线网络与服务器140相连。
在介绍完本申请实施例的实施环境之后,下面对本申请实施例的应用场景进行介绍。在下述说明过程中,终端也即是上述实施环境中的终端120,服务器也即是上述服务器140。
本申请实施例提供的技术方案能够应用在射击类游戏的场景下,在射击类游戏中,终端显示虚拟场景,该虚拟场景包括目标虚拟对象,用户能够通过终端控制该目标虚拟对象在虚拟场景中进行移动和攻击。在一些实施例中,目标虚拟对象持有虚拟道具发射器,通过该虚拟道具发射器能够实现对虚拟场景中的其他虚拟对象进行攻击。在游戏过程中,用户能够控制目标虚拟对象持有的虚拟道具发射器瞄准想要攻击的虚拟对象,从而对该虚拟对象发动攻击。在一些实施例中,终端会在虚拟场景中显示该虚拟道具发射器的准星,该准星用于指示该虚拟道具发射器在虚拟场景中的瞄准位置,用户通过调整该准星的位置也就能够实现控制该虚拟道具发射器进行瞄准的目的。在一些情况下,由于虚拟场景可能较为复杂,显示的内容较为复杂,用户可能无法准确的查看到准星的位置,从而导致虚拟道具发射器的瞄准难度较高,人机互动的效率较低。采用本申请实施例提供的技术方案之后,用户能够为虚拟道具发射器添加虚拟射线发射器,通过该虚拟射线发射器来对虚拟道具发射器的瞄准进行辅助,降低虚拟道具发射器的瞄准难度,提高人机交互的效率。除此之外,用户还能够自行选择虚拟射线发射器在虚拟道具发射器上的装配位置,且无论虚拟射线发射器装配在虚拟道具发射器的哪个位置,虚拟射线发射器均能够向该虚拟道具发射器的瞄准位置发送射线,在提高游戏真实性的同时,丰富了用户的游戏选择,提高了人机交互的效率。
需要说明的是,上述是以本申请实施例提供的技术方案应用在射击类游戏的场景下为例进行的,在其他可能的实施方式中,本申请实施例提供的技术方案还能够应用在其他类型需要进行瞄准的游戏中,本申请实施例对此不做限定。
需要说明的是,上述说明是以终端执行本申请实施例提供的基于虚拟场景的射线显示方法为例进行说明的,在上述射击类游戏为云游戏的情况下,本申请实施例提供的基于虚拟场景的射线显示方法也能够由服务器执行,也即是服务器执行后台处理过程以生成视频流,向终端推送视频流,终端进行显示即可,本申请实施例对此不做限定。
为了更加清楚的对本申请实施例提供的技术方案进行说明,下面对本申请中的虚拟场景进行介绍,参见图2,为了使得射击类游戏更加真实,游戏设计人员会参照人类观察现实世界的方式,来对虚拟场景的显示方式进行设计。第一虚拟对象201能够观察到区域202中的虚拟场景,以第一虚拟对象201的角度观察区域202得到的画面也即是显示的虚拟场景。用户能够通过调整第一虚拟对象201的朝向,来调整第一虚拟对象201观察虚拟场景的位置。
在一些实施例中,虚拟场景包括用于控制目标虚拟对象执行不同动作的控件。参见图3,虚拟场景301上显示有虚拟摇杆302、姿态调整控件303以及射击控件304,其中,虚拟摇杆302用于控制目标虚拟对象的移动方向。姿态调整控件303用于调整目标虚拟对象的姿态,比如控制虚拟对象执行下蹲或者匍匐等动作。射击控件304用于控制目标虚拟对象持有的虚拟道具发射器发射虚拟道具,在一些实施例中,虚拟道具发射器为游戏中的虚拟枪械,虚拟道具为游戏中的虚拟弹药。305为小地图,或者叫虚拟地图,用户能够通过小地图305观察队友和敌人在虚拟场景中的位置。
在介绍完本申请实施例的实施环境和应用场景之后,下面将对本申请实施例提供的基于虚拟场景的射线显示方法进行说明,参见图4,方法包括:
401、终端显示虚拟场景,该虚拟场景显示有目标虚拟对象和该目标虚拟对象持有的虚拟道具发射器。
其中,虚拟场景为虚拟对象的活动场景,虚拟场景为对真实世界的模拟,在一些实施例中,该虚拟场景也被称为游戏场景。目标虚拟对象为终端控制的虚拟对象,用户能够通过终端控制该目标虚拟对象在该虚拟场景中进行互动。虚拟道具发射器为游戏提供的一类游戏道具,虚拟道具发射器能够在虚拟场景中发射虚拟道具,从而实现对虚拟对象的攻击,其中,虚拟道具发射器也即是游戏中的虚拟枪械,虚拟的道具发射器发射的虚拟道具也即是游戏中的虚拟弹药。
402、响应于在该虚拟场景中对该虚拟道具发射器的装配操作,终端基于该装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,该虚拟射线发射器用于辅助该虚拟道具发射器进行瞄准。
其中,对该虚拟道具发射器的装配操作是指为虚拟射线发射器选择在虚拟道具发射器上装配位置的操作。虚拟射线发射器能够在虚拟场景中发射射线,该射线能够起到辅助虚拟道具发射器进行瞄准的作用。在本申请实施例中,虚拟射线发射器在虚拟道具发射器上的装配位置是由用户决定的,也就是说在本申请实施例中,提供了多种虚拟射线发射器和虚拟道具发射器之间的组装形式,为用户提供了十分丰富的装配方式。
403、终端基于该目标虚拟对象、该虚拟道具发射器以及该目标装配位置,在该虚拟场景中显示该虚拟射线发射器发射的射线,该射线指向该虚拟道具发射器的瞄准位置。
其中,虚拟射线发射器发射的射线指向该虚拟道具发射器的瞄准位置,也就意味着用户通过查看该射线的指向就能够知晓该虚拟道具发射器的瞄准位置,从而方便用户控制该虚拟道具发射器进行瞄准,人机交互的效率较高。
通过本申请实施例提供的技术方案,在虚拟场景中提供装配虚拟射线发射器的功能,且在装配时能够自行选择装配位置。在瞄准过程中根据目标虚拟对象、虚拟道具发射器以及虚拟射线发射器的装配位置来显示射线,使得射线能够指向虚拟道具发射器的瞄准位置,通过射线能够对用户的瞄准进行辅助,从而降低瞄准难度,提高人机交互的效率。
上述步骤401-403是对本申请实施例提供的基于虚拟场景的射线显示方法的简单介绍,下面将结合一些例子,对本申请实施例提供的技术方案进行更加详细的说明,参见图5,方法包括:
501、终端显示虚拟场景,该虚拟场景显示有目标虚拟对象和该目标虚拟对象持有的虚拟道具发射器。
在一些实施例中,该虚拟场景为射击类游戏的游戏场景,目标虚拟对象为终端控制的虚拟对象,用户能够通过终端来控制该目标虚拟对象在该虚拟场景中进行移动、使用道具、驾驶虚拟载具以及执行其他活动。虚拟道具发射器为射击类游戏中提供的游戏道具,该虚拟道具发射器能够在虚拟场景中发射虚拟道具,虚拟道具发射器发射的虚拟道具能够对虚拟场景中的虚拟对象进行攻击。在虚拟场景中的虚拟对象被虚拟道具击中的情况下,该虚拟对象的属性值会下降,其中,该虚拟道具的属性值的下降量与该虚拟道具的类型、被该虚拟道具击中的位置以及装备的虚拟护甲中的至少一项相关。在该虚拟对象的属性值下降到目标数值的情况下,该虚拟对象被击败。在一些实施例中,该属性值被称为虚拟对象的生命值,该目标数值为0,也即是,在该虚拟对象的生命值降低到0时,该虚拟对象被击败。
在一种可能的实施方式中,响应于用户开启一局竞技对战,终端显示该局竞技对战对应的虚拟场景,在虚拟场景中显示目标虚拟对象,其中,一局竞技对战也即是一局射击类游戏,终端显示的虚拟场景为虚拟场景的一个部分,目标虚拟对象被显示在终端显示的虚拟场景的中央,终端显示的虚拟场景会随着目标虚拟对象的移动而移动,该目标虚拟对象持有虚拟道具发射器。在一些实施例中,目标虚拟对象能够采用至少两种姿态来持有该虚拟道具发射器,第一种姿态为将虚拟道具发射器放置在目标虚拟对象的腰间,这种姿态也被称为“腰射”;第二种姿态为将虚拟道具发射器放置在目标虚拟对象的肩膀处,这种姿态也被称为“ADS(Aiming Down Sight,瞄准射击)”,也即是使用虚拟道具发射器的瞄具进行瞄准的姿态,从“腰射”姿态转变为“ADS”姿态也被称为开镜。在一些实施例中,终端显示的虚拟场景也被称为目标虚拟对象的视野范围。在这种情况下,在其他虚拟对象进入目标虚拟对象的视野范围的情况下,终端能够显示其他虚拟对象。
下面通过两个例子对上述实施方式进行说明。
例1、响应于对目标图标的点击操作,终端启动目标应用程序,该目标图标为该目标应用程序对应的图标,该目标应用程序为该竞技对战的应用程序。终端加载该目标应用程序的相关资源,显示该目标应用程序的主界面。响应于在该主界面上的操作,也即是开启一局竞技对战,终端加载虚拟场景的渲染资源,显示该局竞技对战对应的虚拟场景,该虚拟场景显示有目标虚拟对象和该目标虚拟对象持有的虚拟道具发射器。在一些实施例中,用户在游戏过程中自主切换目标虚拟对象持有的虚拟道具发射器,也能够自主切换目标虚拟对象持有该虚拟道具发射器的姿态。在这种情况下,虚拟场景的渲染和显示均是由终端来执行的。
例2、响应于对目标图标的点击操作,终端向服务器发送应用程序启动请求,该目标图标为目标应用程序对应的图标,该目标应用程序为该竞技对战的应用程序,该应用程序启动请求携带该目标应用程序的标识。响应于接收到该应用程序启动请求,服务器从该应用程序启动请求中获取该目标应用程序的标识,基于该目标应用程序的标识启动该目标应用程序。服务器向终端持续推送该目标应用程序的视频流,终端显示该视频流。响应于基于该视频流的操作,终端向服务器发送竞技对战开启请求,服务器接收该竞技对战开启请求,基于竞技对战开启请求加载虚拟场景的渲染资源,生成该局竞技对战对应的虚拟场景。服务器将该局竞技对战对应的视频流推送给终端,终端显示该局竞技对战对应的虚拟场景,该虚拟场景显示有目标虚拟对象和该目标虚拟对象持有的虚拟道具发射器。在这种情况下,虚拟场景的渲染是由服务器来执行的,虚拟场景的显示是由终端来执行的,该射击类游戏也即是云游戏。
502、响应于在该虚拟场景中对该虚拟道具发射器的装配操作,终端基于该装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,该虚拟射线发射器用于辅助该虚拟道具发射器进行瞄准。
其中,虚拟射线发射器为射击类游戏提供的一种游戏道具,在射击类游戏中,该虚拟射线发射器也被称为镭射指示器或者简称为“镭指”。在一些实施例中,虚拟射线发射器包括多个类型,不同类型的虚拟射线发射器具有不同的性能参数。比如,不同类型的虚拟射线发射器具有不同的外形,或者,不同类型的虚拟射线发射器能够发送不同颜色的射线等。虚拟射线发射器能够装配在虚拟道具发射器上,通过发射射线的方式来辅助虚拟道具,也即是,该虚拟射线发射器被装配到虚拟道具发射器上之后,能够在该虚拟场景中发射指向该虚拟道具发射器的瞄准位置的射线,用户通过查看该射线就能够确定该虚拟道具发射器当前的瞄准位置,从而便于用户进行瞄准。在一些实施例中,虚拟射线发射器发射的射线通过粒子特效来实现。目标装配位置是基于装配操作确定的,也就是说用户能够自行选择虚拟射线发射器在虚拟道具发射器上的装配位置,从而实现对虚拟道具发射器的个性化装配,为用户提供更加丰富的玩法。另外,在一些实施例中,射击类游戏中为虚拟道具发射器提供多种配件,不同类型的配件能够为虚拟道具发射器提供不同的功能,虚拟射线发射器也即是虚拟道具发射器的一个配件。虚拟道具发射器的多个配件的装配位置由用户自由决定,各个配件的装配位置由均可以进行调整,也就是说,用户能够在游戏过程中随时调整虚拟射线发射器在虚拟道具发射器上的装配位置。
比如,参见图6,终端显示虚拟场景600,该虚拟场景600显示有该虚拟道具发射器601,该虚拟道具发射器601上装配有虚拟射线发射器602,该虚拟射线发射器602在虚拟场景中发射射线603。
在一种可能的实施方式中,响应于在该虚拟场景中的第一操作,终端在该虚拟场景中显示该虚拟道具发射器的装配页面,该装配页面显示有该虚拟道具发射器的多个候选装配位置。响应于在该装配页面中的第二操作,终端将该多个候选装配位置中被选中的候选装配位置确定为该目标装配位置。终端在该虚拟道具发射器的该目标装配位置显示该虚拟射线发射器。
其中,该虚拟道具发射器的装配页面用于为该虚拟道具发射器装配配件,该装配页面上提供的多个候选装配位置为该虚拟道具发射器可供进行配件装配的位置,该装配页面为用户提供装配位置选择的功能。在一些实施例中,该装配页面还包括配件选择区域,该配件选择区域包括目标虚拟对象拥有的多个配件,用户能够从该配件选择区域中选择想要装配在该虚拟道具发射器上的配件,该配件选择区域也被称为该目标虚拟对象的虚拟背包。
在这种实施方式下,一方面,提供了通过虚拟射线发射器来进行瞄准的方式,相较于相关技术中通过准星进行瞄准的方式,能够提高游戏的真实性。另一方面,在虚拟道具发射器上为虚拟射线发射器提供了多个候选装配位置,用户能够在该多个候选装配位置中自行进行选择目标装配位置,提高了装配虚拟射线发射器的灵活性。
在多个候选装配位置中自行选择目标装配位置至少能够带来下述效果:
第一、适配用户的使用习惯,比如,有的用户习惯于将虚拟射线发射器装配在虚拟道具发射器的右侧,有的用户习惯于将虚拟射线发射器装配在虚拟道具发射器的左侧,提供的多个候选装配位置也就可以同时适配用户的不同使用习惯。
第二、由于不同的虚拟道具发射器的大小和形状可能是不同的,不同的虚拟射线发射器的大小和形状也可能是不同的,虚拟射线发射器装配在虚拟道具发射器上的某个位置时,可能存在遮挡视野的情况。在提供多个候选装配位置的情况下,用户能够在视野被遮挡时及时调整虚拟射线发射器的装配位置,从而解决视野遮挡的情况。
为了对上述实施方式进行更加清楚的说明,下面将分为三个部分对上述实施方式进行说明。
第一部分、响应于在该虚拟场景中的第一操作,终端在该虚拟场景中显示该虚拟道具发射器的装配页面。
其中,图7提供了该虚拟道具发射器的装配页面的示意图,参见图7,该装配页面700包括多个候选装配位置,多个候选装配位置对应于该虚拟道具发射器的不同部位。在一些实施例中,该装配页面还显示有该虚拟道具发射器,以便用户知晓当前正在为哪个虚拟道具发射器装配虚拟射线发射器。
在一种可能的实施方式中,响应于在该虚拟场景中对该虚拟射线发射器的拾取操作,终端在该虚拟场景中显示该虚拟道具发射器的装配页面。在这种情况下,在该虚拟场景中的第一操作为在该虚拟场景中对该虚拟射线发射器的拾取操作。
其中,在该虚拟场景中的拾取操作是指控制目标虚拟对象在虚拟场景中拾取虚拟射线发射器的操作。在一些实施例中,该虚拟场景中的虚拟射线发射器为虚拟场景中随机掉落的虚拟射线发射器,或者为虚拟场景中虚拟对象被击败后掉落的虚拟射线发射器,本申请实施例对此不做限定。
在这种实施方式下,在目标虚拟对象在该虚拟场景中拾取虚拟射线发射器的情况下,终端能够显示该虚拟道具发射器的装配页面,通过该装配页面为用户提供装配拾取到的虚拟射线发射器选择装配位置,效率较高。
举例来说,响应于目标虚拟对象在虚拟场景中靠近该虚拟射线发射器所在的位置,终端在该虚拟射线发射器上显示拾取控件,其中,目标虚拟对象在虚拟场景中的位置是由用户控制的,也就是说,用户在虚拟场景中看到虚拟射线发射器时,能够控制目标虚拟对象向该虚拟射线发射器所在的位置进行移动,从而控制该目标虚拟对象拾取该虚拟射线发射器。响应于对该拾取控件的点击操作,目标虚拟对象拾取该虚拟射线发射器,显示该虚拟道具发射器的装配页面,其中,目标虚拟对象拾取该虚拟射线发射器是指将该虚拟射线发射器存放在该目标虚拟对象的虚拟背包中。或者,响应于目标虚拟对象在虚拟场景中靠近该虚拟射线发射器所在的位置,终端控制目标虚拟对象拾取该虚拟射线发射器,也就是说,用户控制目标虚拟对象靠近该虚拟射线发射器时,终端能够自动控制目标虚拟对象拾取该虚拟射线发射器,无需用户手动进行控制,人机交互的效率较高。响应于目标虚拟对象拾取该虚拟射线发射器,终端显示该虚拟道具发射器的装配页面,用户能够通过该装配页面来为拾取的虚拟射线发射器选择装配位置。
在一种可能的实施方式中,响应于对该虚拟场景中显示的装配控件的点击操作,终端在该虚拟场景中显示该虚拟道具发射器的装配页面。
其中,装配控件为触发显示该装配页面的功能控件,该装配控件的形式以及显示位置由技术人员根据实际情况进行设置,本申请实施例对此不做限定。在这种情况下,在该虚拟场景中的第一操作为在该虚拟场景中对该装配控件的点击操作。
在这种实施方式下,当用户想要查看该虚拟道具发射器的装配页面时,直接点击该装配控件即可,人机交互的效率较高。
举例来说,参见图6和图7,虚拟场景600显示有装配控件604,响应于对该装配控件604的点击操作,终端在该虚拟场景中显示该虚拟道具发射器的装配页面700。
第二部分、响应于在该装配页面中的第二操作,终端将该多个候选装配位置中被选中的候选装配位置确定为该目标装配位置。
其中,该目标装配位置也即是虚拟射线发射器在该虚拟道具发射器上的装配位置。
在一种可能的实施方式中,响应于在该装配页面中对该多个候选装配位置中的任一候选装配位置的点击操作,终端将该候选装配位置确定为该目标装配位置。
其中,在这种情况下,在该虚拟场景中的第二操作为对该多个候选装配位置中的任一候选装配位置的点击操作。
在这种实施方式下,用户能够通过点击的方式来快速选择目标装配位置,人机交互的效率较高。
举例来说,参见图7,响应于对该装配页面700中该多个候选装配位置中的任一候选装配位置701的点击操作,终端将该候选装配位置701确定为该目标装配位置。
在一种可能的实施方式中,响应于在该装配页面中将该虚拟射线发射器拖动至该多个候选装配位置中的任一候选装配位置,终端将该候选装配位置确定为该目标装配位置。
在这种实施方式下,用户能够通过拖动的方式为虚拟射线发射器选择装配位置,同时,拖动操作也能够指示当前正在选择装配位置的虚拟射线发射器,降低选择错误的概率。
举例来说,参见图7,响应于该虚拟射线发射器被拖动至该多个候选装配位置中的任一候选装配位置701,终端将该候选装配位置701确定为该目标装配位置。
第三部分、终端在该虚拟道具发射器的该目标装配位置显示该虚拟射线发射器。
在一种可能的实施方式中,终端基于该目标装配位置以及该虚拟道具发射器的模型,将该虚拟射线发射器的模型渲染至该目标装配位置。
需要说明的是,上述步骤502是以终端基于操作来执行相应步骤为例信息说明的,在云游戏场景下,终端也能够基于操作向服务器发送相应的指令,由服务器来执行指令对应的步骤,将渲染完毕的视频流发送给终端,由终端对该视频流进行显示。
503、终端基于该目标虚拟对象在该虚拟场景中的定位信息、该虚拟道具发射器的类型以及该目标装配位置,确定该射线的发射方向,其中,该射线的发射方向为相对于该虚拟道具发射器的发射方向。
在一种可能的实施方式中,终端基于该目标虚拟对象在该虚拟场景中的第一定位信息以及该目标装配位置,确定该虚拟射线发射器的目标位置,该第一定位信息包括该目标虚拟对象的手部在该虚拟场景中的位置和指向。终端基于该第一定位信息、该目标虚拟对象的第二定位信息、该虚拟道具发射器的类型、该手部的位置和该目标位置,确定该射线的发射方向,该第二定位信息包括该目标虚拟对象的虚拟相机在该虚拟场景中的位置和朝向。
其中,由于虚拟射线发射器包括多个候选装配位置,当虚拟射线发射器被装配在不同候选位置时,虚拟射线发射器发送射线的方向可能是不同的,终端能够根据多个信息来确定射线的发射方向,以保证该射线能够指向该虚拟道具发射器的瞄准位置。虚拟相机为用户观察虚拟场景的“眼睛”,终端显示的虚拟场景为该虚拟相机拍摄的画面。在第一人称射击游戏中,该虚拟相机在该虚拟场景中的位置为目标虚拟对象的头部在该虚拟场景中的位置,以模拟目标虚拟对象观察该虚拟场景的角度。或者,该虚拟相机在该虚拟场景中的位置为该目标虚拟对象的眼睛在该虚拟场景中的位置。在第三人称射击游戏中,该虚拟相机在该虚拟场景中的位置为该目标虚拟对象的上方。
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
第一部分、终端基于该目标虚拟对象在该虚拟场景中的第一定位信息以及该目标装配位置,确定该虚拟射线发射器的目标位置。
其中,第一定位信息包括目标虚拟对象的手部在虚拟场景中的位置和指向,手部在虚拟场景中的位置为手部与该目标虚拟对象的模型的原点之间的相对位置。相应地,手部在虚拟场景中的指向为手部与该目标虚拟对象的模型的原点之间的相对指向。目标装配位置为虚拟射线发射器与虚拟道具发射器之间的相对位置,目标位置为虚拟射线发射器与目标虚拟对象的模型的原点之间的相对位置。在一些实施例中,该目标虚拟对象的模型的原点也被称为根骨骼,以根骨骼建立的坐标系也被称为人物空间。在一些实施例中,终端采用坐标的形式来表示手部在虚拟场景中的位置,采用向量的形式来表示手部在虚拟场景中的指向。在一些实施例中,以虚拟道具发射器的原点建立的坐标系也被称为武器空间。通过上述第一部分的处理过程,能够确定虚拟射线与该根骨骼之间的目标位置,实现坐标系的变换,便于后续的处理。
在一种可能的实施方式中,终端基于该手部的指向,生成第一旋转矩阵。终端采用该第一旋转矩阵对该目标装配位置进行处理,得到该虚拟射线发射器的参考位置。终端将该手部的位置和该虚拟射线发射器的参考位置进行融合,得到该虚拟射线发射器的目标位置,该目标位置为该虚拟射线发射器与该目标虚拟对象之间的相对位置。
其中,该虚拟射线发射器与该目标虚拟对象之间的相对位置也即是该虚拟射线发射器与该目标虚拟对象的模型的原点之间的相对位置。在目标虚拟对象持有该虚拟道具发射器的情况下,目标虚拟对象手部的朝向也即是虚拟道具发射器在虚拟场景中的朝向。
举例来说,终端获取目标虚拟对象对该虚拟道具发射器的握持画面。终端基于该握持画面,获取该目标虚拟对象在该虚拟场景中的第一定位信息,也即是该目标虚拟对象的手部的坐标和方向向量。终端基于该手部的方向向量,生成第一旋转矩阵。终端采用该第一旋转矩阵对该目标装配坐标进行处理,得到该虚拟射线发射器的参考坐标,其中,目标装配坐标表示目标装配位置,参考坐标表示参考位置。终端将该手部的坐标和该虚拟射线发射器的参考坐标进行相加,得到该虚拟射线发射器的目标坐标,该目标坐标表示目标位置。
比如,终端通过下述公式(1)来获取该虚拟道具发射器的握持画面,通过下述公式(2)基于该虚拟道具发射器的握持画面获取该目标虚拟对象的手部的位置,通过下述公式(3)基于该虚拟道具发射器的握持画面获取该目标虚拟对象的手部的指向,该目标虚拟对象的手部的位置和指向通过下述公式(4)来表示。
GripAnim=GetGripAnim(CurrentWeapon) (1)
HandLoc=GripAnim.GetBoneLoc(“Hand”) (2)
HandRot=GripAnim.GetBoneRot(“Hand”) (3)
(“Hand”,Loc=(X=28.7,Y=15.6,Z=133.0),Rot=(Roll=0,Yaw=2,Pitch=0)) (4)
其中,GripAnim为该虚拟道具发射器的握持画面,CurrentWeapon为该虚拟道具发射器,Hand为该目标虚拟对象的手部,Loc=()为该手部的坐标,Rot为该手部的指向,Roll为翻滚角,指示绕Z轴旋转的角度;Yaw为偏航角,指示绕Y轴旋转的角度,Pitch为俯仰角,指示绕X轴旋转的角度。
终端通过下述公式(5)来获取该虚拟射线发射器的目标坐标。
LaserLoc=HandLoc+HandRotInverseTransformVector(LaserLoc_WeaponSpace)(5)
其中,LaserLoc为该虚拟射线发射器的目标坐标,HandLoc为手部在该虚拟场景中的位置,HandRotInverseTransformVector为第一旋转矩阵,LaserLoc_WeaponSpace为目标装配坐标,WeaponSpace表示该虚拟道具发射器所处的空间,HandRotInverseTransformVector(LaserLoc_WeaponSpace)的结果为该虚拟射线发射器的参考坐标。
下面通过一个例子对上述公式(5)的应用方式进行说明,参见下述计算过程:
LaserLoc(68.4,12.3,143.6)=(28.7,15.6,133.0)+(Roll=0,Yaw=2,Pitch=0)InverseTransformVector(39.6,-3.3,10.6),(68.4,12.3,143.6)即为目标装配位置在根骨骼坐标系的三维坐标,单位为厘米;InverseTransformVecto作用为将(39.6,-3.3,10.6)这个向量绕着Yaw方向旋转-2度,(39.6,-3.3,10.6)为目标装配位置与该虚拟道具发射器之间的相对坐标。
第二部分、终端基于该第一定位信息、该目标虚拟对象的第二定位信息、该虚拟道具发射器的类型、该手部的位置和该目标位置,确定该射线的发射方向。
在一种可能的实施方式中,终端基于该虚拟道具发射器的类型,确定该虚拟道具发射器的目标发射距离。终端基于该目标虚拟对象的第二定位信息和该目标发射距离,确定该虚拟道具发射器的参考瞄准位置。终端基于该目标位置、该虚拟道具发射器的参考瞄准位置以及该第一定位信息,确定该射线的发射方向向量。
为了对上述实施方式进行更加清楚的说明,下面相对目标发射距离的概念进行说明。
在一些实施例中,目标发射距离也被称为归零距离,是指光点和准心刚好重合的距离,光点是指射线与虚拟场景中的虚拟障碍物接触时显示的点。在归零距离为10米的情况下,参见图8,当准心离虚拟相机的距离为10米时,光点801会刚好和准心802重合;参见图9,当准心跟虚拟相机的距离小于归零距离,则光点901会在准心902的右下方;参见图10,当准心跟虚拟相机的距离大于归零距离,则光点1001会在准心1002的左上方。参见图11,这是因为射线1101与虚拟射线发射器1102所成的角度是固定的,并不会因为准心跟相机的远近而变化,否则虚拟射线发射器发射的射线就不够真实了。在一些实施例中,归零距离往往是该虚拟道具发射器的最佳作战距离,归零距离与该虚拟道具发射器的类型相关,例如,MP5冲锋枪的归零距离为30米,AKM突击步枪的归零距离为80米,其中,MP5冲锋枪和AKM突击步枪均为游戏中的游戏道具。需要说明的是,在采用本申请实施例提供的技术方案之后,在上述图9和图10所示的情况下,虚拟射线发射器发射的射线也会与准星重合,从而实现对虚拟道具发射器瞄准的辅助,在一些实施例中,准星为屏幕正中间的一个点,腰射开火时虚拟道具会落在准心附近,准星的方向是虚拟相机中点向前延伸直线上的一个点。
在这种实施方式下,由于不同类型的虚拟道具发射器具有不同的目标发射距离,也就是不同类型的虚拟道具发射器具有不同的最佳作战距离。对于不同类型的虚拟道具发射器来说,采用上述实施方式确定的射线的发射方向均能够指向虚拟道具发射器的准星,也即是指向虚拟道具发射器的瞄准位置,从而提高虚拟道具发射器瞄准的准确率。另外,由于虚拟射线发射器在虚拟道具发射器具有多个装配位置,而在上述确定射线的发射方向的过程中,结合了虚拟射线发射器的装配位置,因此无论虚拟射线发射器装配在虚拟道具发射器上的哪个位置上,确定出的射线的发射方向均能够指向虚拟道具发射器的准星。
在介绍完目标发射举例之后,下面对上述实施方式进行说明。
举例来说,终端基于该虚拟道具发射器的类型进行查询,获取该虚拟道具发射器的目标发射距离。终端基于该目标虚拟对象对该虚拟道具发射器的握持画面,获取该目标虚拟对象在该虚拟场景中的第二定位信息。该第二定位信息包括该虚拟相机在该虚拟场景中的位置和朝向,终端基于该虚拟相机在该虚拟场景中的朝向,生成第二旋转矩阵。终端采用该第二旋转矩阵以及该虚拟相机在该虚拟场景中的位置对该目标发射距离进行处理,得到该虚拟道具发射器的参考瞄准位置,其中,该参考瞄准位置也即是射线在虚拟场景中指向的位置。终端基于该目标位置和该虚拟道具发射器的参考瞄准位置,确定该射线的参考发射方向向量,该参考发射方向向量为基于该目标虚拟对象建立的空间中的向量。终端基于该手部的指向对该参考发射方向进行旋转,得到该射线的发射方向向量,该发射方向向量为基于该虚拟道具发射器建立的空间中的向量。
比如,终端基于该虚拟道具发射器的类型在目标发射距离列表中进行查询,获取该虚拟道具发射器的目标发射距离,其中,目标发射距离列表存储有虚拟道具发射器的类型与目标发射距离之间的对应关系。终端基于该目标虚拟对象对该虚拟道具发射器的握持画面,通过下述公式(6)获取虚拟相机在虚拟场景中的坐标,通过下述公式(7)获取虚拟相机在该虚拟场景中的朝向。终端基于该虚拟相机在该虚拟场景中的朝向,生成第二旋转矩阵。终端通过下述公式(8)采用该第二旋转矩阵和该虚拟相机在该虚拟场景中的位置对该目标发射距离进行处理,得到该虚拟道具发射器的参考瞄准位置。终端通过下述公式(9)基于该目标位置和该虚拟道具发射器的参考瞄准位置,确定该射线的参考发射方向向量,该参考发射方向向量为基于该目标虚拟对象建立的空间中的向量。终端通过下述公式(10)基于该手部的指向对该参考发射方向向量进行旋转,得到该射线的发射方向向量,该发射方向向量为基于该虚拟道具发射器建立的空间中的向量。
CameraLoc=GripAnim.GetBoneLoc(“Camera”) (6)
CameraRot=GripAnim.GetBoneRot(“Camera”) (7)
ZeroingPoint=CameraLoc+CameraRotGetForwardVector*ZeroingDistance (8)
BeamDirection=(ZeroingPoint–LaserLoc).GetNormal (9)
BeamDirection_WeaponSpace=HandRotTransformVector(BeamDirection) (10)
其中,CameraLoc为虚拟相机在虚拟场景中的位置,CameraRot为虚拟相机在虚拟场景中的朝向,ZeroingPoint为参考瞄准位置,ZeroingDistance为目标发射距离,CameraRotGetForwardVector为第二旋转矩阵,BeamDirection为参考发射方向向量,LaserLoc为该虚拟射线发射器的目标位置,GetNormal用于获取向量的单位向量,BeamDirection_WeaponSpace为该射线的发射方向向量,HandRotTransformVector为基于手部的指向生成的第三旋转矩阵,在一些实施例中,第一旋转矩阵和第三旋转矩阵互为逆矩阵。
下面将结合图12以及上述各个可选的实施方式,对上述步骤503进行介绍。
参见图12,终端获取目标虚拟对象对该虚拟道具发射器的握持画面GripAnim。终端基于该握持画面GripAnim,获取该目标虚拟对象的手部的位置HandLoc和朝向HandRot。终端基于该握持画面GripAnim,获取虚拟相机的位置CameraLoc和朝向CameraRot。终端基于该虚拟道具发射器的类型,获取该虚拟道具发射器的归零距离ZeroingDistance,也即是获取该虚拟道具发射器的目标发射距离。终端获取该虚拟射线发射器的目标装配位置LaserLoc_WeaponSpace,基于该目标装配位置确定该虚拟射线发射器的目标位置LaserLoc。终端基于该目标位置和该虚拟道具发射器的参考瞄准位置,确定该射线的参考发射方向向量BeamDirection。终端基于该手部的指向对该参考发射方向向量BeamDirection进行旋转,得到该射线的发射方向向量BeamDirection_WeaponSpace。
需要说明的是,上述步骤501-503是以终端实时执行为例进行说明的,在其他可能的实施方式中,终端也能够在游戏开始之前提前执行上述步骤501-503,将处理结果进行存储,在游戏运行时直接调用即可,本申请实施例对于执行时机不做限定。
504、终端控制该虚拟射线发射器向该发射方向发射该射线。
在一种可能的实施方式中,终端基于该虚拟射线发射器所在的位置以及该发射方向在该虚拟场景中进行渲染,显示该射线。
在步骤504之后,可选地,终端还能够执行下述任一步骤。
在一种可能的实施方式中,在该虚拟道具发射器的瞄准位置为该虚拟场景中虚拟障碍物的情况下,终端在该虚拟障碍物上显示光点,该光点为该虚拟射线发射器发射的射线与该虚拟障碍物的交点。
其中,虚拟障碍物包括虚拟墙壁、虚拟石头、虚拟树木等障碍物,在一些实施例中,在该虚拟道具发射器的瞄准位置为该虚拟场景中任一虚拟对象的情况下,终端在该虚拟对象上显示该光点。
在这种实施方式下,终端能够通过显示光点的方式来指示虚拟道具发射器的瞄准位置,为用户控制该虚拟道具发射器进行瞄准起到辅助。
举例来说,参见图8,在该虚拟道具发射器的瞄准位置为该虚拟场景中虚拟障碍物803的情况下,终端在该虚拟障碍物803上显示光点801。
在一种可能的实施方式中,该目标虚拟对象以第一姿态持有该虚拟道具发射器,在该目标虚拟对象将持有该虚拟道具发射器的姿态从该第一姿态调整为第二姿态的情况下,终端不显示该虚拟射线发射器发射的射线。
其中,第一姿态为“腰射”,第二姿态为“瞄准射击”。
在这种实施方式下,当目标虚拟对象的姿态变化时,终端可以不再显示该射线,使得用户能够专注于“瞄准射击”的方式进行瞄准,提高虚拟道具射击的命中率。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
通过本申请实施例提供的技术方案,在虚拟场景中提供装配虚拟射线发射器的功能,且在装配时能够自行选择装配位置。在瞄准过程中根据目标虚拟对象、虚拟道具发射器以及虚拟射线发射器的装配位置来显示射线,使得射线能够指向虚拟道具发射器的瞄准位置,通过射线能够对用户的瞄准进行辅助,从而降低瞄准难度,提高人机交互的效率。
相关技术中,射线会指向虚拟道具发射器前方的一个点,与腰射的姿势无关。若为了优化美术效果,将腰射时握持的手的角度往上倾斜一点,射线对应的光点就会往上移;若往左倾斜点,光点就会往左移等等。这使得光点的位置往往与准心相距甚远,用户无法利用虚拟射线发射器进行瞄准。采用本申请实施例提供的技术方案之后,能够根据实际情况调整射线的角度,使得射线会在归零距离处与准心重合。即使准心跟虚拟相机之间的距离归零距离,准心也会位于射线的延长线上;即使准心跟相机之间的距离大于归零距离,则准心会位于射线边缘上。总而言之,在各种情况下都会方便用户进行瞄准。当然,在虚拟道具发射器存在多个候选装配位置可供装配虚拟射线发射器时,采用本申请实施例提供的技术方案也能够使得射线始终指向准星所在的位置,也即是无论虚拟射线发射器装配在虚拟道具发射器上的哪个装配位置,采用虚拟射线发射器均能够实现较为准确的瞄准效果,同时,多个候选装配位置也为提高了虚拟射线发射器的灵活性,丰富了用户的选择。另外,在一些没有设置准星的射击类游戏中,直接通过本申请实施例提供的技术方案也能够实现使用虚拟道具发射器时的辅助瞄准。
图13是本申请实施例提供的一种基于虚拟场景的射线显示装置的结构示意图,参见图13,装置包括:虚拟场景显示模块1301、虚拟射线发射器显示模块1302以及射线显示模块1303。
虚拟场景显示模块1301,用于显示虚拟场景,该虚拟场景显示有目标虚拟对象和该目标虚拟对象持有的虚拟道具发射器。
虚拟射线发射器显示模块1302,用于响应于在该虚拟场景中对该虚拟道具发射器的装配操作,基于该装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,该虚拟射线发射器用于辅助该虚拟道具发射器进行瞄准。
射线显示模块1303,用于基于该目标虚拟对象、该虚拟道具发射器以及该目标装配位置,在该虚拟场景中显示该虚拟射线发射器发射的射线,该射线指向该虚拟道具发射器的瞄准位置。
在一种可能的实施方式中,该虚拟射线发射器显示模块1302,用于响应于在该虚拟场景中的第一操作,在该虚拟场景中显示该虚拟道具发射器的装配页面,该装配页面显示有该虚拟道具发射器的多个候选装配位置。响应于在该装配页面中的第二操作,将该多个候选装配位置中被选中的候选装配位置确定为该目标装配位置。在该虚拟道具发射器的该目标装配位置显示该虚拟射线发射器。
在一种可能的实施方式中,该虚拟射线发射器显示模块1302,用于执行下述任一项:
响应于在该虚拟场景中对该虚拟射线发射器的拾取操作,在该虚拟场景中显示该虚拟道具发射器的装配页面。
响应于对该虚拟场景中显示的装配控件的点击操作,在该虚拟场景中显示该虚拟道具发射器的装配页面。
在一种可能的实施方式中,该虚拟射线发射器显示模块1302,用于执行下述任一项:
响应于在该装配页面中对该多个候选装配位置中的任一候选装配位置的点击操作,将该候选装配位置确定为该目标装配位置。
响应于在该装配页面中将该虚拟射线发射器拖动至该多个候选装配位置中的任一候选装配位置,将该候选装配位置确定为该目标装配位置。
在一种可能的实施方式中,该射线显示模块1303,用于基于该目标虚拟对象在该虚拟场景中的定位信息、该虚拟道具发射器的类型以及该目标装配位置,确定该射线的发射方向,其中,该射线的发射方向为相对于该虚拟道具发射器的发射方向。控制该虚拟射线发射器向该发射方向发射该射线。
在一种可能的实施方式中,该射线显示模块1303,用于基于该目标虚拟对象在该虚拟场景中的第一定位信息以及该目标装配位置,确定该虚拟射线发射器的目标位置,该第一定位信息包括该目标虚拟对象的手部在该虚拟场景中的位置和指向。基于该第一定位信息、该目标虚拟对象的第二定位信息、该虚拟道具发射器的类型、该手部的位置和该目标位置,确定该射线的发射方向,该第二定位信息包括该目标虚拟对象的虚拟相机在该虚拟场景中的位置和朝向。
在一种可能的实施方式中,该射线显示模块1303,用于基于该手部的指向,生成第一旋转矩阵。采用该第一旋转矩阵对该目标装配位置进行处理,得到该虚拟射线发射器的参考位置。将该手部的位置和该虚拟射线发射器的参考位置进行融合,得到该虚拟射线发射器的目标位置,该目标位置为该虚拟射线发射器与该目标虚拟对象之间的相对位置。
在一种可能的实施方式中,该射线显示模块1303,用于基于该虚拟道具发射器的类型,确定该虚拟道具发射器的目标发射距离。基于该目标虚拟对象的第二定位信息和该目标发射距离,确定该虚拟道具发射器的参考瞄准位置。基于该目标位置、该虚拟道具发射器的参考瞄准位置以及该第一定位信息,确定该射线的发射方向向量。
在一种可能的实施方式中,该射线显示模块1303,用于基于该目标位置和该虚拟道具发射器的参考瞄准位置,确定该射线的参考发射方向向量,该参考发射方向向量为基于该目标虚拟对象建立的空间中的向量。基于该手部的指向对该参考发射方向进行旋转,得到该射线的发射方向向量,该发射方向向量为基于该虚拟道具发射器建立的空间中的向量。
在一种可能的实施方式中,该装置还包括:
光点显示模块,用于在该虚拟道具发射器的瞄准位置为该虚拟场景中虚拟障碍物的情况下,在该虚拟障碍物上显示光点,该光点为该虚拟射线发射器发射的射线与该虚拟障碍物的交点。
在一种可能的实施方式中,该射线显示模块1303,还用于在该目标虚拟对象将持有该虚拟道具发射器的姿态从该第一姿态调整为第二姿态的情况下,不显示该虚拟射线发射器发射的射线。
需要说明的是:上述实施例提供的基于虚拟场景的射线显示装置在显示射线时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于虚拟场景的射线显示装置与基于虚拟场景的射线显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
通过本申请实施例提供的技术方案,在虚拟场景中提供装配虚拟射线发射器的功能,且在装配时能够自行选择装配位置。在瞄准过程中根据目标虚拟对象、虚拟道具发射器以及虚拟射线发射器的装配位置来显示射线,使得射线能够指向虚拟道具发射器的瞄准位置,通过射线能够对用户的瞄准进行辅助,从而降低瞄准难度,提高人机交互的效率。
本申请实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端,下面对终端的结构进行介绍:
图14是本申请实施例提供的一种终端的结构示意图。该终端1400可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:一个或多个处理器1401和一个或多个存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1401所执行以实现本申请中方法实施例提供的基于虚拟场景的射线显示方法。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的基于虚拟场景的射线显示方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述基于虚拟场景的射线显示方法。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种基于虚拟场景的射线显示方法,其特征在于,所述方法包括:
显示虚拟场景,所述虚拟场景显示有目标虚拟对象和所述目标虚拟对象持有的虚拟道具发射器;
响应于在所述虚拟场景中对所述虚拟道具发射器的装配操作,基于所述装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,所述虚拟射线发射器用于辅助所述虚拟道具发射器进行瞄准;
基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线,所述射线指向所述虚拟道具发射器的瞄准位置。
2.根据权利要求1所述的方法,其特征在于,所述响应于在所述虚拟场景中对所述虚拟道具发射器的装配操作,基于所述装配操作确定的目标装配位置,显示所装配的虚拟射线发射器包括:
响应于在所述虚拟场景中的第一操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面,所述装配页面显示有所述虚拟道具发射器的多个候选装配位置;
响应于在所述装配页面中的第二操作,将所述多个候选装配位置中被选中的候选装配位置确定为所述目标装配位置;
在所述虚拟道具发射器的所述目标装配位置显示所述虚拟射线发射器。
3.根据权利要求2所述的方法,其特征在于,所述响应于在所述虚拟场景中的第一操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面包括下述任一项:
响应于在所述虚拟场景中对所述虚拟射线发射器的拾取操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面;
响应于对所述虚拟场景中显示的装配控件的点击操作,在所述虚拟场景中显示所述虚拟道具发射器的装配页面。
4.根据权利要求2所述的方法,其特征在于,所述响应于在所述装配页面中的第二操作,将所述多个候选装配位置中被选中的候选装配位置确定为所述目标装配位置包括下述任一项:
响应于在所述装配页面中对所述多个候选装配位置中的任一候选装配位置的点击操作,将所述候选装配位置确定为所述目标装配位置;
响应于在所述装配页面中将所述虚拟射线发射器拖动至所述多个候选装配位置中的任一候选装配位置,将所述候选装配位置确定为所述目标装配位置。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线包括:
基于所述目标虚拟对象在所述虚拟场景中的定位信息、所述虚拟道具发射器的类型以及所述目标装配位置,确定所述射线的发射方向;
控制所述虚拟射线发射器向所述发射方向发射所述射线。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标虚拟对象在所述虚拟场景中的定位信息、所述虚拟道具发射器的类型以及所述目标装配位置,确定所述射线的发射方向包括:
基于所述目标虚拟对象在所述虚拟场景中的第一定位信息以及所述目标装配位置,确定所述虚拟射线发射器的目标位置,所述第一定位信息包括所述目标虚拟对象的手部在所述虚拟场景中的位置和指向;
基于所述第一定位信息、所述目标虚拟对象的第二定位信息、所述虚拟道具发射器的类型、所述手部的位置和所述目标位置,确定所述射线的发射方向,所述第二定位信息包括所述目标虚拟对象的虚拟相机在所述虚拟场景中的位置和朝向。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标虚拟对象在所述虚拟场景中的第一定位信息以及所述目标装配位置,确定所述虚拟射线发射器的目标位置包括:
基于所述手部的指向,生成第一旋转矩阵;
采用所述第一旋转矩阵对所述目标装配位置进行处理,得到所述虚拟射线发射器的参考位置;
将所述手部的位置和所述虚拟射线发射器的参考位置进行融合,得到所述虚拟射线发射器的目标位置,所述目标位置为所述虚拟射线发射器与所述目标虚拟对象之间的相对位置。
8.根据权利要求6所述的方法,其特征在于,所述基于所述第一定位信息、所述目标虚拟对象的第二定位信息、所述虚拟道具发射器的类型、所述手部的位置和所述目标位置,确定所述射线的发射方向包括:
基于所述虚拟道具发射器的类型,确定所述虚拟道具发射器的目标发射距离;
基于所述目标虚拟对象的第二定位信息和所述目标发射距离,确定所述虚拟道具发射器的参考瞄准位置;
基于所述目标位置、所述虚拟道具发射器的参考瞄准位置以及所述第一定位信息,确定所述射线的发射方向向量。
9.根据权利要求8所述的方法,其特征在于,所述基于所述目标位置、所述虚拟道具发射器的参考瞄准位置以及所述第一定位信息,确定所述射线的发射方向向量包括:
基于所述目标位置和所述虚拟道具发射器的参考瞄准位置,确定所述射线的参考发射方向向量,所述参考发射方向向量为基于所述目标虚拟对象建立的空间中的向量;
基于所述手部的指向对所述参考发射方向进行旋转,得到所述射线的发射方向向量,所述发射方向向量为基于所述虚拟道具发射器建立的空间中的向量。
10.根据权利要求1所述的方法,其特征在于,所述基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线之后,所述方法还包括:
在所述虚拟道具发射器的瞄准位置为所述虚拟场景中虚拟障碍物的情况下,在所述虚拟障碍物上显示光点,所述光点为所述虚拟射线发射器发射的射线与所述虚拟障碍物的交点。
11.根据权利要求1所述的方法,其特征在于,所述目标虚拟对象以第一姿态持有所述虚拟道具发射器,所述基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线之后,所述方法还包括:
在所述目标虚拟对象将持有所述虚拟道具发射器的姿态从所述第一姿态调整为第二姿态的情况下,不显示所述虚拟射线发射器发射的射线。
12.一种基于虚拟场景的射线显示装置,其特征在于,所述装置包括:
虚拟场景显示模块,用于显示虚拟场景,所述虚拟场景显示有目标虚拟对象和所述目标虚拟对象持有的虚拟道具发射器;
虚拟射线发射器显示模块,用于响应于在所述虚拟场景中对所述虚拟道具发射器的装配操作,基于所述装配操作确定的目标装配位置,显示所装配的虚拟射线发射器,所述虚拟射线发射器用于辅助所述虚拟道具发射器进行瞄准;
射线显示模块,用于基于所述目标虚拟对象、所述虚拟道具发射器以及所述目标装配位置,在所述虚拟场景中显示所述虚拟射线发射器发射的射线,所述射线指向所述虚拟道具发射器的瞄准位置。
13.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求11任一项所述的基于虚拟场景的射线显示方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至权利要求11任一项所述的基于虚拟场景的射线显示方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至权利要求11任一项所述的基于虚拟场景的射线显示方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110548.6A CN114432701A (zh) | 2022-01-29 | 2022-01-29 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
JP2023571836A JP2024522473A (ja) | 2022-01-29 | 2022-11-16 | 仮想シーンベースのビーム表示方法及びその装置、機器並びにコンピュータプログラム |
PCT/CN2022/132218 WO2023142617A1 (zh) | 2022-01-29 | 2022-11-16 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
US18/353,956 US20230360351A1 (en) | 2022-01-29 | 2023-07-18 | Virtual scene-based beam display method, apparatus, and device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110548.6A CN114432701A (zh) | 2022-01-29 | 2022-01-29 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114432701A true CN114432701A (zh) | 2022-05-06 |
Family
ID=81370913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210110548.6A Pending CN114432701A (zh) | 2022-01-29 | 2022-01-29 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230360351A1 (zh) |
JP (1) | JP2024522473A (zh) |
CN (1) | CN114432701A (zh) |
WO (1) | WO2023142617A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023142617A1 (zh) * | 2022-01-29 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
WO2023227072A1 (zh) * | 2022-05-25 | 2023-11-30 | 北京字跳网络技术有限公司 | 在虚拟现实场景中确定虚拟光标方法、装置、设备和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004144451A (ja) * | 2002-10-28 | 2004-05-20 | Nec Corp | 銃 |
US10332303B2 (en) * | 2016-04-26 | 2019-06-25 | Imagination Technologies Limited | Dedicated ray memory for ray tracing in graphics systems |
CN107704397B (zh) * | 2017-10-30 | 2020-10-09 | 歌尔科技有限公司 | 应用程序测试方法、装置及电子设备 |
CN110585710B (zh) * | 2019-09-30 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 互动道具控制方法、装置、终端及存储介质 |
CN111035924B (zh) * | 2019-12-24 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 虚拟场景中的道具控制方法、装置、设备及存储介质 |
CN113262482B (zh) * | 2021-06-03 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 对象控制方法和装置、存储介质及电子设备 |
CN114432701A (zh) * | 2022-01-29 | 2022-05-06 | 腾讯科技(深圳)有限公司 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
-
2022
- 2022-01-29 CN CN202210110548.6A patent/CN114432701A/zh active Pending
- 2022-11-16 WO PCT/CN2022/132218 patent/WO2023142617A1/zh active Application Filing
- 2022-11-16 JP JP2023571836A patent/JP2024522473A/ja active Pending
-
2023
- 2023-07-18 US US18/353,956 patent/US20230360351A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023142617A1 (zh) * | 2022-01-29 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 |
WO2023227072A1 (zh) * | 2022-05-25 | 2023-11-30 | 北京字跳网络技术有限公司 | 在虚拟现实场景中确定虚拟光标方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023142617A1 (zh) | 2023-08-03 |
US20230360351A1 (en) | 2023-11-09 |
JP2024522473A (ja) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7476235B2 (ja) | 仮想オブジェクトの制御方法、装置、デバイス及びコンピュータプログラム | |
CN113181650B (zh) | 虚拟场景中召唤对象的控制方法、装置、设备及存储介质 | |
CN110732135B (zh) | 虚拟场景显示方法、装置、电子设备及存储介质 | |
WO2023142617A1 (zh) | 基于虚拟场景的射线显示方法、装置、设备以及存储介质 | |
WO2022083449A1 (zh) | 虚拟投掷道具的使用方法、装置、终端及存储介质 | |
WO2022068452A1 (zh) | 虚拟道具的交互处理方法、装置、电子设备及可读存储介质 | |
CN113181649B (zh) | 虚拟场景中召唤对象的控制方法、装置、设备及存储介质 | |
US20230347244A1 (en) | Method and apparatus for controlling object in virtual scene, electronic device, storage medium, and program product | |
CN111202979B (zh) | 虚拟道具控制方法、装置、电子设备及存储介质 | |
US20230072503A1 (en) | Display method and apparatus for virtual vehicle, device, and storage medium | |
WO2022156491A1 (zh) | 虚拟对象控制方法、装置、设备、存储介质及程序产品 | |
US20230033530A1 (en) | Method and apparatus for acquiring position in virtual scene, device, medium and program product | |
CN111202983A (zh) | 虚拟环境中的道具使用方法、装置、设备及存储介质 | |
JP2023541150A (ja) | 画面表示方法、装置、機器及びコンピュータプログラム | |
US20230030619A1 (en) | Method and apparatus for displaying aiming mark | |
CN112121433B (zh) | 虚拟道具的处理方法、装置、设备及计算机可读存储介质 | |
CN112156472B (zh) | 虚拟道具的控制方法、装置、设备及计算机可读存储介质 | |
JP2023528335A (ja) | 仮想オブジェクトの制御方法、装置、端末、記憶媒体及びコンピュータプログラム | |
CN114247140A (zh) | 信息显示方法、装置、设备及介质 | |
CN114225419B (zh) | 虚拟道具的控制方法、装置、设备、存储介质及程序产品 | |
CN113769392B (zh) | 虚拟场景的状态处理方法、装置、电子设备及存储介质 | |
KR20240046594A (ko) | 파트너 객체 제어 방법 및 장치, 및 디바이스, 매체 및 프로그램 제품 | |
CN116099190A (zh) | 基于虚拟场景的互动方法、装置、设备、介质及程序产品 | |
CN114288678A (zh) | 虚拟场景的互动处理方法、装置、电子设备及存储介质 | |
CN118022330A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070876 Country of ref document: HK |