CN111589115A - 虚拟对象的视野控制方法、装置、存储介质及计算机设备 - Google Patents
虚拟对象的视野控制方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN111589115A CN111589115A CN202010653165.4A CN202010653165A CN111589115A CN 111589115 A CN111589115 A CN 111589115A CN 202010653165 A CN202010653165 A CN 202010653165A CN 111589115 A CN111589115 A CN 111589115A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- virtual
- visual field
- target
- view
- 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.)
- Granted
Links
Images
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
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5252—Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/792—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟对象的视野控制方法、装置、存储介质及计算机设备,属于虚拟世界领域。方法包括:按照策略模式配置N种视野约束数据;策略模式为一种软件设计模式,N种视野约束数据通过不同的类被独立封装;视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系;建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;响应于目标虚拟对象进入虚拟场景,获取目标虚拟对象绑定的目标视野约束数据,以及,获取目标虚拟对象在虚拟场景中的位置信息;根据位置信息和目标视野约束数据,对目标虚拟对象执行视野刷新操作。本申请不但能够良好地适应于不断激增的业务需求,而且提升了视野刷新效率。
Description
技术领域
本申请涉及虚拟世界领域,特别涉及一种虚拟对象的视野控制方法、装置、存储介质及计算机设备。
背景技术
随着计算机技术的快速发展和玩家游戏需求的不断提升,时下涌现出了众多基于虚拟世界的应用程序,这些应用程序可运行在诸如智能手机、平板电脑、台式计算机等终端上,类型包括但不限于虚拟现实应用程序、三维地图应用程序、军事仿真应用程序、射击游戏、多人在线战术竞技游戏、MMORG(Massive Multiplayer Online Role-Playing Game,大型多人在线角色扮演游戏)等。
以MMORG为例,时下为了追求更加丰富多样的玩法和更激烈的对战体验,一款游戏中会设计成千上万的虚拟对象。示例性地,这些虚拟对象包括:供玩家控制的各种游戏角色、游戏怪物、供游戏角色骑乘的载具等。其中,在游戏中如何对数量庞大的虚拟对象进行视野控制,是确保玩家游戏体验的一个重要环节。其中,视野指代虚拟对象在游戏场景中的可见范围,而视野控制实质上就是对进入游戏场景中的虚拟对象执行可见性管理,重点关注不同虚拟对象相互之间是否可见。
然而,时下随着不断激增的业务需求,本领域技术人员不得不面临的一个问题是:面对游戏中数量庞大的虚拟对象,如何使得对虚拟对象的可见性管理适应于不断变化的业务需求。即,如何对虚拟世界中虚拟对象进行视野控制,成为了本领域技术人员时下亟待解决的一个问题。
发明内容
本申请实施例提供了一种虚拟对象的视野控制方法、装置、存储介质及计算机设备,不但能够良好地适应于不断激增的业务需求,而且提升了视野刷新效率。所述技术方案如下:
一方面,提供了一种虚拟对象的视野控制方法,所述方法包括:
按照策略模式配置N种视野约束数据;所述策略模式为一种软件设计模式,所述N种视野约束数据通过不同的类被独立封装;所述视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系,N为正整数;
建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;
响应于目标虚拟对象进入所述虚拟场景,获取所述目标虚拟对象绑定的目标视野约束数据,以及,获取所述目标虚拟对象在所述虚拟场景中的位置信息;
根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作。
另一方面,提供了一种虚拟对象的视野控制装置,所述装置包括:
配置模块,被配置为按照策略模式配置N种视野约束数据;所述策略模式为一种软件设计模式,所述N种视野约束数据通过不同的类被独立封装;所述视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系,N为正整数;
绑定模块,被配置为建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;
获取模块,被配置为响应于目标虚拟对象进入所述虚拟场景,获取所述目标虚拟对象绑定的目标视野约束数据,以及,获取所述目标虚拟对象在所述虚拟场景中的位置信息;
处理模块,被配置为根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作。
在一种可能的实现方式中,所述第一视野约束数据包括:所述被控虚拟对象与位于其可见范围内的其他虚拟对象相互可见;
所述第二视野约束数据包括:所述附属虚拟对象对其所附属的被控虚拟对象可见,所述附属虚拟对象对其他虚拟对象不可见;
所述第三视野约束数据包括:对于骑乘有所述虚拟载具的被控虚拟对象,其视野范围取决于所骑乘的虚拟载具,且骑乘同一虚拟载具的各个被控虚拟对象的可见范围一致。
在一种可能的实现方式中,所述装置还包括:
向服务器发送所述目标虚拟对象的视野数据;
其中,所述视野数据用于指示所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系。
在一种可能的实现方式中,所述装置还包括:
获取对所述可见范围内的可见虚拟对象的选择操作;接收输入操作信号,控制被选中的可见虚拟对象对所述输入操作信号进行响应。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的虚拟对象的视野控制方法。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的虚拟对象的视野控制方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的虚拟对象的视野控制方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例按照策略模式配置了多种视野约束数据(也称视野策略);其中,策略模式为一种软件设计模式,本申请实施例基于策略模式规定了每种视野策略通过不同的类被独立封装,即不同的视野策略之间互不耦合;而将视野逻辑按照策略模式进行独立划分,能够有效降低代码复杂度和代码臃肿度,因此可以良好地适应于不断激增的业务需求。比如,可以方便地新增视野策略或新增对象实体,而不影响已有视野逻辑;又比如,在频繁修改已有视野逻辑、进行功能调试或代码维护时也较为便利和省时。另外,本申请实施例还会将视野策略与对象实体预先进行关联,即建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;这样,当某一虚拟对象进入虚拟场景中后,便可自动获取该虚拟对象绑定的视野策略,进而实现根据该虚拟对象在虚拟场景中的位置信息和获取到的视野策略,主动对该虚拟对象执行视野刷新操作,提升了视野刷新效率。即,该种虚拟对象的视野控制方案较不但能够良好地适应于不断激增的业务需求,而且较为方便和省时提升了视野刷新效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种虚拟对象的视野控制方法涉及的实施环境的示意图;
图2是本申请实施例提供的一种虚拟对象的视野控制方法的流程图;
图3是本申请实施例提供的一种创建对象实体的示意图;
图4是本申请实施例提供的一种对象实体与视野策略的绑定关系示意图;
图5是本申请实施例提供的一种可见性规则的示意图;
图6是本申请实施例提供的另一种可见性规则的示意图;
图7是本申请实施例提供的一种修改对象实体的视野策略的示意图;
图8是本申请实施例提供的一种虚拟对象的可见范围的示意图;
图9是本申请实施例提供的虚拟对象的视野控制方法的整体执行流程图;
图10是本申请实施例提供的一种虚拟对象的视野控制装置结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种虚拟对象的视野控制方法、装置、存储介质及设备。示例性地,该方法可以涉及云技术(Cloud technology)领域。
其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。另外,云技术还可以是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
作为一个示例,本申请实施例可能涉及到云技术领域中的数据传输,即终端和服务器之间可以进行双向数据传输,本申请实施例对此不进行具体限定。
作为另一个示例,本申请实施例也可能涉及到云技术领域到的云游戏(Cloudgaming)。其中,云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(ThinClient)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些名词术语进行介绍。
1、策略模式(Strategy Pattern)
策略模式作为一种软件设计模式,是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在A国交个人所得税”和“在B国交个人所得税”会有不同的算税方法。
其中,策略模式定义了一组算法;封装了每个算法;且这组的算法可互换代替。另外,在策略模式中,定义了一些独立的类来封装不同的算法,每一个类封装一个具体的算法,在这里,每一个封装算法的类均可以称之为策略,为了保证这些策略的一致性,一般会用一个抽象策略类来做算法的定义,而具体每种算法则对应于一个具体策略类。即,策略模式主要包含如下三种角色:
上下文(Context):用来操作策略的上下文环境,屏蔽高层模块(比如客户端)对策略、算法的直接访问,封装可能存在的变化;
抽象策略类:规定策略或算法的行为;
具体策略类:具体的策略或算法实现。
综上所述,策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。其中,策略模式属于一种软件设计模式。示例性地,策略模式一般适用于管理一组同类型的算法,并且这些算法是完全互斥的情况。也即,任何时刻多个策略中仅有一个策略可以生效。比如,满减活动中的满20减10与满30减20之间;普通会员折扣与超级会员折扣之间。
其中,策略指的是可以实现目标的方案集合。通俗来讲,日常工作生活中,要实现一个目标可以有很多方案,每一个方案均可以称之为一个策略。在软件开发中也常遇到类似的情况,实现某一个功能可以有多种途径,此时可以使用一种软件设计模式既使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。这即是策略模式。
为了便于理解策略一词,给出如下示例。
举例一、人们出行时会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机等,每一种出行方式均可称之为一个策略。
举例二、商场在搞活动时,可能会有打折、满减、返利等优惠活动,每种优惠活动便是一种策略。
举例三、外卖平台上的优惠活动,比如满减活动、会员活动和红包活动等,上述每个大项优惠活动下面通常包含多种优惠方案。比如,针对满减活动,可以同时有满20减15、满50减30等;针对会员活动,可以包含普通会员、超级会员等。其中,每个大项优惠活动包含的每种优惠方案均可称之为一个策略。
2、虚拟场景
虚拟场景是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,本申请对此不做具体限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
3、虚拟对象
虚拟对象是指在虚拟世界中的可活动对象。该可活动对象可以是虚拟人物、虚拟怪物等,比如:在虚拟世界中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟世界中的一个虚拟的用于代表玩家的虚拟形象。在虚拟世界中可以包括多个虚拟对象,每个虚拟对象在虚拟世界中具有自身的形状和体积,占据虚拟世界中的一部分空间。
可选地,当虚拟世界为三维虚拟世界时,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。
在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,也可以是设置在虚拟世界互动中的非玩家角色(Non-Player Character,NPC)。
可选地,该虚拟对象可以是在虚拟世界中进行竞技的虚拟人物。
可选地,该虚拟世界中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
4、NPC
NPC是指非玩家控制的虚拟对象,在形式上可以包括虚拟生物、虚拟物品、虚拟幽灵等各类形式。比如,NPC可以是游戏中怪物的一个分类,例如玩家的召唤怪物。
5、中立虚拟对象
中立虚拟对象是指不隶属于参与对战的任何玩家的虚拟对象可以俗称为“中立虚拟对象”。比如游戏中出现的野怪。
可选地,中立虚拟对象通常作为一种可夺取的竞技资源,并为夺取方提供增益效果,比如,中立虚拟对象可以由玩家进行争夺,率先击败(或击杀)中立虚拟对象的玩家可以获取该中立虚拟对象所提供的增益效果。
6、大型多人在线角色扮演游戏
MMORPG分为客户端和服务器两部分。玩家从客户端通过互联网连接,登录服务器后才能进行游戏。玩家的资料保存在服务器。游戏的过程是玩家控制的虚拟角色和其他玩家控制的虚拟角色在虚拟世界中实时互动。而非玩家扮演的角色(比如NPC)则往往是在游戏中提供特殊服务的虚拟对象,如销售虚拟物品,提供任务等。而游戏开发商或者代理商提供服务器供玩家进行游戏,初除此之外,还负责管理游戏中的虚拟世界,并不断为游戏做出更新,以便留住玩家以及吸引其他人来玩这款游戏。
示例一,在MMORPG的游戏应用程序中,玩家可以控制虚拟对象执行诸如调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种操作。
示例二,在MMORPG的游戏应用程序中,玩家可以控制虚拟对象在虚拟世界中完成设置的单人任务、加入帮派、完成帮派任务等,当然,玩家也可以控制虚拟对象乘坐虚拟载具在该虚拟世界中进行移动。另外,玩家也可以控制虚拟对象通过虚拟道具与其他虚拟对象进行战斗,该虚拟道具可以用于模拟冷兵器,也可以用于模拟热兵器,本申请对此不作具体限定。
7、玩家
在本申请实施例中称之为用户。其中,玩家也可称为游戏者,是一种游戏业界与游戏参与者之间的术语。广义上讲,玩家泛指玩游戏的用户,即参与任何形式游戏的人。特殊地,在角色扮演类游戏中,玩家在游戏世界中扮演其中的可控游戏角色,通过操作这些可控游戏角色去完成游戏或是自己所设定的目标。此外,部分玩家在角色扮演类游戏中还可以作为游戏主角或是游戏剧情的关键。总结来讲,玩家是游戏的体验者、使用者、评价者和消费者。根据性格和喜好的差异,不同的玩家喜爱的游戏类型也各不相同。
8、视野
广义上来讲,视野就是在没有任何障碍物情况下你可以看到的距离。
在游戏中,在游戏中,视野可以指代虚拟对象在游戏内能够看到的虚拟世界范围。比如,视野可以指代玩家控制的虚拟对象在游戏内能够看到的游戏世界范围。
9、视野控制
视野控制也可称为视野管理。其中,视野控制实质上是对进入虚拟场景的虚拟对象进行可见性管理,主要关注多个虚拟对象之间的可见规则。
示例性地,多个玩家角色位于在同一虚拟场景中,此时每个玩家需要能看到位于其附近的玩家,同时又不需要看到与距离其较远的玩家。这即是视野控制需要做的事情。例如,虚拟世界中有被玩家控制的被控虚拟对象(主角)、活动怪物、召唤怪物等体,在场景关系中,主角和活动怪物相互可见,主角和召唤怪物相互可见,但活动怪物与召唤怪物却相互不可见,
10、视野策略
其中,视野策略用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系。在本申请实施例中,视野策略是基于策略模式进行划分和配置的,每一种视野策略均对应前文提及的一种策略。另外,配置的多种视野策略是通过不同的类被独立封装的。
在一种可能的实现方式中,视野策略可以分为:玩家视野策略、怪物视野策略、载具视野策略和其他视野策略。
其中,玩家视野策略也被称为单体视野处理;怪物视野策略也被称为归属视野策略;载具视野策略也被称为从属视野策略。其中,每种视野策略均配置了虚拟对象之间的可见性规则。示例性地,上述四种视野策略包含的可见性规则包括但不限于如下:
玩家视野策略,该种策略的可见性规则基于玩家控制的虚拟对象自身,即在该虚拟对象的可见范围内,该虚拟对象与位于该可见范围内的全部类型的虚拟对象均相互可见。比如,两个玩家控制的虚拟对象之间的视野获取规则是:你看到了对手,对手就会看到你。
怪物视野策略,该种策略的可见性规则可以包括:玩家的召唤怪物(比如玩家召唤的任务怪物),仅召唤的玩家可见,其他虚拟对象与此召唤怪物之间相互不可见。
载具视野策略,该种策略的可见性规则可以包括:载具上玩家角色的可见范围基于其所乘骑的载具,即该玩家角色是否可见其他虚拟对象由其所骑乘的载具决定,且骑乘同一载具的所有玩家角色的可见范围一致。
其他视野策略指代异于上述三种视野策略之外的视野策略,是一种根据游戏自身特性按照产品需求进行异于上述三种视野策略的特性化视野策略设计。
下面介绍本申请实施例提供的虚拟对象的视野控制方法涉及的实施环境。
图1是本申请提供的一种虚拟对象的视野控制方法涉及的实施环境的示意图。参见图1,该实施环境包括:终端110、服务器120。
终端110安装和运行有支持虚拟世界的客户端111,该客户端111可以是多人在线对战程序。当终端运行客户端111时,终端110的屏幕上显示客户端111的用户界面。该客户端可以是军事仿真程序、MOBA游戏、大逃杀射击游戏、策略游戏、MMORPG游戏的任意一种。在本申请实施例中,以该客户端是MMORPG游戏来举例说明。
终端110是用户112使用的终端,用户112使用终端110控制位于虚拟世界中的虚拟角色A进行活动,虚拟角色A可以称为用户112的主控虚拟角色。虚拟角色A的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,虚拟角色A可以是虚拟人物,比如仿真人物角色或动漫人物角色。
终端110可以泛指多个终端中的一个,本实施例仅以终端110举例说明。终端110的设备类型可以包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、智能音箱、智能手表等,但并不局限于此。
图1中仅示出了一个终端,但在不同实施例中存在多个其它终端130可以接入服务器120。可选地,还存在一个或多个终端130是开发者对应的终端,在终端130上安装有支持虚拟世界的客户端的开发和编辑平台,开发者可在终端130上对客户端进行编辑和更新,并将更新后的客户端的安装包通过有线或无线网络传输至服务器120,终端110可从服务器120下载客户端安装包实现对客户端的更新。
另外,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
其中,服务器120用于为支持三维虚拟世界的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一种可能的实现方式中,服务器120可以包括服务器121,服务器121包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(Input/OutputInterface,I/O接口)125。
其中,处理器122用于加载服务器121中存储的程序代码,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储终端110、以及其它终端130所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战;面向用户的I/O接口125用于通过无线网络或有线网络和终端110建立通信交换数据。可选地,服务器120还可以包括其他服务器,比如服务器126,本申请实施例对此不进行具体限定。示例性地,可以基于该服务器126实现本申请实施例提供的虚拟对象的视野控制方法。
相关技术在对虚拟对象进行视野控制时基于混合逻辑模式实现,该种方案在代码中通过if-else模式进行逻辑判断。即,在视野控制流程中,采用if-else模式进行规则取舍,以支持虚拟场景中各种对象实体之间的可见性规则。但是这种方案无法适应于激增的业务需求,体现在以下几点:(1)新增/删除/修改操作影响大:比如新增/删除/修改对象实体或视野策略后,视野流程需要重新调整,对已有的逻辑有一定影响。(2)开发不易:对视野控制流程中的任何微小细节改动,都需要理解整体逻辑,还需要理解与修改无关的对象实体的视野逻辑。(3)调试困难:针对混合逻辑模式,在对某一类对象实体进行功能调试时,需要考虑其他类型的对象实体是否相互干扰,严重影响调试效率。(4)维护困难:由于功能复杂度的提升,各种视野逻辑之间会相互交织,导致代码复杂度成倍增加,造成后期代码功能维护难度也相应成倍增加,不利于游戏的上线稳定以及新业务扩展。
即,采用混合逻辑模式实现视野控制会使代码的可读性、可维护性、可扩展性急剧降低。考虑到上述问题,在MMORPG游戏中,为了满足不断激增的特性化视野规则,以及支持在这些细化规则中进行频繁修改,本申请实施例实现了基于策略模式的游戏后台视野控制方案,即对视野进行策略划分。
下面通过如下实施例对本申请实施例提供的一种虚拟对象的视野控制方法进行详细地解释说明。
图2是本申请实施例提供的一种虚拟对象的视野控制方法的流程图,该方法的执行主体为计算机设备。示例性地,该计算机设备可以包括图1所示的终端和服务器,即该方法可以由终端和服务器联合执行;另外,该计算机设备也可以仅包括图1所示的终端,即该方法可以由图1所示的终端单独执行,本申请实施例对此不进行具体限定。参见图2,本申请实施例提供的方法流程包括:
201、计算机设备创建对象实体,按照策略模式配置多种视野策略。
其中,对象实体在本文中也被称之为虚拟对象;策略模式为一种软件设计模式;视野策略在本文中也被称之为视野约束数据。
针对对象实体的创建步骤,目的在于产生场景特性化的对象实体,以用于在虚拟场景中实现诸如攻击、对话等功能性玩法。
在一种可能的实现方式中,创建的对象实体的类型包括:被控虚拟对象、附属于被控虚拟对象的附属虚拟对象、中立虚拟对象和虚拟载具。
其中,玩家角色(Player)指代被各个玩家所控制的虚拟对象,对应上述被控虚拟对象,比如被控虚拟对象可以是虚拟人物;怪物(Monster)指代虚拟世界中出现的怪物,比如野怪或玩家角色的召唤怪物;其中,上述附属虚拟对象可以为玩家的召唤怪物,中立虚拟对象可以为野怪;虚拟载具指代虚拟世界中出现的供被控虚拟对象或主控虚拟对象使用的载具。示例性地,虚拟载具包括但不限于:摩托车、轿车、吉普车、越野车、三轮车、坦克、降落伞等,本申请实施例对此不进行具体限定。
其中,这些不同类型的对象实体丰富了游戏中的场景元素,并增添了游戏的功能玩法的多样性,使得玩家在游戏中随着游戏情节的深入更具有代入感。
示例性地,图3给出了创建的对象实体的实体类型。在图3中,创建的对象实体包括四种类型,分别为:玩家实体301,对应上述被控虚拟对象;怪物实体302,对应上述附属虚拟对象和上述中立虚拟对象;载具实体303,对应上述虚拟载具;以及,除了上述三种实体类型之外的其他实体304。
在一种可能的实现方式中,本申请实施例按照策略模式配置四种视野策略。这四种视野策略也被称之为四种视野约束数据。如图4所示,这四种视野策略分别包括:玩家视野策略401,也被称之为第一视野约束数据;怪物视野策略402,也被称之为第二视野约束数据;载具视野策略403,也被称之为第三视野约束数据;以及,其他视野策略404,也被称之为第四视野约束数据。
示例性地,第一视野约束数据可以包括:被控虚拟对象与位于其可见范围内的其他虚拟对象之间均相互可见。
示例性地,第二视野约束数据可以包括:附属虚拟对象对其所附属的被控虚拟对象可见,附属虚拟对象对其他虚拟对象不可见。
示例性地,第三视野约束数据可以包括:对于骑乘有虚拟载具的被控虚拟对象,其视野范围取决于所骑乘的虚拟载具,且骑乘同一虚拟载具的各个被控虚拟对象的可见范围一致。
需要说明的是,除了上述列举的可见性规则之外,每种视野策略中还可包括更多的可见性规则,本申请实施例对此不进行具体限定。
图5示出了玩家角色的召唤怪物的可见性规则。如图5所示,玩家角色501拥有一个召唤怪物5011,那么该召唤怪物5011仅对玩家角色501可见,即,玩家角色501与召唤怪物5011之间相互可见。另外,玩家角色501的可见范围内存在另一个玩家502,该玩家501与该玩家502之间相互可见,且该玩家502与召唤怪物5011之间相互不可见。
图6示出了玩家骑乘虚拟载具的可见性规则。如图6所示,玩家角色601乘坐了虚拟车辆602,由于虚拟车辆602与玩家角色603之间相互可见,因此玩家角色601与玩家角色603之间也相互可见,且由于玩家角色604由于与玩家角色603之间距离较远,因此玩家角色604与玩家角色603之间相互不可见。
202、计算机设备按照创建的对象实体的实体类型,将创建的对象实体与相应的视野策略进行绑定。
本步骤即为虚拟对象进入虚拟场景之前的数据处理步骤。
示例性地,如图4所示,可以将玩家实体301与玩家视野策略401进行绑定;也即,建立被控虚拟对象与第一视野约束数据之间的绑定关系;将怪物实体302与怪物视野策略402进行绑定;也即,建立附属虚拟对象和中立虚拟对象与第二视野约束数据之间的绑定关系;将载具实体303与载具视野策略403进行绑定;也即,建立虚拟载具与第三视野约束数据之间的绑定关系;以及,将其他实体30与其他视野策略404进行绑定;也即,建立其他实体304与第四视野策略404之间的绑定关系。
下面以一个虚拟对象(被称之为目标虚拟对象)的视野刷新流程为例来继续阐述本方案。
203、计算机设备获取进入虚拟场景中的目标虚拟对象绑定的目标视野策略。
其中,目标虚拟对象的实体类型可以为上述被控虚拟对象、附属虚拟对象、中立虚拟对象、虚拟载具和其他对象实体中的任意一种。
通常情况下,由于在上述步骤202中已经完成了对象实体与视野策略的绑定,因此在后续的视野刷新流程中,可以直接使用与目标虚拟对象绑定的视野策略执行视野刷新操作。示例性地,可以通过相应的视野策略的视野刷新接口来完成对目标虚拟对象的视野刷新操作。
需要说明的是,在特殊情况下,本申请实施例还支持根据场景需求临时替换当前对象实体之前绑定的视野策略。即,本申请实施例还可以包括:响应于目标虚拟对象在虚拟场景中触发目标事件,取消目标虚拟对象与目标视野约束数据之间的绑定关系;建立目标虚拟对象与其他视野约束数据之间的绑定关系,其中,目标事件与其他视野约束数据相匹配。
如图7所示,以上述目标虚拟对象为玩家实体701为例,则在玩家实体701进入虚拟场景中后,若该玩家实体701由奔跑状态转换为骑乘虚拟载具的状态,则此时需要将该玩家实体701对应的视野策略由玩家视野策略401替换为载具视野策略403。也即,取消该玩家实体701与玩家视野策略401之间的绑定关系,并建立该玩家实体701与载具视野策略403之间的绑定关系。
相应地,针对目标虚拟对象更改视野策略的情况,还需通过更改后的视野策略的视野刷新接口来完成对目标虚拟对象的视野刷新操作。
204、响应于目标虚拟对象进入虚拟场景,计算机设备获取目标虚拟对象在虚拟场景中的位置信息;根据目标虚拟对象在虚拟场景中的位置信息和绑定的目标视野约束数据,对目标虚拟对象执行视野刷新操作。
通过本步骤计算机设备的客户端便可显示位于虚拟场景中的其他虚拟对象,例如其他的玩家角色、怪物和虚拟载具。
在一种可能的实现方式中,由于此时目标虚拟对象已进入虚拟场景,因此可以按照目标虚拟对象在虚拟场景中的具体位置,来计算并刷新其视野关系。即,根据目标虚拟对象在虚拟场景中的位置信息和目标视野约束数据,对目标虚拟对象执行视野刷新操作,包括但不限于:
2041、根据该位置信息获取目标虚拟对象在虚拟场景中的可见范围。
示例性地,针对MMORPG游戏,虚拟对象的视野控制一般采用九宫格方式,其中,每一个格子被称为一个Around,各个虚拟对象的可见范围可以为3*3的9个Around,即,虚拟对象的可见范围为以该虚拟对象的当前位置为中心的周围九个格子。如图8所示,以被控虚拟对象为例,如果被控虚拟对象800在格子5内移动,则该被控虚拟对象的可见范围为图8中的白色格子和竖线格子;如果该被控虚拟对象800从格子5移动到格子8,则更新其可见范围,该虚拟对象800的可见范围更新为图8中的横线格子和白色格子。
2042、根据目标视野约束数据,确定目标虚拟对象与该可见范围内其他虚拟对象之间的可见关系。
示例性地,以目标虚拟对象为玩家角色为例,则该目标虚拟对象与位于该可见范围内的其他全部类型的虚拟对象均相互可见;以目标虚拟对象为玩家角色的召唤物为例,则该目标虚拟对象仅与位于该可见范围内的召唤玩家角色相互可见。
2043、根据确定的上述可见关系,显示该可见范围内与目标虚拟对象可见的其他虚拟对象。
在另一种可能的实现方式中,本申请实施例收集各个虚拟对象的视野数据的方式以及视野数据的发送对象,均由与各个虚拟对象绑定的视野策略决定。
示例性地,本申请实施例在获取到进入虚拟场景中的各个虚拟对象的视野数据后,还可以包括向服务器发送各个虚拟对象的视野数据的步骤;该视野数据用于指示各个虚拟对象与相应的可见范围内其他虚拟对象之间的可见关系。
205、计算机设备获取用户对该可见范围内的可见虚拟对象的选择操作;接收输入操作信号,控制被选中的可见虚拟对象对输入操作信号进行响应。
本步骤即为虚拟对象进入虚拟场景之后的数据处理步骤。
在对目标虚拟对象执行完毕视野刷新操作后,计算机设备可以通过客户端为玩家呈现位于该可见范围的可见虚拟对象。以目标虚拟对象为被控虚拟对象为例,则该被控虚拟对象与位于该可见范围内的其他虚拟对象之间均相互可见。
需要说明的是,在上述步骤204之后,本申请实施例可以继续进行后续依赖视野关系的逻辑功能处理,比如对战、对话、NPC交互等、AI(Artificial Intelligence,人工智能)执行触发等游戏功能可以相继开放,即玩家愉快地游戏体验自此开始。
示例性地,针对对战场景,可见的虚拟对象之间可以进行对战。比如,玩家可以选择另一个玩家角色进行战斗,其中,该输入操作信号可以来自于该玩家对虚拟武器的选择和使用操作,而在接收到该输入操作信号后,计算机设备可以控制被选中的玩家角色对该输入操作信号进行响应,比如减少该玩家角色的虚拟生命值,例如该玩家角色血条的血量减少等,本申请实施例对此不进行具体限定。
针对打怪场景,玩家可以选择一个可见野怪执行打怪操作,以获取增益效果(比如获取金币)。其中,该输入操作信号可以来自于玩家触发的对该野怪的击杀操作,在接收到该输入操作信号后,计算机设备可以控制被选中的野怪对该输入操作信号进行响应,比如减少该野怪的虚拟生命值,例如该野怪血条的血量减少等,本申请实施例对此不进行具体限定。
本申请实施例提供的方法至少具有如下有益效果:
本申请实施例提供了一种基于策略模式的视野控制方案,能够对多类型的对象实体进行便于替换的视野控制。详细来说,本方案首先遵循了设计模式中开闭原则,在场景管理与视野刷新的通用基础框架基础上,为多类型的对象实体配置了多种视野策略,满足了各种丰富的视野需求;另外,还可以将对象实体与视野策略自由绑定和按需解除绑定,灵活性较大;另外,在对视野控制模块进行扩展与维护时,能够拥有更优的稳定性,以及在调试定位问题时能够更具针对性地高效定位问题。
另外,每种视野策略收敛于当前绑定的对象实体,不仅视野策略与对象实体可以任意关联,而且可将某一视野策略的问题收敛于当前视野策略,即不同的视野策略之间互不耦合,其他视野策略能够不受其影响的正常运作,对于新增的对象实体,只需要单独开发新的视野策略即可,不影响已有视野策略。
综上所述,使用本方案进行视野控制,在新增对象实体或者新增视野策略时,只需要关注新增的对象实体或视野策略,而不需要理解已有视野策略和已有对象实体,减少了后期因开发产生的测试与维护时间。另外,在进行某一类型的对象实体的视野调试时,若该类型的对象实体绑定了某一种视野策略,则仅需要对该种视野策略的执行函数进行功能调试,而无需额外调试其他视野策略的执行函数,便于问题定位与功能调试。换言之,本方案基于策略模式实现了视野策略与对象实体之间的解耦,达到了节省开发时间、提高调试定位问题效率,提高视野控制模块的稳定性,以及减少维护成本的效果。
图9是本申请实施例提供的一种虚拟对象的视野控制方法的整体执行流程图。参见图9,该方法流程包括:
901、计算机设备创建对象实体。
本步骤与上述步骤201同理。
902、计算机设备进入虚拟场景前数据处理。
本步骤与上述步骤202同理。
903、计算机设备获取进入虚拟场景的对象实体绑定的视野策略。
本步骤与上述步骤203同理。
在一种可能的实现方式中,本申请实施例按照策略模式配置四种视野策略。这四种视野策略也被称之为四种视野约束数据。如图4所示,这四种视野策略分别包括:玩家视野策略401,怪物视野策略402,载具视野策略403,以及其他视野策略404。
904、计算机设备处理该对象实体的视野数据。
本步骤与上述步骤204同理。
905、计算机设备进入虚拟场景后数据处理。
本步骤与上述步骤205同理。
906、计算机设备视野刷新完成。
本申请实施例提供的方法至少具有如下有益效果:
本申请实施例提供了一种基于策略模式的视野控制方案,能够对多类型的对象实体进行便于替换的视野控制。详细来说,本方案首先遵循了设计模式中开闭原则,在场景管理与视野刷新的通用基础框架基础上,为多类型的对象实体配置了多种视野策略,满足了各种丰富的视野需求;另外,还可以将对象实体与视野策略自由绑定和按需解除绑定,灵活性较大;另外,在对视野控制模块进行扩展与维护时,能够拥有更优的稳定性,以及在调试定位问题时能够更具针对性地高效定位问题。
另外,每种视野策略收敛于当前绑定的对象实体,不仅视野策略与对象实体可以任意关联,而且可将某一视野策略的问题收敛于当前视野策略,即不同的视野策略之间互不耦合,其他视野策略能够不受其影响的正常运作,对于新增的对象实体,只需要单独开发新的视野策略即可,不影响已有视野策略。
综上所述,使用本方案进行视野控制,在新增对象实体或者新增视野策略时,只需要关注新增的对象实体或视野策略,而不需要理解已有视野策略和已有对象实体,减少了后期因开发产生的测试与维护时间。另外,在进行某一类型的对象实体的视野调试时,若该类型的对象实体绑定了某一种视野策略,则仅需要对该种视野策略的执行函数进行功能调试,而无需额外调试其他视野策略的执行函数,便于问题定位与功能调试。换言之,本方案基于策略模式实现了视野策略与对象实体之间的解耦,达到了节省开发时间、提高调试定位问题效率,提高视野控制模块的稳定性,以及减少维护成本的效果。
图10是本申请实施例提供的一种虚拟对象的视野控制装置的结构示意图。
参见图10,该装置包括:
配置模块1001,被配置为按照策略模式配置N种视野约束数据;所述策略模式为一种软件设计模式,所述N种视野约束数据通过不同的类被独立封装;所述视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系,N为正整数;
绑定模块1002,被配置为建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;
获取模块1003,被配置为响应于目标虚拟对象进入所述虚拟场景,获取所述目标虚拟对象绑定的目标视野约束数据,以及,获取所述目标虚拟对象在所述虚拟场景中的位置信息;
处理模块1004,被配置为根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作。
本申请实施例按照策略模式配置了多种视野约束数据(也称视野策略);其中,策略模式为一种软件设计模式,本申请实施例基于策略模式规定了每种视野策略通过不同的类被独立封装,即不同的视野策略之间互不耦合;而将视野逻辑按照策略模式进行独立划分,能够有效降低代码复杂度和代码臃肿度,因此可以良好地适应于不断激增的业务需求。比如,可以方便地新增视野策略或新增对象实体,而不影响已有视野逻辑;又比如,在频繁修改已有视野逻辑、进行功能调试或代码维护时也较为便利和省时。另外,本申请实施例还会将视野策略与对象实体预先进行关联,即建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;这样,当某一虚拟对象进入虚拟场景中后,便可自动获取该虚拟对象绑定的视野策略,进而实现根据该虚拟对象在虚拟场景中的位置信息和获取到的视野策略,主动对该虚拟对象执行视野刷新操作,提升了视野刷新效率。即,该种虚拟对象的视野控制方案较不但能够良好地适应于不断激增的业务需求,而且较为方便和省时提升了视野刷新效率。
在一种可能的实现方式中,所述绑定模块,还被配置为:响应于所述目标虚拟对象在所述虚拟场景中触发目标事件,取消所述目标虚拟对象与所述目标视野约束数据之间的绑定关系;建立所述目标虚拟对象与其他视野约束数据之间的绑定关系;其中,所述目标事件与所述其他视野约束数据相匹配。
在一种可能的实现方式中,所述处理模块,被配置为:
根据所述位置信息获取所述目标虚拟对象在所述虚拟场景中的可见范围;
根据所述目标视野约束数据,确定所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系;
根据确定的可见关系,显示所述可见范围内与所述目标虚拟对象可见的其他虚拟对象。
在一种可能的实现方式中,所述绑定模块,包括:
创建单元,被配置为创建虚拟对象;其中,创建的虚拟对象的类型包括:被控虚拟对象、附属于所述被控虚拟对象的附属虚拟对象、中立虚拟对象和虚拟载具;
绑定单元,被配置为按照创建的虚拟对象的类型,建立创建的虚拟对象与相应的视野约束数据之间的绑定关系。
在一种可能的实现方式中,所述N种视野约束数据包括:与被控虚拟对象匹配的第一视野约束数据、与附属虚拟对象和中立虚拟对象匹配的第二视野约束数据、与虚拟载具匹配的第三视野约束数据;
所述绑定单元,被配置为:响应于创建的虚拟对象为被控虚拟对象,建立所述被控虚拟对象与所述第一视野约束数据之间的绑定关系;响应于创建的虚拟对象为所述附属虚拟对象或所述中立虚拟对象,建立所述附属虚拟对象或所述中立虚拟对象与所述第二视野约束数据之间的绑定关系;响应于创建的虚拟对象为所述虚拟载具,建立所述虚拟载具与所述第三视野约束数据之间的绑定关系。
在一种可能的实现方式中,所述第一视野约束数据包括:所述被控虚拟对象与位于其可见范围内的其他虚拟对象相互可见;
所述第二视野约束数据包括:所述附属虚拟对象对其所附属的被控虚拟对象可见,所述附属虚拟对象对其他虚拟对象不可见;
所述第三视野约束数据包括:对于骑乘有所述虚拟载具的被控虚拟对象,其视野范围取决于所骑乘的虚拟载具,且骑乘同一虚拟载具的各个被控虚拟对象的可见范围一致。
在一种可能的实现方式中,所述装置还包括:
向服务器发送所述目标虚拟对象的视野数据;
其中,所述视野数据用于指示所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系。
在一种可能的实现方式中,所述装置还包括:
获取对所述可见范围内的可见虚拟对象的选择操作;接收输入操作信号,控制被选中的可见虚拟对象对所述输入操作信号进行响应。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的虚拟对象的视野控制装置在对虚拟对象进行视野控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟对象的视野控制装置与虚拟对象的视野控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的计算机设备1100的结构框图。
通常,计算机设备1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1101所执行以实现本申请中方法实施例提供的虚拟对象的视野控制方法。
在一些实施例中,计算机设备1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备至少包括:显示屏1104和电源1105。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
显示屏1104用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1104是触摸显示屏时,显示屏1104还具有采集在显示屏1104的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1104还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1104可以为一个,设置在计算机设备1100的前面板;在另一些实施例中,显示屏1104可以为至少两个,分别设置在计算机设备1100的不同表面或呈折叠设计;在另一些实施例中,显示屏1104可以是柔性显示屏,设置在计算机设备1100的弯曲表面上或折叠面上。甚至,显示屏1104还可以设置成非矩形的不规则图形,也即异形屏。显示屏1104可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
电源1105用于为计算机设备1100中的各个组件进行供电。电源1105可以是交流电、直流电、一次性电池或可充电电池。当电源1105包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图11中示出的结构并不构成对计算机设备1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的虚拟对象的视野控制方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述虚拟对象的视野控制方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种虚拟对象的视野控制方法,其特征在于,所述方法包括:
按照策略模式配置N种视野约束数据;所述策略模式为一种软件设计模式,所述N种视野约束数据通过不同的类被独立封装;所述视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系,N为正整数;
建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;
响应于目标虚拟对象进入所述虚拟场景,获取所述目标虚拟对象绑定的目标视野约束数据,以及,获取所述目标虚拟对象在所述虚拟场景中的位置信息;
根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述目标虚拟对象在所述虚拟场景中触发目标事件,取消所述目标虚拟对象与所述目标视野约束数据之间的绑定关系;
建立所述目标虚拟对象与其他视野约束数据之间的绑定关系;
其中,所述目标事件与所述其他视野约束数据相匹配。
3.根据权利要求1所述的方法,其特征在于,所述根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作,包括:
根据所述位置信息获取所述目标虚拟对象在所述虚拟场景中的可见范围;
根据所述目标视野约束数据,确定所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系;
根据确定的可见关系,显示所述可见范围内与所述目标虚拟对象可见的其他虚拟对象。
4.根据权利要求1所述的方法,其特征在于,所述建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系,包括:
创建虚拟对象;其中,创建的虚拟对象的类型包括:被控虚拟对象、附属于所述被控虚拟对象的附属虚拟对象、中立虚拟对象和虚拟载具;
按照创建的虚拟对象的类型,建立创建的虚拟对象与相应的视野约束数据之间的绑定关系。
5.根据权利要求4所述的方法,其特征在于,所述N种视野约束数据包括:
与被控虚拟对象匹配的第一视野约束数据、与附属虚拟对象和中立虚拟对象匹配的第二视野约束数据、与虚拟载具匹配的第三视野约束数据;
所述按照创建的虚拟对象的类型,建立创建的虚拟对象与相应的视野约束数据之间的绑定关系,包括:
响应于创建的虚拟对象为被控虚拟对象,建立所述被控虚拟对象与所述第一视野约束数据之间的绑定关系;
响应于创建的虚拟对象为所述附属虚拟对象或所述中立虚拟对象,建立所述附属虚拟对象或所述中立虚拟对象与所述第二视野约束数据之间的绑定关系;
响应于创建的虚拟对象为所述虚拟载具,建立所述虚拟载具与所述第三视野约束数据之间的绑定关系。
6.根据权利要求5所述的方法,其特征在于,所述第一视野约束数据包括:所述被控虚拟对象与位于其可见范围内的其他虚拟对象相互可见;
所述第二视野约束数据包括:所述附属虚拟对象对其所附属的被控虚拟对象可见,所述附属虚拟对象对其他虚拟对象不可见;
所述第三视野约束数据包括:对于骑乘有所述虚拟载具的被控虚拟对象,其视野范围取决于所骑乘的虚拟载具,且骑乘同一虚拟载具的各个被控虚拟对象的可见范围一致。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
向服务器发送所述目标虚拟对象的视野数据;
其中,所述视野数据用于指示所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取对所述可见范围内的可见虚拟对象的选择操作;接收输入操作信号,控制被选中的可见虚拟对象对所述输入操作信号进行响应。
9.一种虚拟对象的视野控制装置,其特征在于,所述装置包括:
配置模块,被配置为按照策略模式配置N种视野约束数据;所述策略模式为一种软件设计模式,所述N种视野约束数据通过不同的类被独立封装;所述视野约束数据用于指示虚拟对象在虚拟场景中与其他虚拟对象之间的可见关系,N为正整数;
绑定模块,被配置为建立各种类型虚拟对象与相应的视野约束数据之间的绑定关系;
获取模块,被配置为响应于目标虚拟对象进入所述虚拟场景,获取所述目标虚拟对象绑定的目标视野约束数据,以及,获取所述目标虚拟对象在所述虚拟场景中的位置信息;
处理模块,被配置为根据所述位置信息和所述目标视野约束数据,对所述目标虚拟对象执行视野刷新操作。
10.根据权利要求9所述的装置,其特征在于,所述绑定模块,还被配置为:响应于所述目标虚拟对象在所述虚拟场景中触发目标事件,取消所述目标虚拟对象与所述目标视野约束数据之间的绑定关系;建立所述目标虚拟对象与其他视野约束数据之间的绑定关系;其中,所述目标事件与所述其他视野约束数据相匹配。
11.根据权利要求9所述的装置,其特征在于,所述处理模块,被配置为:
根据所述位置信息获取所述目标虚拟对象在所述虚拟场景中的可见范围;
根据所述目标视野约束数据,确定所述目标虚拟对象与所述可见范围内其他虚拟对象之间的可见关系;
根据确定的可见关系,显示所述可见范围内与所述目标虚拟对象可见的其他虚拟对象。
12.根据权利要求9所述的装置,其特征在于,所述绑定模块,包括:
创建单元,被配置为创建虚拟对象;其中,创建的虚拟对象的类型包括:被控虚拟对象、附属于所述被控虚拟对象的附属虚拟对象、中立虚拟对象和虚拟载具;
绑定单元,被配置为按照创建的虚拟对象的类型,建立创建的虚拟对象与相应的视野约束数据之间的绑定关系。
13.根据权利要求12所述的装置,其特征在于,所述N种视野约束数据包括:与被控虚拟对象匹配的第一视野约束数据、与附属虚拟对象和中立虚拟对象匹配的第二视野约束数据、与虚拟载具匹配的第三视野约束数据;
所述绑定单元,被配置为:响应于创建的虚拟对象为被控虚拟对象,建立所述被控虚拟对象与所述第一视野约束数据之间的绑定关系;响应于创建的虚拟对象为所述附属虚拟对象或所述中立虚拟对象,建立所述附属虚拟对象或所述中立虚拟对象与所述第二视野约束数据之间的绑定关系;响应于创建的虚拟对象为所述虚拟载具,建立所述虚拟载具与所述第三视野约束数据之间的绑定关系。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的虚拟对象的视野控制方法。
15.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的虚拟对象的视野控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653165.4A CN111589115B (zh) | 2020-07-08 | 2020-07-08 | 虚拟对象的视野控制方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653165.4A CN111589115B (zh) | 2020-07-08 | 2020-07-08 | 虚拟对象的视野控制方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111589115A true CN111589115A (zh) | 2020-08-28 |
CN111589115B CN111589115B (zh) | 2023-06-13 |
Family
ID=72188243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010653165.4A Active CN111589115B (zh) | 2020-07-08 | 2020-07-08 | 虚拟对象的视野控制方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111589115B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112843713A (zh) * | 2020-12-31 | 2021-05-28 | 上海米哈游天命科技有限公司 | 一种视野中心点的确定方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0042956A2 (en) * | 1980-06-26 | 1982-01-06 | Mattel, Inc. | Electronic maze game apparatus |
CN106362397A (zh) * | 2016-10-14 | 2017-02-01 | 网易(杭州)网络有限公司 | 载具的处理方法及装置 |
CN107213635A (zh) * | 2017-05-25 | 2017-09-29 | 网易(杭州)网络有限公司 | 视野显示方法和装置 |
CN108144303A (zh) * | 2017-12-01 | 2018-06-12 | 腾讯科技(深圳)有限公司 | 游戏帐号之间的交互方法和装置、存储介质及电子装置 |
WO2018126956A1 (zh) * | 2017-01-05 | 2018-07-12 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
CN111318016A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 地图元素的显示方法和装置、存储介质及电子装置 |
-
2020
- 2020-07-08 CN CN202010653165.4A patent/CN111589115B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0042956A2 (en) * | 1980-06-26 | 1982-01-06 | Mattel, Inc. | Electronic maze game apparatus |
CN106362397A (zh) * | 2016-10-14 | 2017-02-01 | 网易(杭州)网络有限公司 | 载具的处理方法及装置 |
WO2018126956A1 (zh) * | 2017-01-05 | 2018-07-12 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
CN107213635A (zh) * | 2017-05-25 | 2017-09-29 | 网易(杭州)网络有限公司 | 视野显示方法和装置 |
CN108144303A (zh) * | 2017-12-01 | 2018-06-12 | 腾讯科技(深圳)有限公司 | 游戏帐号之间的交互方法和装置、存储介质及电子装置 |
CN111318016A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 地图元素的显示方法和装置、存储介质及电子装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112843713A (zh) * | 2020-12-31 | 2021-05-28 | 上海米哈游天命科技有限公司 | 一种视野中心点的确定方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111589115B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tayal et al. | Virtual reality based metaverse of gamification | |
WO2022151946A1 (zh) | 虚拟角色的控制方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN112090069B (zh) | 虚拟场景中的信息提示方法、装置、电子设备及存储介质 | |
TWI818351B (zh) | 多人在線對戰程式中的消息發送方法、裝置、終端及媒體 | |
US20220375151A1 (en) | Method and apparatus for displaying virtual character, device, and storage medium | |
WO2022193838A1 (zh) | 对局结算界面的显示方法、装置、设备及介质 | |
CN103760972A (zh) | 跨平台的增强现实体验 | |
WO2023020254A1 (zh) | 用户界面的显示方法、装置、设备及存储介质 | |
TW202227173A (zh) | 投票結果的顯示方法、裝置、設備、儲存媒體及程式產品 | |
CN112416196A (zh) | 虚拟对象的控制方法、装置、设备及计算机可读存储介质 | |
CN112402959A (zh) | 虚拟对象的控制方法、装置、设备及计算机可读存储介质 | |
CN114307152A (zh) | 虚拟场景的显示方法、装置、电子设备及存储介质 | |
WO2023010690A1 (zh) | 虚拟对象释放技能的方法、装置、设备、介质及程序产品 | |
CN114344906A (zh) | 虚拟场景中伙伴对象的控制方法、装置、设备及存储介质 | |
CN111589115B (zh) | 虚拟对象的视野控制方法、装置、存储介质及计算机设备 | |
KR20210144786A (ko) | 가상 환경 픽처를 디스플레이하기 위한 방법 및 장치, 디바이스, 및 저장 매체 | |
JP2024012545A (ja) | 情報処理システム、情報処理方法、及びプログラム | |
CN112090067A (zh) | 虚拟载具的控制方法、装置、设备及计算机可读存储介质 | |
CN113144617B (zh) | 虚拟对象的控制方法、装置、设备及计算机可读存储介质 | |
CN114307150A (zh) | 虚拟对象之间的互动方法、装置、设备、介质及程序产品 | |
CN113018862A (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
Hingston et al. | Mobile games with intelligence: A killer application? | |
Wu et al. | Metaverse: The World Reimagined | |
CN116603239B (zh) | 数据处理方法、装置及相关设备 | |
WO2024021781A1 (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: 40027399 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |