An interaction method, device, storage medium and program product of a virtual object

By pre-detecting obstructions at the boundaries of passable areas in a virtual scene and obtaining interaction location information, the problem of low efficiency in determining the interaction location of virtual objects is solved, resulting in more efficient virtual object interaction and better rendering effects.

CN116688515BActive Publication Date: 2026-06-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-02-28
Publication Date
2026-06-26

Smart Images

  • Figure CN116688515B_ABST
    Figure CN116688515B_ABST
Patent Text Reader

Abstract

The application provides a virtual object interaction method, device, storage medium and program product, which are applied to various scenes such as cloud technology, artificial intelligence, intelligent transportation, games and vehicle-mounted devices; the virtual object interaction method comprises the following steps: presenting a virtual scene comprising a first virtual object and a second virtual object; loading at least one interaction position information corresponding to the virtual scene, wherein each interaction position information is obtained by detecting a blocking condition of a position on a passable area boundary in the virtual scene, and the interaction position information refers to interaction information corresponding to an interaction position in the virtual scene; determining target interaction position information matched with the first virtual object from the at least one interaction position information; and controlling the first virtual object to interact with the second virtual object at a corresponding interaction position in the virtual scene based on the target interaction position information. Through the application, the interaction efficiency of the virtual object can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to information processing technology in the field of artificial intelligence, and more particularly to an interaction method, device, storage medium and program product for virtual objects. Background Technology

[0002] A virtual scene is the place where virtual objects move around; therefore, interactions between virtual objects take place in the virtual scene. These interactions include hiding behind cover and shooting.

[0003] Generally, in order to determine the interaction positions between virtual objects in a virtual scene, ray detection is usually performed on the location of the virtual objects, and the nearest point that obstructs the line of sight is determined as the interaction position. However, in the process of determining the interaction position, since the interaction position is determined based on the location of the virtual object, it is a real-time process, which results in low interaction efficiency of virtual objects. Summary of the Invention

[0004] This application provides a method, apparatus, device, computer-readable storage medium, and computer program product for interacting with virtual objects, which can improve the interaction efficiency of virtual objects.

[0005] The technical solution of this application embodiment is implemented as follows:

[0006] This application provides an embodiment of a virtual object interaction method, including:

[0007] Presents a virtual scene that includes a first virtual object and a second virtual object;

[0008] Load at least one interactive location information corresponding to the virtual scene, wherein each interactive location information is obtained by detecting the obstruction situation at the boundary of the passable area in the virtual scene, and the interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene.

[0009] From at least one of the said interactive location information, determine the target interactive location information that matches the first virtual object;

[0010] In the virtual scene, based on the target interaction location information, the first virtual object is controlled to interact with the second virtual object at the corresponding interaction location.

[0011] This application provides an interactive device for virtual objects, including:

[0012] The information presentation module is used to present a virtual scene including a first virtual object and a second virtual object;

[0013] An information loading module is used to load at least one interactive location information corresponding to the virtual scene, wherein each interactive location information is obtained by detecting the obstruction situation at the boundary of the passable area in the virtual scene, and the interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene.

[0014] An information matching module is used to determine, from at least one of the interactive location information, target interactive location information that matches the first virtual object;

[0015] The scene interaction module is used to control the first virtual object to interact with the second virtual object at the corresponding interaction position based on the target interaction position information in the virtual scene.

[0016] In this embodiment of the application, the interaction device for the virtual object further includes an information acquisition module, used to acquire a passable area in the virtual scene, wherein the passable area is an area in the virtual scene used for the movement of the first virtual object; to sample on the boundary of the passable area corresponding to the passable area; and to detect the obstruction at each sampling position to obtain the interaction position information.

[0017] In this embodiment of the application, the interactive location information includes at least one of cover location information and attack location information, wherein the cover location information is used for the first virtual object to hide behind cover, and the attack location information is used for the first virtual object to attack.

[0018] In this embodiment of the application, the information acquisition module is further configured to detect the obstruction situation at the sampling location to obtain obstruction information; determine the cover location information based on the obstruction information; and determine the cover location information as the interaction location information.

[0019] In this embodiment, the information acquisition module is further configured to combine the sampling position with a specified posture height to obtain the position of the cover to be detected, wherein the specified posture height includes any one of a specified standing posture height, a specified squatting posture height, and a specified prone posture height; detect the obstruction status of the cover position to be detected to obtain a horizontal cover angle range and a maximum vertical cover angle, wherein the horizontal cover angle range is used to determine the horizontal area where the first virtual object can hide, the horizontal area is parallel to the plane where the passable area is located, and the maximum vertical cover angle is used to determine the vertical area where the first virtual object can hide, the vertical area is perpendicular to the plane where the passable area is located; and determine the sampling position, the specified posture height, the horizontal cover angle range, and the maximum vertical cover angle as the obstruction information.

[0020] In this embodiment of the application, the information acquisition module is further configured to: within a first specified angle range, detect the horizontal cover ray obstruction situation centered on the location of the cover to be detected and at specified interval angles to obtain the horizontal cover angle range, wherein the horizontal cover ray is parallel to the plane where the passable area is located; obtain the middle horizontal cover angle of the horizontal cover angle range; and within a second specified angle range, detect the vertical cover ray obstruction situation centered on the location of the cover to be detected, with the middle horizontal cover angle as the horizontal direction and at specified interval angles to obtain the maximum vertical cover angle, wherein the vertical cover ray is perpendicular to the plane where the passable area is located.

[0021] In this embodiment of the application, the information acquisition module is further configured to detect the blocking status of the horizontal shelter ray within the first specified angle range, centered on the location of the shelter to be detected and at specified interval angles, to obtain the blocking result of the horizontal shelter ray; based on the blocking result of the horizontal shelter ray, to determine the starting blocking angle corresponding to the horizontal shelter ray that begins to be blocked and the ending blocking angle corresponding to the horizontal shelter ray that is finally blocked; and based on the starting blocking angle and the ending blocking angle, to determine the horizontal shelter angle range.

[0022] In this embodiment of the application, the information acquisition module is further configured to acquire voxel mesh data corresponding to the virtual scene; determine target voxel mesh data within a specified location range from the voxel mesh data; and determine the horizontal cover angle range and the maximum vertical cover angle based on the comparison results of the width and height between the cover position to be detected and the target voxel mesh data.

[0023] In this embodiment of the application, the information acquisition module is further configured to detect the obstruction of the sampling position based on the cover position information to determine the visible information; determine the attack position information based on the visible information; and determine the cover position information and the attack position information as the interaction position information.

[0024] In this embodiment of the application, the information acquisition module is further configured to, when determining the sampling position as a boundary cover position based on the cover position information, combine the specified side-stepping distance with the cover position to be detected to obtain the side-stepping attack position to be detected; detect the horizontal obstruction of the side-stepping attack position to be detected based on the horizontal cover angle range in the cover position information to obtain the horizontal side-stepping visible angle range; detect the vertical obstruction of the side-stepping attack position to be detected based on the middle horizontal side-stepping visible angle of the horizontal side-stepping visible angle range to obtain the maximum vertical side-stepping visible angle; and determine the side-stepping attack position to be detected, the horizontal side-stepping visible angle range, and the maximum vertical side-stepping visible angle as the visible information.

[0025] In this embodiment of the application, the information acquisition module is further configured to: combine the sampling position with the specified standing height when the specified posture height in the cover position information is a specified crouching height to obtain a standing attack position to be detected; detect the horizontal obstruction of the standing attack position to be detected based on the horizontal cover angle range in the cover position information to obtain a horizontal standing visible angle range; detect the horizontal obstruction of the standing attack position to be detected based on the middle horizontal standing visible angle of the horizontal standing visible angle range to obtain a maximum vertical standing visible angle; and determine the standing attack position to be detected, the horizontal standing visible angle range, and the maximum vertical standing visible angle as the visible information.

[0026] In this embodiment of the application, the information acquisition module is further configured to acquire map grid data for rendering the virtual scene; perform navigation processing based on the map grid data to obtain a navigation grid; and determine the navigation grid as the passable area.

[0027] This application provides an interactive device for virtual objects, including:

[0028] Memory, used to store executable instructions;

[0029] The processor, when executing executable instructions stored in the memory, implements the virtual object interaction method provided in the embodiments of this application.

[0030] This application provides a computer-readable storage medium storing executable instructions, which, when executed by a processor, implement the interaction method of the virtual object provided in this application.

[0031] This application provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements the virtual object interaction method provided in this application.

[0032] The embodiments of this application have at least the following beneficial effects: by detecting the obstruction of the location on the boundary of the passable area in the virtual scene in advance, the interaction information corresponding to the location for virtual object interaction in the virtual scene is obtained, which is the interaction location information. This ensures that the interaction location information is obtained when the virtual object is presented in the virtual scene. Therefore, by selecting the target interaction location information from at least one interaction location information corresponding to the virtual scene, and quickly controlling the virtual object to interact at the corresponding location based on the target interaction location information, the interaction efficiency of the virtual object can be improved. Attached Figure Description

[0033] Figure 1 This is an exemplary diagram illustrating the method of obtaining the location of cover;

[0034] Figure 2 This is a schematic diagram of the architecture of the virtual object interaction system provided in the embodiments of this application;

[0035] Figure 3 This is one of the embodiments provided in this application. Figure 2 A schematic diagram of the terminal's composition structure;

[0036] Figure 4 This is a flowchart illustrating the interaction method of virtual objects provided in the embodiments of this application. Figure 1 ;

[0037] Figure 5 This is a flowchart illustrating the interaction method of virtual objects provided in the embodiments of this application. Figure 2 ;

[0038] Figure 6 This is an exemplary voxel mesh data schematic diagram provided in an embodiment of this application;

[0039] Figure 7 This is a flowchart illustrating an exemplary virtual object interaction provided in an embodiment of this application;

[0040] Figure 8 This is an exemplary flowchart for generating cover point information and firing point information provided in an embodiment of this application;

[0041] Figure 9 This is an exemplary flowchart of obtaining a navigation grid provided in an embodiment of this application;

[0042] Figure 10 This is an exemplary schematic diagram of a three-dimensional game map grid data provided in an embodiment of this application;

[0043] Figure 11 This is an exemplary voxelization result diagram provided in an embodiment of this application;

[0044] Figure 12 This is an exemplary schematic diagram of an initial walkable area provided in an embodiment of this application;

[0045] Figure 13 This is an exemplary diagram of region division provided in an embodiment of this application;

[0046] Figure 14 This is an exemplary schematic diagram of a region outline provided in an embodiment of this application;

[0047] Figure 15 This is an exemplary simplified schematic diagram of a region outline provided in an embodiment of this application;

[0048] Figure 16 This is an exemplary polygonal mesh data diagram provided in an embodiment of this application;

[0049] Figure 17 This is an exemplary schematic diagram of polygonal detail mesh data provided in an embodiment of this application;

[0050] Figure 18 This is an exemplary navigation grid diagram provided in an embodiment of this application;

[0051] Figure 19 This is a schematic diagram of an exemplary coordinate system provided in an embodiment of this application;

[0052] Figure 20 This is an exemplary schematic diagram of cover point information provided in an embodiment of this application;

[0053] Figure 21 This is an exemplary flowchart of an embodiment of the present application for inspecting a sampling point to obtain cover point information;

[0054] Figure 22 This is an exemplary flowchart illustrating the process of obtaining the maximum vertical angle of a hideable cover, provided in an embodiment of this application.

[0055] Figure 23 This is a schematic diagram illustrating an exemplary side-firing point information provided in an embodiment of this application;

[0056] Figure 24 This is a schematic diagram illustrating an exemplary process for obtaining side-firing point information provided in an embodiment of this application;

[0057] Figure 25 This is an exemplary flowchart illustrating how to obtain the maximum vertical angle for side-firing, as provided in an embodiment of this application.

[0058] Figure 26This is a schematic diagram illustrating an exemplary standing firing point information provided in an embodiment of this application;

[0059] Figure 27 This is a schematic diagram illustrating an exemplary process for obtaining standing firing point information provided in an embodiment of this application;

[0060] Figure 28 This is a schematic diagram of a navigation grid corresponding to an exemplary virtual scene provided in an embodiment of this application;

[0061] Figure 29 This is a schematic diagram of the boundary of an exemplary navigation grid provided in an embodiment of this application;

[0062] Figure 30 This is a schematic diagram of an exemplary interval sampling provided in an embodiment of this application;

[0063] Figure 31 This is an exemplary schematic diagram of obtaining the horizontal angle range of a hideable cover, provided in an embodiment of this application.

[0064] Figure 32 This is an exemplary top view of obtaining the horizontal angle range of a hideable cover, provided in an embodiment of this application;

[0065] Figure 33 This is an exemplary schematic diagram of obtaining the maximum vertical angle of a hideable cover provided in an embodiment of this application;

[0066] Figure 34 This is an exemplary side view of obtaining the maximum vertical angle of a hideable cover, provided in an embodiment of this application.

[0067] Figure 35 This is a schematic diagram of an exemplary hiding place provided in an embodiment of this application;

[0068] Figure 36 This is an exemplary side view diagram provided in an embodiment of this application;

[0069] Figure 37 This is an exemplary schematic diagram of obtaining the horizontal angle range that allows for side-stepping shooting, provided by an embodiment of this application;

[0070] Figure 38 This is an exemplary top view of obtaining the horizontal angle range that can be used for side-firing, provided by an embodiment of this application;

[0071] Figure 39 This is an exemplary schematic diagram of obtaining the maximum vertical angle for side-firing, provided by an embodiment of this application;

[0072] Figure 40This is an exemplary side view provided by an embodiment of the present application for obtaining the maximum vertical angle at which a side-facing shot can be fired;

[0073] Figure 41 This is a schematic diagram illustrating an exemplary side-firing action provided in an embodiment of this application;

[0074] Figure 42 This is a schematic diagram of an exemplary crouching shelter provided in an embodiment of this application;

[0075] Figure 43 This is an exemplary schematic diagram illustrating the determination of information on a standing firing point, provided in an embodiment of this application.

[0076] Figure 44 This is an exemplary schematic diagram of obtaining the horizontal angle range suitable for standing shooting, provided by an embodiment of this application;

[0077] Figure 45 This is an exemplary side view of obtaining the horizontal angle range for standing shooting, provided in an embodiment of this application;

[0078] Figure 46 This is an exemplary schematic diagram of obtaining the maximum vertical angle for standing shooting, provided by an embodiment of this application;

[0079] Figure 47 This is an exemplary side view of obtaining the maximum vertical angle for standing shooting, provided in an embodiment of this application;

[0080] Figure 48 This is a schematic diagram of an exemplary standing shooting provided in an embodiment of this application;

[0081] Figure 49 This is a schematic diagram illustrating an exemplary method for obtaining all cover point information and firing point information, provided in an embodiment of this application. Detailed Implementation

[0082] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0083] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0084] In the following description, the terms "first, second, third, fourth" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third, fourth" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0085] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0086] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.

[0087] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0088] 1) Artificial Intelligence (AI) is a theory, method, technology, and application system that uses digitally controlled machines to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results. In the embodiments of this application, the first virtual object can be an intelligent agent determined through artificial intelligence.

[0089] 2) A game engine is a core component of a pre-written, editable computer game system or an interactive real-time graphics application, used to render game scenes.

[0090] 3) A virtual scene refers to a virtual scene displayed (or provided) by an application running on a terminal device, or a virtual scene played by receiving audio and video information sent by a cloud server, wherein the application runs on a cloud server. Furthermore, a virtual scene can be a simulation of the real world, a semi-simulated / semi-fictional virtual environment, or a purely fictional virtual environment; and a virtual scene can be any of a two-dimensional, 2.5-dimensional, or three-dimensional virtual scene. This application embodiment does not limit the dimension of the virtual scene. For example, a virtual scene may include a virtual sky, virtual land, and virtual ocean, etc. The virtual land may include environmental elements such as virtual deserts and virtual cities. Users can control virtual objects to move within the virtual scene, and intelligent agents can also move within the virtual scene based on control information generated according to the interactive position information in this application embodiment.

[0091] 4) Virtual objects: These are interactive virtual people and objects within a virtual scene, or movable virtual objects. These movable virtual objects can be virtual characters, virtual animals, or anime characters, such as virtual figures and animals displayed in a virtual scene. The virtual object can be a virtual avatar representing the user within the virtual scene. A virtual scene can include multiple virtual objects, each with its own shape and volume, occupying a portion of the space within the virtual scene.

[0092] 5) A navigation mesh (Navmesh for short), also known as a walking surface, is a polygonal grid of data used for navigation and pathfinding in complex spaces, marking passable routes; it is also used to identify terrain features at a location and the actions of a virtual character at that location (e.g., walking, swimming, climbing, etc.). A navigation mesh consists of multiple convex polygons (e.g., convex polygons with up to 6 sides), each of which is the basic unit of the navigation mesh and the unit for pathfinding. Two points within the same convex polygon of the navigation mesh can be reached in a straight line, ignoring terrain height. If two points are located on different convex polygons, the navigation mesh and pathfinding algorithm are used to calculate the convex polygon to be traversed, and then a passable route is calculated based on that convex polygon. The navigation mesh can be generated using a pathfinding library (such as the "RecastNavigation" pathfinding library). For example, when the navigation mesh is determined using the "RecastNavigation" pathfinding library, the type of the polygonal region in the virtual scene ("PolyAreas") is marked by the "ConvexVolume" module in the "RecastNavigation" pathfinding library, and 0, 1 or more Poly navigation meshes are generated for that polygonal region based on the marked type.

[0093] 6) Scene data, representing the characteristic data of the virtual scene; for example, it can be the area of ​​the construction area in the virtual scene, and the architectural style of the current virtual scene; it can also include the location of the virtual building in the virtual scene, and the area occupied by the virtual building; it can also be the interaction data in the virtual scene, such as attack situation.

[0094] 7) Client: An application running on a device that provides various services, such as a game client, an exercise simulation client, etc.

[0095] 8) Cloud computing is a computing model that distributes computing tasks across a resource pool consisting of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources to the resource pool is called the "cloud." From the user's perspective, the resources in the "cloud" are infinitely scalable, available at any time, used on demand, expanded at any time, and paid for based on usage.

[0096] 9) Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing. Cloud gaming technology enables thin clients with relatively limited graphics processing and data processing capabilities to run high-quality games. In a cloud gaming scenario, the game does not run on the player's gaming terminal but on a cloud server. The cloud server renders the game scene as an audio and video stream, which is then transmitted to the player's gaming terminal via the network. The player's gaming terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to acquire player input commands and send them to the cloud server. The virtual object interaction method provided in this application embodiment can be applied to cloud gaming applications.

[0097] Generally, in order to determine the interaction positions between virtual objects in a virtual scene, ray detection is usually performed on the location of the virtual objects to be interacted, and the nearest point that obstructs the line of sight is determined as the interaction position.

[0098] For example, see Figure 1 , Figure 1 This is an exemplary diagram illustrating the acquisition of cover location (referred to as interactive location); as shown below. Figure 1 As shown in the diagram, in virtual scene 1-1, when determining the corresponding cover position for virtual object 1-11, rays emanating from position 1-12 of virtual object 1-11 are obtained in all directions. Based on these rays, the location closest to virtual object 1-11 where the ray is blocked is determined, and this location is designated as the cover position for virtual object 1-11. Dashed arrows represent blocked rays, and solid arrows represent unblocked rays.

[0099] However, in the process of determining the interaction position, since the interaction position is determined based on the location of the virtual object, it is a real-time process, which results in low efficiency and high CPU consumption. When there are many virtual objects, it will occupy a lot of CPU resources, reducing the rendering effect and running efficiency of the virtual scene.

[0100] Based on this, embodiments of this application provide a method, apparatus, device, computer-readable storage medium, and computer program product for interacting with virtual objects, which can reduce the resource consumption of virtual object interaction and improve the interaction efficiency of virtual objects. The following describes exemplary applications of the virtual object interaction device provided in this application. The virtual object interaction device provided in this application can be implemented as various types of terminals such as smartphones, smartwatches, laptops, tablets, desktop computers, smart home appliances, set-top boxes, smart in-vehicle devices, portable music players, personal digital assistants, dedicated messaging devices, intelligent voice interaction devices, portable gaming devices, and smart speakers, or it can be implemented as a server. The following will describe exemplary applications when the virtual object interaction device is implemented as a terminal.

[0101] See Figure 2 , Figure 2 This is a schematic diagram of the architecture of the virtual object interaction system provided in the embodiments of this application; as shown below. Figure 2 As shown, to support an interactive application of a virtual object, in the virtual object interaction system 100, a terminal 200 (terminals 200-1 and 200-2 are shown as examples, referred to as virtual object interaction devices) connects to a server 400 via a network 300. The network 300 can be a wide area network (WAN), a local area network (LAN), or a combination of both. Furthermore, the virtual object interaction system 100 also includes a database 500 for providing data support to the server 400; and... Figure 2 The example shown illustrates a scenario where the database 500 is independent of the server 400. However, the database 500 can also be integrated into the server 400, and this embodiment does not limit this to any particular case.

[0102] Terminal 200 is used to present a virtual scene including a first virtual object and a second virtual object; send an interaction request to the server via network 300, and receive target interaction location information matching the first virtual object sent by the server in response to the interaction request via network 300; in the virtual scene, based on the target interaction location information, control the first virtual object to interact with the second virtual object at the corresponding interaction location.

[0103] Server 400 is configured to receive interaction requests sent by terminal 200 via network 300, and in response to the interaction requests, record at least one interaction location information corresponding to the virtual scene. Each interaction location information is obtained by detecting obstruction at a location on the boundary of a passable area in the virtual scene, and the interaction location information refers to the interaction information corresponding to the interaction location in the virtual scene. From the at least one interaction location information, a target interaction location information matching a first virtual object is determined, and the target interaction location information is sent to terminal 200 via network 300.

[0104] In some embodiments, server 400 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Terminal 200 may be a smartphone, smartwatch, laptop, tablet, desktop computer, smart TV, set-top box, smart in-vehicle device, portable music player, personal digital assistant, dedicated messaging device, portable gaming device, and smart speaker, but is not limited to these. Terminals and servers can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.

[0105] See Figure 3 , Figure 3 This is one of the embodiments provided in this application. Figure 2 A schematic diagram of the terminal's structural composition. Figure 3 The terminal 200 shown includes at least one processor 210, a memory 250, at least one network interface 220, and a user interface 230. The various components in the terminal 200 are coupled together via a bus system 240. It is understood that the bus system 240 is used to implement communication between these components. In addition to a data bus, the bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 3 The general labeled all buses as Bus System 240.

[0106] Processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0107] User interface 230 includes one or more output devices 231 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 230 also includes one or more input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0108] The memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 250 may optionally include one or more storage devices physically located away from the processor 210.

[0109] The memory 250 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 250 described in this application embodiment is intended to include any suitable type of memory.

[0110] In some embodiments, memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0111] Operating system 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;

[0112] The network communication module 252 is used to reach other computer devices via one or more (wired or wireless) network interfaces 220, exemplary network interfaces 220 including: Bluetooth, Wi-Fi, and Universal Serial Bus (USB), etc.

[0113] Presentation module 253 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 231 associated with user interface 230 (e.g., a display screen, a speaker, etc.).

[0114] The input processing module 254 is used to detect and translate one or more user inputs or interactions from one or more input devices 232.

[0115] In some embodiments, the virtual object interaction device provided in this application can be implemented in software. Figure 3An interactive device 255 for virtual objects stored in memory 250 is shown. This device can be software in the form of programs and plugins, and includes the following software modules: an information presentation module 2551, an information loading module 2552, an information matching module 2553, a scene interaction module 2554, and an information acquisition module 2555. These modules are logically connected and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.

[0116] In some embodiments, the virtual object interaction device provided in this application can be implemented in hardware. As an example, the virtual object interaction device provided in this application can be a processor in the form of a hardware decoding processor, which is programmed to execute the virtual object interaction method provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0117] In some embodiments, the terminal or server can implement the virtual object interaction method provided in this application embodiment by running a computer program. For example, the computer program can be a native program or software module in the operating system; it can be a native application (APP), that is, a program that needs to be installed in the operating system to run, such as a game APP; it can also be a mini-program, that is, a program that only needs to be downloaded to the browser environment to run; or it can be a mini-program that can be embedded in any APP. In short, the above-mentioned computer program can be any form of application, module or plugin.

[0118] The following will describe the interaction method of virtual objects provided in this application embodiment, with reference to exemplary applications and implementations of the virtual object interaction device (hereinafter referred to as the interaction device) provided in the embodiments of this application. Furthermore, the virtual object interaction method provided in the embodiments of this application is applied to various scenarios such as cloud technology, artificial intelligence, smart transportation, and in-vehicle systems.

[0119] See Figure 4 , Figure 4 This is a flowchart illustrating the interaction method of virtual objects provided in the embodiments of this application. Figure 1 , will combine Figure 4 The steps shown are explained.

[0120] S401, Present a virtual scene including a first virtual object and a second virtual object.

[0121] In this embodiment of the application, when the interactive device runs a specified functional application for virtual object interaction, a virtual scene is presented; wherein, the virtual scene includes a first virtual object, and the virtual scene also includes a second virtual object for interacting with the first virtual object.

[0122] It should be noted that the first virtual object can be a main virtual object corresponding to a game player, or a smart agent set by the system, etc., and this application embodiment does not limit this; the second virtual object can be a main virtual object corresponding to another game player, or a smart agent set by the system, etc., and this application embodiment does not limit this. Furthermore, when the first virtual object is a main virtual object corresponding to a game player, the second virtual object can also be a smart agent set by the system. Here, the interaction between the first virtual object and the second virtual object includes at least one of the following: taking cover, performing virtual attack skills (shooting, performing virtual magic, etc.), and peeking.

[0123] S402. Load at least one interactive location information corresponding to the virtual scene.

[0124] In this embodiment of the application, the presented virtual scene corresponds to at least one interactive location information. Thus, the interactive device can load at least one interactive location information corresponding to the virtual scene by reading the resource data of the virtual scene, so as to realize the interaction of the virtual object based on the at least one interactive location information.

[0125] It should be noted that each interactive location information is obtained by pre-detecting obstructions at the boundary of the passable area in the virtual scene, and that interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene, such as interaction type, interaction posture information, etc.; therefore, interactive location information includes interactive location, and also includes at least one of interaction type and interaction posture information. The passable area boundary refers to the boundary corresponding to the passable area in the virtual scene, such as the boundary of a virtual obstacle, the boundary of a virtual cliff, etc.; obstruction includes at least one of the information of the first virtual object being obstructed and visual information, where obstruction information is used to determine a hiding area, and visual information is used to determine an area to attack; the location used for interaction is determined based on the location on the passable area boundary, and can be a location on the passable area boundary itself, or a region associated with a location on the passable area boundary (e.g., the location after moving the location on the passable area boundary by lateral, upward, or downward movement).

[0126] It should also be noted that the interactive location information includes at least one of cover location information and attack location information; wherein, the cover location information is used for the first virtual object to hide behind cover, such as the cover location, the cover area corresponding to the cover location, etc.; the attack location information is used for the first virtual object to attack, such as the attack location, the attackable area corresponding to the attack location, etc.

[0127] S403. From at least one interactive location information, determine the target interactive location information that matches the first virtual object.

[0128] In this embodiment of the application, after the interactive device obtains at least one interactive location information, it determines a target interactive location information that matches the first virtual object based on at least one of the following scene data: the distance between the interactive location and the first virtual object, the position between the interactive location and the second virtual object, the state value of the first virtual object, the state value of the second virtual object, the interactive data of the first virtual object, and the interactive data of the second virtual object. This allows for the realization of interaction between the first virtual object and the second virtual object based on the target interactive location.

[0129] For example, the interactive device can determine the target interactive position information based on the shortest distance between itself and the first virtual object to use as cover; the interactive device can determine the target interactive position information based on the closest interactive position information between itself and the second virtual object to launch a virtual attack on the second virtual object; the interactive device can obtain the target interactive position information based on the state value of the first virtual object being lower than a threshold, using the interactive position information used for cover-taking; the interactive device can obtain the interactive position information used for virtual attack based on the state value of the second virtual object being lower than a corresponding threshold, using the interactive device to launch a virtual attack on the second virtual object; the interactive device can determine the attack capability of the first virtual object being lower than a corresponding threshold based on the interaction data of the first virtual object. The device can obtain target interaction location information by acquiring interaction location information used for hiding behind cover. Alternatively, it can determine the target interaction location information by acquiring interaction location information used for attacking when the attack capability of the first virtual object is greater than or equal to a corresponding threshold based on the interaction data of the first and second virtual objects. The device can also determine the target interaction location information by acquiring interaction location information used for attacking when the attack capability of the first virtual object is greater than that of the second virtual object, and vice versa. Furthermore, the device can combine multiple methods for determining the target interaction location information to determine the target interaction location information.

[0130] S404. In a virtual scene, based on the target interaction position information, control the first virtual object to interact with the second virtual object at the corresponding interaction position.

[0131] In this embodiment, the target interaction location information corresponds to the interaction location. After obtaining the target interaction location information, the interaction device controls the first virtual object to move from its current location to the interaction location corresponding to the target interaction location information. When the target interaction location information includes posture information, the device adjusts the posture of the first virtual object at the corresponding location based on the posture information corresponding to the target interaction location information. When the target interaction location information includes an interaction type, the device interacts with the second virtual object based on the interaction type corresponding to the target interaction location information. For example, hiding behind cover, virtually shooting at the second virtual object, or observing the second virtual object with a probe.

[0132] It should be noted that when the interactive device interacts with the second virtual object based on the interaction type corresponding to the target interaction location information, if the target interaction location information is determined to be cover location information based on the interaction type, the interactive device controls the first virtual object to hide behind cover to reduce the virtual damage caused by the second virtual object to the first virtual object; if the target interaction location information is determined to be attack location information based on the interaction type, the interactive device controls the first virtual object to perform a virtual attack on the second virtual object to increase the virtual damage caused by the first virtual object to the second virtual object.

[0133] It is understandable that by pre-detecting obstructions at the boundaries of passable areas in the virtual scene, the interaction information corresponding to the locations for virtual object interaction in the virtual scene can be obtained, which is the interaction location information. This ensures that when the virtual object is presented in the virtual scene, the interaction location information has already been obtained. Therefore, by selecting the target interaction location information from at least one interaction location information corresponding to the virtual scene, and quickly controlling the virtual object to interact at the corresponding location based on the target interaction location information, the interaction efficiency and interaction effect of the virtual object can be improved.

[0134] See Figure 5 , Figure 5 This is a flowchart illustrating the interaction method of virtual objects provided in the embodiments of this application. Figure 2 ;like Figure 5 As shown in the embodiment of this application, S405 to S407 are included before S401; that is, before the interactive device presents the virtual scene including the first virtual object and the second virtual object, the interaction method of the virtual object is further included in S405 to S407. Each step is described below.

[0135] S405. Obtain the passable area in the virtual scene.

[0136] It should be noted that the interactive device can obtain the passable area by acquiring the navigation grid corresponding to the virtual scene, or by acquiring the voxel grid data corresponding to the virtual scene, etc., and this application embodiment does not limit this. The passable area is the area in the virtual scene used for the movement of the first virtual object, such as grass, a climbable platform, etc.

[0137] S406. Sampling is performed on the boundary of the passable area corresponding to the passable area.

[0138] In this embodiment, after obtaining a passable area, the interactive device acquires the boundary corresponding to that passable area, thus obtaining the boundary of the passable area. Next, the interactive device samples the positions on the boundary of the passable area. Here, the interactive device can sample the positions on the boundary of the passable area at intervals, or it can sample randomly, or it can sample based on interactive features (such as the edge positions on the boundary of the passable area), etc. This embodiment does not specifically limit the sampling location. The sampling location is the position on the boundary of the passable area.

[0139] S407. Detect the obstruction at each sampling position to obtain interactive position information.

[0140] It should be noted that the interactive device determines each sampling location as the location to be detected, so as to obtain the interactive location information by detecting each sampling location.

[0141] In this embodiment, after determining the sampling position, the interactive device detects the obstruction at the sampling position to determine whether each sampling position is an interactive position; and if the sampling position is determined to be an interactive position, it acquires the interactive information at that interactive position; thereby obtaining the interactive position information corresponding to the sampling position. Furthermore, when detecting the obstruction at each sampling position, the interactive device can perform detection based on rays, or it can perform detection based on the height of the voxel mesh, etc., and this embodiment does not limit the scope of the detection.

[0142] Understandably, interactive devices obtain interactive position information for virtual object interactions by collecting the boundaries of passable areas in the virtual scene and detecting obstructions at the boundaries of passable areas. This enables batch acquisition of interactive position information and improves the efficiency of acquiring interactive position information in the virtual scene.

[0143] In this embodiment of the application, S407 can be implemented by S4071 to S4073; that is, the interactive device detects the obstruction at each sampling position and obtains interactive position information, including S4071 to S4073. Each step is described below.

[0144] S4071. Detect the obstruction at the sampling location and obtain information about the obstruction.

[0145] It should be noted that when the interactive device detects obstruction at the sampling location, if the detected information is of the unseen area corresponding to the sampling location, then it is determined that the obstructed information has been obtained; in other words, the obstructed information refers to the information of the unseen area corresponding to the sampling location.

[0146] S4072. Determine the location information of the bunker based on the information of being blocked.

[0147] It should be noted that after the interactive device obtains the blocked information, it judges the blocked information. When it is determined that the blocked information meets the cover conditions (e.g., the invisible area is larger than the area occupied by the first virtual object), the sampling position is determined as the interactive position, and the interactive position is the cover position, thus the blocked information is determined as cover position information. However, when it is determined that the blocked information does not meet the cover conditions (e.g., the invisible area is less than or equal to the area occupied by the first virtual object), the sampling position is determined to be unusable for cover and is not a cover position.

[0148] S4073. Determine the bunker location information as interactive location information.

[0149] In this embodiment of the application, after the interactive device determines the cover location information, it can determine the cover location information as interactive location information, thereby obtaining interactive location information including the cover location information.

[0150] It is understandable that when the interaction location information is the hideable information at the cover location, the interaction location information can be determined by detecting the obstructed information corresponding to the sampling location, thus improving the acquisition effect of the interaction location information.

[0151] In this embodiment of the application, S4071 can be implemented by S40711 to S40713 (not shown in the figure); that is, the interactive device detects the obstruction of the sampling position and obtains the obstruction information, including S40711 to S40713. Each step is described below.

[0152] S40711. Combine the sampling location with the specified posture height to obtain the location of the shelter to be detected.

[0153] It should be noted that the interactive device can detect the sampling position by combining the specified posture height; here, the position of the cover to be detected is the position of the sampling position combined with the specified posture height. The combination method can be height superposition, that is, the height of the sampling position is updated to the specified posture height; wherein, the specified posture height refers to the posture height of the first virtual object, including any one of the specified standing posture height, specified squatting posture height, and specified prone posture height. Of course, it can also be other posture heights of the first virtual object, which is not limited in this embodiment.

[0154] S40712. Detect the obstruction at the location of the bunker to be detected, and obtain the horizontal bunker angle range and the maximum vertical bunker angle.

[0155] In this embodiment, the interactive device detects the obstruction of the cover position in both the horizontal and vertical directions to identify the corresponding hiding areas in the horizontal and vertical directions, respectively. Here, the horizontal cover angle range is used to determine the hiding area in the horizontal direction, and the maximum vertical cover angle is used to determine the hiding area in the vertical direction (the area in the horizontal direction). That is, the horizontal cover angle range is used to determine the horizontal area where the first virtual object can hide, and the horizontal area is parallel to the plane of the passable area. The maximum vertical cover angle is used to determine the vertical area where the first virtual object can hide (the area in the vertical direction), and the vertical area is perpendicular to the plane of the passable area. The horizontal direction is parallel to the ground surface in the virtual scene, and the vertical direction is perpendicular to the ground surface in the virtual scene.

[0156] S40713. The sampling location, specified posture height, horizontal bunker angle range, and maximum vertical bunker angle are determined as the information of the obstruction.

[0157] In this embodiment of the application, the interactive device determines the obtained sampling position, specified posture height, horizontal cover angle range, and maximum vertical cover angle as information indicating that the device is blocked.

[0158] It should be noted that when determining cover interaction information based on obstructed information, the specified posture height is used to determine the cover type corresponding to the cover location; for example, when the specified posture height is a specified standing posture height, the cover type corresponding to the cover location is a standing cover location; when the specified posture height is a specified crouching posture height, the cover type corresponding to the cover location is a crouching cover location; when the specified posture height is a specified prone posture height, the cover type corresponding to the cover location is a prone cover location.

[0159] It is understandable that by combining the specified posture height corresponding to the first virtual object to detect the sampling position, the obtained cover position information includes the posture of hiding behind cover, thus improving the accuracy of the obtained cover position information; and thus, when hiding behind cover based on the cover position information, the accuracy of virtual object interaction can be improved.

[0160] In this embodiment of the application, S40712 can be implemented by S407121 to S407123 (not shown in the figure); that is, the interactive device detects the obstruction of the position of the cover to be detected and obtains the horizontal cover angle range and the maximum vertical cover angle, including S407121 to S407123. Each step is described below.

[0161] S407121. Within the first specified angle range, with the location of the bunker to be detected as the center and at specified intervals, the horizontal bunker ray obstruction is detected to obtain the horizontal bunker angle range.

[0162] It should be noted that the interactive device can determine the entire angular range corresponding to the horizontal direction (e.g., 0 degrees to 360 degrees) as the first specified angular range, or it can determine the first specified angular range based on the outward vector of the passable area boundary, etc., and this application embodiment does not limit this. During the detection process, the horizontal shelter ray is parallel to the plane containing the passable area.

[0163] In this embodiment of the application, the interactive device can generate horizontal cover rays based on a specified interval angle; wherein, the horizontal cover ray refers to the ray generated in the horizontal direction used to determine the hiding angle.

[0164] S407122. Obtain the midpoint horizontal bunker angle within the horizontal bunker angle range.

[0165] In this embodiment of the application, after the interactive device obtains the horizontal cover angle range, it obtains the intermediate angle corresponding to the horizontal cover angle range, which is the intermediate horizontal cover angle; wherein, the intermediate horizontal cover angle is the horizontal angle used to determine the maximum vertical cover angle.

[0166] S407123. Within the second specified angle range, with the location of the bunker to be detected as the center, the angle of the intermediate horizontal bunker as the horizontal direction, and at specified intervals, the vertical bunker ray obstruction is detected to obtain the maximum vertical bunker angle.

[0167] It should be noted that the second specified angle range is, for example, 0 degrees to 90 degrees; the vertical cover ray is perpendicular to the plane of the passable area. Additionally, the interactive device can generate vertical cover rays based on specified interval angles; where the vertical cover ray refers to the ray generated in the vertical direction used to determine the hiding angle.

[0168] It is understandable that by performing ray detection on the location of the cover to be detected to obtain the hiding angle, the process of ray detection can improve the efficiency of obtaining the hiding angle by judging whether the ray intersects with virtual objects in the virtual scene, thus improving the efficiency of obtaining cover location information.

[0169] In this embodiment of the application, in S407121, the interactive device detects the horizontal cover ray obstruction within a first specified angle range, centered on the location of the cover to be detected and at specified interval angles, to obtain the horizontal cover angle range. This includes: the interactive device detects the horizontal cover ray obstruction within a first specified angle range, centered on the location of the cover to be detected and at specified interval angles, to obtain the obstruction result of the horizontal cover ray; based on the obstruction result of the horizontal cover ray, determining the starting obstruction angle corresponding to the horizontal cover ray that is initially obstructed and the ending obstruction angle corresponding to the horizontal cover ray that is ultimately obstructed; and determining the horizontal cover angle range based on the starting obstruction angle and the ending obstruction angle.

[0170] Similarly, in the embodiments of this application, the interactive device detects the blocking of vertical shield rays within a second specified angle range, with the location of the shield to be detected as the center, the angle of the intermediate horizontal shield as the horizontal direction, and at specified interval angles, to obtain the angle corresponding to the finally blocked vertical shield ray; the angle corresponding to the finally blocked vertical shield ray is determined as the maximum vertical shield angle.

[0171] It should be noted that the ray involved in the embodiments of this application can be set to a specified length.

[0172] In this embodiment, the interactive device can also detect the obstruction of the cover position by comparing the height of the voxel grid; thus, in S40712, the interactive device detects the obstruction of the cover position to obtain the horizontal cover angle range and the maximum vertical cover angle, including: acquiring voxel grid data corresponding to the virtual scene; determining target voxel grid data within a specified location range from the voxel grid data; and determining the horizontal cover angle range and the maximum vertical cover angle based on the comparison results of the width and height between the cover position to be detected and the target voxel grid data. Here, voxelizing the virtual scene yields the voxel grid data corresponding to the virtual scene.

[0173] For example, see Figure 6 , Figure 6 This is an exemplary voxel mesh data schematic diagram provided in an embodiment of this application; as shown... Figure 6As shown, the voxel mesh data 6-1 includes boundary voxel mesh data 6-11 and region mesh data 6-12. The blocking situation can be determined by comparing the width and height between voxel meshes.

[0174] In this embodiment of the application, S4072 may be followed by S4074 to S4076 (not shown in the figure); that is, after the interactive device determines the cover location information based on the information of being blocked, the interaction method of the virtual object may further include S4074 to S4076. Each step will be described below.

[0175] S4074. Based on the cover location information, detect the obstruction at the sampling location to determine the visible information.

[0176] It should be noted that after the interactive device determines that the sampling location is the cover location and obtains the cover location information, it continues to detect the obstruction at the sampling location in order to detect the information corresponding to the visible area, thus obtaining the visible information.

[0177] S4075. Determine the attack location information based on visual information.

[0178] It should be noted that after the interactive device obtains visual information, it judges the visual information. When it is determined that the visual information meets the attack conditions (e.g., the visible area is larger than the area occupied during the attack), the sampling position is determined as the interaction position, and the interaction position is the attack position, thus the visual information is determined as the attack position information. However, when it is determined that the visual information does not meet the attack conditions (e.g., the visible area is smaller than or equal to the area occupied during the attack), the sampling position is determined to be unusable for attack and is not an attack position.

[0179] S4076. Determine the cover location information and attack location information as interactive location information.

[0180] In this embodiment of the application, after the interactive device determines the cover location information and the attack location information, it can determine the cover location information and the attack location information as interactive location information, thereby obtaining interactive location information including cover location information and attack location information.

[0181] In this embodiment of the application, S4074 can be implemented by S40741 to S40744 (not shown in the figure); that is, the interactive device detects the obstruction of the sampling position based on the cover position information and determines the visible information, including S40741 to S40744. Each step is described below.

[0182] S40741. When the sampling location is determined to be the boundary cover location based on the cover location information, the specified side-stepping distance is combined with the cover location to be detected to obtain the side-stepping attack location to be detected.

[0183] In this embodiment, after the interactive device determines the cover location information, it determines whether the sampling location is a boundary cover location, where a boundary cover location refers to a cover location visible from the side. Here, if the interactive device determines that the sampling location is not a boundary cover location, it does not perform side attack position detection; however, if it determines that the sampling location is a boundary cover location, it determines whether the cover location is a side attack position. When determining whether the cover location is a side attack position, the interactive device performs a side shift of a specified side distance on the cover location to be detected corresponding to the sampling location, so as to combine the specified side distance with the cover location to be detected, thereby obtaining the side attack position to be detected.

[0184] It should be noted that the interactive device can also detect the position of a side attack from all cover locations.

[0185] S40742. Based on the horizontal cover angle range in the cover location information, the horizontal obstruction of the side attack position to be detected is detected to obtain the horizontal side view angle range.

[0186] In this embodiment, the interactive device can directly detect the horizontal obstruction at the side attack position to be detected, or it can detect the horizontal obstruction at the side attack position to be detected based on the horizontal cover angle range in the cover position information. This embodiment does not limit the specific method used. Here, when the interactive device detects the horizontal obstruction at the side attack position to be detected based on the horizontal cover angle range in the cover position information, the horizontal cover angle range is shifted to the side attack position to be detected. This allows the device to detect the horizontal obstruction at the side attack position by starting from an angle parallel to one edge of the horizontal cover angle range and moving towards an angle parallel to the other edge of the horizontal cover angle range, based on the lateral shift direction, to obtain the horizontal viewing angle. The obtained horizontal viewing angle is the horizontal side view angle range, representing the attackable range in the horizontal direction at the side attack position to be detected.

[0187] S40743. Based on the middle horizontal side-view angle of the horizontal side-view angle range, the vertical obstruction of the side-attack position to be detected is detected to obtain the maximum vertical side-view angle.

[0188] In this embodiment, after obtaining the horizontal side-viewing angle range, the interactive device obtains the midpoint of the horizontal side-viewing angle range, thus obtaining the midpoint horizontal side-viewing angle. Here, the interactive device detects the vertical obstruction of the side-attack position to be detected within a third specified angle range (e.g., -90 degrees to 90 degrees) in the horizontal direction corresponding to the midpoint horizontal side-viewing angle to obtain the maximum vertical viewing angle. The obtained maximum vertical viewing angle is the maximum vertical side-viewing angle.

[0189] S40744. The position of the side attack to be detected, the horizontal side view angle range, and the maximum vertical side view angle are determined as visual information.

[0190] It should be noted that when the visual information includes the location of the side attack to be detected, the horizontal side view angle range, and the maximum vertical side view angle, the interactive device determines whether the attack conditions are met based on the horizontal side view angle range and the maximum vertical side view angle to determine the attack location information.

[0191] In this embodiment of the application, S4074 can be implemented by S40745 to S40748 (not shown in the figure); that is, the interactive device detects the obstruction of the sampling position based on the cover position information and determines the visible information, including S40745 to S40748. Each step is described below.

[0192] S40745. When the specified posture height in the cover position information is the specified crouching posture height, the sampling position is combined with the specified standing posture height to obtain the standing attack position to be detected.

[0193] In this embodiment, after the interactive device determines the cover location information, it determines whether the specified posture height corresponding to the sampling location is a specified crouching posture height. Here, when the interactive device determines that the specified posture height is not a specified crouching posture height, it does not perform detection of a standing attack position; however, when it determines that the specified posture height is a specified crouching posture height, it determines whether the cover location is a standing attack position. When the interactive device determines whether the cover location is a standing attack position, it updates the height of the sampling location to the specified standing posture height, so as to combine the sampling location with the specified standing posture height, thereby obtaining the standing attack position to be detected.

[0194] S40746. Based on the horizontal cover angle range in the cover location information, the horizontal obstruction of the standing attack position to be detected is detected to obtain the horizontal standing visible angle range.

[0195] In this embodiment, the interactive device can directly detect the horizontal obstruction at the target standing attack position, or it can detect the horizontal obstruction based on the horizontal cover angle range in the cover position information. This embodiment does not limit the detection in this way. Here, when the interactive device detects the horizontal obstruction at the target standing attack position based on the horizontal cover angle range in the cover position information, the horizontal cover angle range is shifted to the target standing attack position. This allows detection at the target side-attack position to begin from an angle parallel to one edge of the horizontal cover angle range and proceed to an angle parallel to the other edge of the horizontal cover angle range to obtain the horizontal viewing angle. The obtained horizontal viewing angle is the horizontal standing viewing angle range, representing the attackable range in the horizontal direction at the target standing attack position.

[0196] S40747. Based on the middle horizontal standing view angle within the horizontal standing view angle range, the horizontal obstruction at the standing attack position to be detected is detected to obtain the maximum vertical standing view angle.

[0197] In this embodiment, after obtaining the horizontal standing view angle range, the interactive device obtains the midpoint of the horizontal standing view angle range, thus obtaining the midpoint horizontal standing view angle. Here, the interactive device detects the vertical obstruction of the standing attack position to be detected within a fourth specified angle range (e.g., from 0 degrees to the maximum vertical cover angle, or a third specified angle range) in the horizontal direction corresponding to the midpoint horizontal standing view angle, in order to obtain the maximum vertical view angle. The obtained maximum vertical view angle is the maximum vertical standing view angle.

[0198] S40748. The position of the attack to be detected, the horizontal standing visible angle range, and the maximum vertical standing visible angle are determined as visible information.

[0199] It should be noted that when the visual information includes the target standing attack position, the horizontal standing viewing angle range, and the maximum vertical standing viewing angle, the interactive device determines whether the attack conditions are met based on the horizontal standing viewing angle range and the maximum vertical standing viewing angle, in order to determine the attack position information.

[0200] In this embodiment, in step S405, the interactive device acquires a passable area in the virtual scene, including acquiring map grid data for rendering the virtual scene; performing navigation processing based on the map grid data to obtain a navigation grid; and determining the navigation grid as a passable area. The navigation processing refers to sequentially performing voxelization, region filtering, region division, region outline generation, simplified region outline generation, polygon grid data generation, detailed grid generation, and navigation grid generation on the map grid data to obtain the navigation grid. The navigation grid refers to the pathfinding data used to determine the passable area.

[0201] The following describes an exemplary application of the embodiments of this application in a real-world application scenario. This exemplary application describes the process of an intelligent agent (referred to as a first virtual object) taking cover and shooting (referred to as interaction) in a game scene (referred to as a virtual scene); see [link to documentation]. Figure 7 , Figure 7 This is a flowchart illustrating an exemplary virtual object interaction provided in an embodiment of this application; as shown... Figure 7 As shown, the exemplary process for obtaining virtual object interaction includes steps S701 to S705, which are executed by the server (referred to as the interaction device). Each step is described below.

[0202] S701, Start presenting the virtual scene.

[0203] S702. Load all cover point information and shooting point information corresponding to the game scene (referred to as at least one interactive position information).

[0204] S703. Select the target cover point information or firing point information that matches the agent from all cover point information and firing point information.

[0205] S704: Control the agent to move to the location corresponding to the target bunker information or firing point information.

[0206] S705, End the presentation of the virtual scene.

[0207] It should be noted that all cover and firing point information corresponding to the game scene is obtained before the virtual scene is presented; that is, the cover and firing point information is generated offline, meaning that the game has not been running or there has been no actual interaction with the player. The cover and firing point information is used during runtime, meaning the game is actually running; of course, the cover and firing point information can also be generated during runtime. The process of obtaining cover and firing point information is explained below.

[0208] See Figure 8 , Figure 8This is an exemplary flowchart of generating cover point information and firing point information provided in an embodiment of this application; such as Figure 8 As shown, the exemplary process for obtaining cover point information and firing point information includes steps S801 to S815, which are executed by a server or a terminal or other generating device running a client that can load a virtual scene. Each step is described below.

[0209] S801, Start generating cover point information and firing point information.

[0210] S802, Generate navigation mesh.

[0211] The following is combined with Figures 9 to 19 Explain the process of obtaining the navigation grid.

[0212] See Figure 9 , Figure 9 This is an exemplary flowchart of obtaining a navigation mesh provided in an embodiment of this application; as shown... Figure 9 As shown, the exemplary process for obtaining the navigation mesh includes steps S901 to S909, which are executed by the server. Each step is described below.

[0213] S901. Obtain 3D game map grid data.

[0214] It should be noted that the 3D game map mesh data is used to render the game scene; see [link / reference]. Figure 10 , Figure 10 This is an exemplary schematic diagram of a 3D game map mesh data provided in an embodiment of this application; as shown... Figure 10 As shown, the original scene 10-1 is the exemplary 3D game map grid data.

[0215] S902. Voxelize the 3D game map mesh data.

[0216] It should be noted that voxelization is the process of converting the geometric representation of an object into a voxel representation that most closely approximates that object, in order to generate a voxel dataset. See also Figure 11 , Figure 11 This is an exemplary voxelization result diagram provided in an embodiment of this application; as shown... Figure 11 As shown, for Figure 10 The original scene 10-1 is voxelized to obtain voxelized result 11-1.

[0217] S903. Perform region filtering on the voxelization results to obtain the initial walkable region.

[0218] It should be noted that region filtering refers to the process of filtering out unwalkable regions in the voxelization result; here, the server generates the initial walkable region by performing region filtering on the voxelization result. See also Figure 12 , Figure 12 This is an exemplary schematic diagram of an initial walkable area provided in an embodiment of this application; as shown... Figure 12 As shown, for Figure 11 The voxelization result 11-1 is used for region filtering to obtain the initial walkable region 12-1.

[0219] S904. Divide the initial walkable area into regions.

[0220] See Figure 13 , Figure 13 This is an exemplary diagram illustrating region division provided in an embodiment of this application; as shown below. Figure 13 As shown, for Figure 12 The initial walkable region 12-1 is divided into regions, resulting in region division result 13-1.

[0221] S905, Generate the region outline of the region division result.

[0222] See Figure 14 , Figure 14 This is an exemplary schematic diagram of a region outline provided in an embodiment of this application; as shown... Figure 14 As shown, for Figure 13 The region division result 13-1 is used to generate the region outline, resulting in region outline 14-1.

[0223] S906, Simplify the region outline.

[0224] See Figure 15 , Figure 15 This is an exemplary simplified schematic diagram of a region outline provided in an embodiment of this application; as shown... Figure 15 As shown, for Figure 14 The region outline 14-1 in the image is simplified to obtain the simplified region outline 15-1.

[0225] S907. Generate polygonal mesh data based on the simplified region outline.

[0226] See Figure 16 , Figure 16 This is an exemplary polygonal mesh data diagram provided in an embodiment of this application; as shown... Figure 16 As shown, for Figure 15 The simplified region outline 15-1 is used to generate polygons, resulting in polygon mesh data 16-1.

[0227] S908. Generate detailed meshes from the polygonal mesh data to obtain polygonal detailed mesh data.

[0228] See Figure 17 , Figure 17This is an exemplary schematic diagram of polygonal detail mesh data provided in an embodiment of this application; as shown... Figure 17 As shown, for Figure 16 The polygonal mesh data 16-1 is used to generate detailed meshes, resulting in polygonal detailed mesh data 17-1.

[0229] S909, generating navigation mesh based on polygonal detail mesh data.

[0230] See Figure 18 , Figure 18 This is an exemplary navigation mesh diagram provided in an embodiment of this application; as shown... Figure 18 As shown, based on Figure 17 The polygonal detail mesh data 17-1 in the middle generated the navigation mesh 18-1.

[0231] It should be noted that due to the coordinate system of the game engine "UE4" (such as...), Figure 19 The coordinate system in 19-1) and the coordinate system of the navigation grid (e.g., the coordinate system in 19-1) are different. Figure 19 The coordinate system in UE4 (19-2) is different from that in other game engines. Therefore, when using the navigation mesh through the game engine UE4, a coordinate transformation is required between the navigation mesh's coordinate system and the game engine UE4's coordinate system. Here, X represents the first dimension, Y represents the second dimension, and Z represents the third dimension. Similarly, if other game engines use a different coordinate system than the navigation mesh, a coordinate transformation is also necessary.

[0232] S803, Collect the boundaries of the navigation grid (referred to as the traversable area boundary).

[0233] S804. Perform interval sampling on the boundary of the navigation grid to obtain sampling points (called sampling positions).

[0234] It should be noted that the generating device obtains the boundary line segment AB based on the boundary of the navigation mesh. The boundary line segment AB can be represented by Equation (1), which is shown below.

[0235] (1);

[0236] in, The endpoint on the boundary of the navigation grid. This is the starting point on the boundary of the navigation grid; , and Let A be the coordinate value. , and Here are the coordinates of B.

[0237] Here, the unit vector of the boundary line segment AB It can be expressed by equation (2), which is shown below.

[0238] (2);

[0239] Here, normal2D represents a unit vector converted to a horizontal plane.

[0240] Therefore, sampling points It can be expressed by equation (3), which is shown below.

[0241] (3);

[0242] in, c is the distance for interval sampling on the boundary, and c+1 is the order of the sampling points.

[0243] S805. Determine whether the sampling point is a safe hiding spot. If yes, proceed to S806; otherwise, proceed to S813.

[0244] It should be noted that different postures and heights are used to generate horizontal rays in all directions around the sampling point at specified intervals, and the angles of the blocked horizontal rays are obtained. For example, when the range of angles corresponding to the continuously blocked horizontal rays is greater than the minimum angle range, it is determined that the sampling point is a hiding place, and the sampling point is called a cover point. The information about hiding places corresponding to the cover point is called cover point information.

[0245] See Figure 20 , Figure 20 This is an exemplary schematic diagram of cover point information provided in an embodiment of this application; as shown... Figure 20 As shown, cube 20-1 represents virtual obstacles, such as virtual walls, virtual trees, virtual houses, and the bottom edge of virtual windows; the area between arrows 20-2 and 20-3 represents the horizontal angle range where hiding is possible; arrow 20-4 represents the midpoint of the horizontal angle range where hiding is possible; arrow 20-5 represents the maximum vertical angle where hiding is possible; and arrow 20-6 represents the posture height, such as the height of a standing posture, the height of a squatting posture, etc.

[0246] The following describes the process of obtaining cover point information (i.e., cover information at a pose height at the sampling point).

[0247] See Figure 21 , Figure 21 This is an exemplary flowchart provided in this application embodiment for obtaining cover point information by inspecting a sampling point; as shown... Figure 21 As shown, the exemplary process for obtaining cover point information includes steps S2101 to S2121, and is executed by the server. Each step is described below.

[0248] S2101, Start detecting the location of the bunker to be detected.

[0249] It should be noted that the sampling points The location of the cover to be detected is determined by combining the posture height. The location of the cover to be detected can be represented by equation (4), which is shown below.

[0250] (4);

[0251] in, The height is the posture height.

[0252] S2102. The horizontal bunker sampling angle starts from 0 degrees and generates rays from the position of the bunker to be detected outward according to the configured horizontal angle interval (called the specified interval angle).

[0253] It should be noted that the sampling range for the horizontal bunker sampling angle is [0 degrees, 360 degrees], and the maximum detection ray length can be configured; here, the server is based on the sampling points. The normal vector of the boundary line segment AB to the outside of the polygon This reduces the sampling range of the horizontal bunker sampling angle; where the boundary line segment AB is the boundary of the polygon, and the normal vector to the outside of the polygon is... It can be expressed by equation (5), which is shown below.

[0254] (5);

[0255] in, The upward normal is (0, 1, 0).

[0256] It should also be noted that rays are represented based on their starting point and ending point; the starting point of a ray... The endpoint of the ray can be represented by equation (6). It can be expressed by equation (7), and equations (6) and (7) are shown below.

[0257] (6);

[0258] (7);

[0259] in, The maximum inspection ray length is configured. Let be the orientation vector (Cos(AngleH), Sin(AngleH), 0), where AngleH is the horizontal bunker sampling angle.

[0260] S2103. Determine if the ray is blocked. If yes, proceed to S2104; otherwise, proceed to S2106.

[0261] It should be noted that the server can determine whether a ray is blocked by whether the ray intersects with other virtual objects; if they intersect, it is determined that the ray is blocked; if they do not intersect, it is determined that the ray is not blocked.

[0262] S2104. Determine whether the starting angle of the dodgeable cover has been recorded (referred to as the starting blocking angle corresponding to the horizontal cover ray that begins to be blocked). If yes, execute S2117; otherwise, execute S2105.

[0263] It should be noted that when the current ray is blocked and the previous ray is not blocked, the horizontal angle corresponding to the current ray is the horizontal angle at which the blocking begins, also known as the starting angle of the cover.

[0264] S2105. Record the horizontal angle corresponding to the blocked ray as the starting angle of the shelter.

[0265] S2106. Determine if the starting angle of the available cover has been recorded. If yes, proceed to S2107; otherwise, proceed to S2117.

[0266] It should be noted that the processing procedures of S2104 and S2106 are the same, and will not be described again in this embodiment of the application.

[0267] S2107. The horizontal angle corresponding to the previously blocked ray is determined as the end angle of the dodgeable cover (called the end blocking angle corresponding to the final blocked horizontal cover ray).

[0268] S2108. Obtain the horizontal angle range of available cover.

[0269] Here, the generating device obtains the angle between the starting angle and the ending angle of the hideable cover, thus obtaining the horizontal angle range of the hideable cover.

[0270] It should be noted that the horizontal angle range of the cover, DeltaAngle, can be represented by Equation (8), which is shown below.

[0271] (8);

[0272] in, To find the end angle from which cover can be taken, The starting angle for finding cover.

[0273] S2109. Determine whether the horizontal angle range of the available cover matches the horizontal angle of the specified cover. If yes, proceed to S2110; otherwise, proceed to S2117.

[0274] S2110, Obtain the midpoint of the horizontal angle range of available cover.

[0275] It should be noted that the midpoint of the horizontal angle range for taking cover is... It can be expressed by equation (9), which is shown below.

[0276] (9);

[0277] S2111. Determine whether the orientation of the midpoint of the horizontal angle range of the available cover is blocked. If yes, execute S2112; if no, execute S2117.

[0278] S2112, Calculate the distance from the blocker.

[0279] It should be noted that the distance from the obstruction refers to the distance between the position of the cover to be detected and the position of the obstruction at the midpoint angle.

[0280] S2113, Obtain the minimum vertical angle of the available cover.

[0281] It should be noted that the minimum vertical angle of the cover, MinVerticalAngle, can be expressed by Equation (10), which is shown below.

[0282] (10);

[0283] in, For posture height, This is the distance from the obstruction.

[0284] S2114. Calculate the maximum vertical angle of the available cover corresponding to the midpoint of the horizontal angle range of the available cover.

[0285] The following explains the process of obtaining the maximum vertical angle of the cover that can be used to hide from the intermediate angle.

[0286] See Figure 22 , Figure 22 This is an exemplary flowchart illustrating the process of obtaining the maximum vertical angle of a hideable cover, provided in an embodiment of this application; as shown... Figure 22 As shown, the exemplary process for obtaining the maximum vertical angle of a hideable cover includes steps S2201 to S2208, which are executed by the generating device. Each step is described below.

[0287] S2201, Start acquiring the maximum vertical angle of available cover.

[0288] S2202. The vertical bunker sampling angle starts from 0 degrees, and in the horizontal direction corresponding to the middle angle of the horizontal angle range of the dodgeable bunker, a ray is generated from the position of the bunker to be detected outward according to the configured vertical angle interval (called the specified interval angle).

[0289] It should be noted that the orientation vector RayDirV of the vertical bunker sampling angle can be represented by equation (11), which is shown below.

[0290]

[0291] (11);

[0292] in, for , for , The vertical sampling angle has a value range of [0 degrees, 90 degrees].

[0293] It should be noted that the starting point of the ray The endpoint of the ray can be represented by equation (12). It can be expressed by equation (13), and equations (12) and (13) are shown below.

[0294] (12);

[0295] (13);

[0296] S2203. Determine if the ray is blocked. If yes, proceed to S2204; otherwise, proceed to S2207.

[0297] S2204. Obtain the new vertical bunker sampling angle.

[0298] It should be noted that the new vertical bunker sampling angle is obtained by adding the current vertical bunker sampling angle to the vertical angle interval.

[0299] S2205. Determine whether the new vertical bunker sampling angle has reached the maximum vertical sampling angle. If yes, execute S2207; otherwise, execute S2206.

[0300] S2206. Based on the new vertical bunker sampling angle, generate a ray pointing outward from the location of the bunker to be detected. Execute S2203.

[0301] S2207, Obtain the maximum vertical angle from which cover can be taken.

[0302] S2208, Obtain the maximum vertical angle of the available cover.

[0303] S2115. Determine whether the maximum vertical angle of the available cover is greater than the minimum vertical angle of the available cover. If yes, proceed to S2116; otherwise, proceed to S2117.

[0304] It should be noted that steps S2112 to S2115 are optional processing steps.

[0305] S2116. Obtain cover point information.

[0306] It should be noted that the cover point information includes the sampling point, posture height, horizontal angle range of the cover that can be used, and maximum vertical angle of the cover that can be used.

[0307] S2117. Obtain the new horizontal bunker sampling angle.

[0308] It should be noted that the new horizontal bunker sampling angle is obtained by adding the current horizontal angle sampling angle to the horizontal angle interval.

[0309] S2118. Determine whether the new horizontal bunker sampling angle has reached the maximum horizontal sampling angle. If yes, execute S2120; otherwise, execute S2119.

[0310] S2119. Based on the new horizontal bunker sampling angle, generate a ray pointing outward from the location of the bunker to be detected.

[0311] S2120: Obtain information on all cover points of the current sampling point.

[0312] S2121, End the acquisition of cover point information.

[0313] S806. Determine the sampling point as the shelter point and obtain the shelter point information.

[0314] S807. Determine if the cover point is a boundary cover point. If yes, execute S808; otherwise, execute S810.

[0315] S808. Determine if it is possible to shoot from the side from the cover point. If yes, proceed to S809; otherwise, proceed to S813.

[0316] See Figure 23 , Figure 23 This is a schematic diagram illustrating an exemplary side-firing point information provided in an embodiment of this application; as shown... Figure 23 As shown, the information on the side-firing point includes... Figure 20The cube 20-1, arrows 20-2, 20-3, 20-4, 20-5, and 20-6 are included; it also includes arrow 23-1, which indicates the distance and direction of the side-step offset; arrow 23-2, which indicates the horizontal visible angle range after side-stepping when not visible; arrow 23-3, which indicates the maximum vertical visible angle; and arrow 23-4, which indicates the middle angle of the horizontal visible angle range for side-stepping shooting.

[0317] The following describes the process of obtaining information on the side firing position.

[0318] See Figure 24 , Figure 24 This is a schematic diagram illustrating an exemplary process for obtaining side-firing point information provided in an embodiment of this application; as shown... Figure 24 As shown, the exemplary process for obtaining side-firing point information includes steps S2401 to S2418, which are executed by the generating device. Each step is described below.

[0319] S2401, Begin acquiring information on side-facing firing positions.

[0320] S2402. Offset the body by a side distance (called the specified side distance) to the side of the position to be detected to obtain the side shooting point to be tested (called the side shooting position to be tested).

[0321] It should be noted that the side-facing shooting point to be tested includes the left side-facing shooting point to be tested. and the right side shooting point to be tested Among them, the left-side shooting point to be tested The right-side shooting point to be tested can be represented by equation (14). It can be expressed by equation (15), and equations (14) and (15) are shown below.

[0322] (14);

[0323] (15);

[0324] in, The normal vector in the left direction , The normal vector in the right direction FrontRayDir is the sampling point. Directly in front of, indicated as ; This refers to the side-step distance.

[0325] S2403. Based on the lateral movement direction, the horizontal side-stepping shooting sampling angle starts from an edge angle of the horizontal angle range of the dodgeable cover, and generates a ray outward from the side-stepping shooting position to be detected according to the configured horizontal angle interval.

[0326] S2404. Determine if the ray is unobstructed. If yes, proceed to S2405; otherwise, proceed to S2407.

[0327] S2405. Determine if the starting angle for side-stepping shooting has been recorded. If yes, execute S2414; otherwise, execute S2406.

[0328] S2406. Record the horizontal angle corresponding to the unobstructed ray as the starting angle for side-stepping firing. Execute S2414.

[0329] S2407. Determine if the starting angle for side-stepping shooting has been recorded. If yes, proceed to S2408; otherwise, proceed to S2414.

[0330] S2408. Determine the horizontal angle corresponding to the previous unobstructed ray as the end angle for side-stepping firing.

[0331] S2409. Obtain the horizontal angle range for side-facing shooting (referred to as the horizontal side-facing visibility range).

[0332] S2410. Determine whether the horizontal angle range for side-stepping shooting matches the specified horizontal shooting angle. If yes, execute S2411; otherwise, execute S2414.

[0333] S2411. Obtain the maximum vertical angle for side-stepping shooting (referred to as the maximum vertical side-stepping viewing angle).

[0334] The following describes the process of obtaining the maximum vertical angle for side-stepping shooting corresponding to the midpoint of the horizontal angle range within which side-stepping shooting is possible.

[0335] See Figure 25 , Figure 25 This is an exemplary flowchart illustrating how to obtain the maximum vertical angle for side-firing, as provided in an embodiment of this application; Figure 25 As shown, the exemplary process for obtaining the maximum vertical angle that can be used for side-shooting includes steps S2501 to S2508, which are executed by the server. Each step is described below.

[0336] S2501, Begin acquiring the maximum vertical angle for side-shooting.

[0337] S2502, the vertical side-shooting sampling angle starts from -90 degrees, and in the horizontal direction corresponding to the middle angle of the horizontal angle range that can be side-shooting, a ray is generated from the side-shooting position to be detected outward according to the configured vertical angle interval.

[0338] S2503. Determine if the ray is unobstructed. If yes, proceed to S2504; otherwise, proceed to S2507.

[0339] S2504, Obtain a new vertical side-shooting sampling angle.

[0340] It should be noted that the new vertical side-facing shooting sampling angle is obtained by adding the current vertical angle interval to the current vertical side-facing shooting sampling angle.

[0341] S2505. Determine whether the new vertical side-facing shooting sampling angle has reached the maximum vertical sampling angle. If yes, execute S2507; otherwise, execute S2506.

[0342] S2506. Based on the new vertical side-fire sampling angle, generate a ray pointing outward from the side-fire position to be detected. Execute S2503.

[0343] S2507, obtains the maximum vertical angle for side-firing.

[0344] S2508, Obtaining the maximum vertical angle at which side-stepping shooting ends.

[0345] S2412. Determine whether the maximum vertical angle for side-stepping shooting is greater than the specified vertical shooting angle. If yes, execute S2413; otherwise, execute S2414.

[0346] It should be noted that S2411 and S2412 are optional processing steps.

[0347] S2413, Obtain information on the side firing position.

[0348] It should be noted that the side-fire point information includes at least one of the horizontal angle range and the maximum vertical angle at which side-fire is possible, corresponding to the cover point information.

[0349] S2414, Obtain a new horizontal side-shooting sampling angle.

[0350] S2415. Determine whether the new horizontal side-stepping shooting sampling angle reaches the other edge angle corresponding to the horizontal angle range of the cover. If yes, execute S2417; if no, execute S2416.

[0351] S2416. Based on the new horizontal side-fire sampling angle, generate a ray pointing outward from the side-fire position to be detected. Execute S2404.

[0352] S2417: Obtain information on all side-firing positions.

[0353] S2418, End the acquisition of side-firing point information.

[0354] S809. Determine the cover point as a flanking firing point and obtain the flanking firing point information. Execute S813.

[0355] It should be noted that steps S807 to S809 are optional.

[0356] S810. Determine if the cover point can only be a crouching cover point. If yes, execute S811; otherwise, execute S813.

[0357] S811. Determine whether it is possible to stand and fire from a crouching cover position. If yes, proceed to S812; otherwise, proceed to S813.

[0358] See Figure 26 , Figure 26 This is a schematic diagram illustrating an exemplary standing firing point information provided in an embodiment of this application; as shown... Figure 26 As shown, the standing firing point information includes Figure 20 The cube 20-1, arrows 20-2, 20-3, 20-4, 20-5, and 20-6 are included; it also includes arrow 26-1 indicating the standing height, arrows 26-2 and 26-3 indicating the horizontal angle range for standing shooting, and arrow 26-4 indicating the maximum vertical angle for standing shooting.

[0359] The following describes the process of obtaining information about the standing firing position.

[0360] See Figure 27 , Figure 27 This is a schematic diagram illustrating an exemplary process for obtaining standing firing point information provided in an embodiment of this application; as shown... Figure 27 As shown, the exemplary process for obtaining standing firing point information includes steps S2701 to S2718, which are executed by the generating device. Each step is described below.

[0361] S2701, Start acquiring standing firing point information.

[0362] S2702. Obtain the standing shooting point to be detected (referred to as the standing shooting position to be detected).

[0363] It should be noted that the generating device will sample points. The standing shooting position is determined by combining the height of the standing posture.

[0364] S2703, The horizontal standing shooting sampling angle starts from an edge angle of the horizontal standing shooting sampling angle range and generates a ray from the standing shooting position to be detected outward according to the configured horizontal angle interval.

[0365] It should be noted that the sampling angle range for horizontal standing shooting can be from -90 degrees to 90 degrees directly in front; where directly in front is the sampling point. Directly in front.

[0366] S2704. Determine if the ray is unobstructed. If yes, proceed to S2705; otherwise, proceed to S2707.

[0367] S2705. Determine whether the starting angle for standing shooting has been recorded. If yes, proceed to S2714; otherwise, proceed to S2706.

[0368] S2706. Record the horizontal angle corresponding to the unobstructed ray as the starting angle for standing firing. Execute S2714.

[0369] S2707. Determine whether the starting angle for standing shooting has been recorded. If yes, proceed to S2708; otherwise, proceed to S2714.

[0370] S2708. Determine the horizontal angle corresponding to the previous unobstructed ray as the end angle for standing firing.

[0371] S2709. Obtain the horizontal angle range for standing shooting (referred to as the horizontal standing visual angle range).

[0372] S2710. Determine whether the range of horizontal angles suitable for standing shooting conforms to the specified horizontal angle for shooting. If yes, proceed to S2711; otherwise, proceed to S2714.

[0373] S2711. Obtain the maximum vertical angle for standing shooting (referred to as the maximum vertical standing viewing angle).

[0374] It should be noted that the process of obtaining the maximum vertical angle for standing shooting is related to... Figure 25 The process for obtaining the maximum vertical angle for standing shooting is similar and will not be repeated here.

[0375] S2712. Determine whether the maximum vertical angle for standing shooting is greater than the specified vertical shooting angle. If yes, proceed to S2713; otherwise, proceed to S2714.

[0376] It should be noted that S2711 and S2712 are optional processing steps.

[0377] S2713, Obtain information on the standing firing position.

[0378] It should be noted that the standing firing point information includes at least one of the horizontal angle range and the maximum vertical angle at which standing firing is possible, corresponding to the cover point information.

[0379] S2714. Obtain a new horizontal standing shooting sampling angle.

[0380] S2715. Determine whether the new horizontal standing shooting sampling angle reaches the other edge angle corresponding to the horizontal angle range of the cover. If yes, execute S2717; if no, execute S2716.

[0381] S2716. Based on the new horizontal standing shooting sampling angle, generate a ray pointing outward from the standing shooting position to be detected. Execute S2704.

[0382] S2717: Obtain information on all standing firing positions.

[0383] S2718, End of obtaining standing firing point information.

[0384] S812. Determine the cover point as the standing firing point and obtain the standing firing point information.

[0385] It should be noted that steps S810 to S812 are optional.

[0386] S813. Determine whether the detection of all sampling points has been completed. If yes, execute S814; otherwise, execute S804.

[0387] S814: Obtain information on all cover points and firing points.

[0388] S815, End the generation of cover point information and firing point information.

[0389] The following continues to explain the adoption of... Figures 8 to 27 The process of generating cover point information and firing point information, and then taking cover and firing.

[0390] See Figure 28 , Figure 28 This is a schematic diagram of a navigation grid corresponding to an exemplary virtual scene provided in an embodiment of this application; as shown... Figure 28 As shown, the navigation grid 28-11 corresponding to the virtual scene 28-1 is illustrated.

[0391] See Figure 29 , Figure 29 This is a schematic diagram of the boundary of an exemplary navigation mesh provided in an embodiment of this application; as shown... Figure 29 As shown, when obtaining Figure 28 When the boundary of the navigation grid 28-11 is found, the boundary 29-1 of the navigation grid is also obtained.

[0392] See Figure 30 , Figure 30 This is a schematic diagram of an exemplary interval sampling provided in an embodiment of this application; as shown... Figure 30 As shown, when for Figure 29 When sampling the boundary 29-1 of the navigation grid at intervals, each sampling point 30-1 is obtained.

[0393] See Figure 31 , Figure 31 This is an exemplary schematic diagram of obtaining the horizontal angle range of a hideable cover provided in an embodiment of this application; as shown in Figure 31, when... Figure 30 When sampling point 31-1 of each sampling point 30-1 obtains the horizontal angle range of the hideable cover, the horizontal angle range of the hideable cover at the posture height 31-3 indicated by arrow 31-2 is obtained, where arrow 31-4 represents the midpoint of the horizontal angle range of the hideable cover. See also... Figure 32 , Figure 32 This is an exemplary top view of obtaining the horizontal angle range of a hideable cover, provided in an embodiment of this application; as shown... Figure 32 As shown, horizontal cover rays are generated by sampling at intervals from 0 degrees to 360 degrees to obtain the range of hideable horizontal angles relative to the virtual obstacle 32-1, which is... Figure 31 The arrow 31-2 indicates the range of horizontal angles of the cover that can be taken at the posture height 31-3.

[0394] based on Figure 31 See Figure 33 , Figure 33 This is an exemplary schematic diagram of obtaining the maximum vertical angle of a hideable cover provided in an embodiment of this application; as shown in Figure 33, when based on Figure 31 Continuing to obtain the maximum vertical angle of the available cover, we obtain the maximum vertical angle of the available cover as indicated by arrow 33-1. Also, see... Figure 34 , Figure 34 This is an exemplary side view of obtaining the maximum vertical angle of a hideable cover, provided in an embodiment of this application; as shown... Figure 34 As shown, vertical cover rays are generated by sampling at intervals from 0 degrees to 90 degrees to obtain a hideable vertical angle relative to the virtual obstacle 32-1, which is... Figure 33 The arrow 33-1 indicates the maximum vertical angle of the cover at the posture height 31-1.

[0395] based on Figure 31 See Figure 33 , Figure 33 This is an exemplary schematic diagram of obtaining the maximum vertical angle of a hideable cover provided in an embodiment of this application; as shown in Figure 33, when based on Figure 31 Continuing to obtain the maximum vertical angle of the available cover, we obtain the maximum vertical angle of the available cover as indicated by arrow 33-1. Also, see... Figure 34 , Figure 34 This is an exemplary side view of obtaining the maximum vertical angle of a hideable cover, provided in an embodiment of this application; as shown... Figure 34 As shown, vertical cover rays are generated by sampling at intervals from 0 degrees to 90 degrees to obtain a hideable vertical angle relative to the virtual obstacle 32-1, which is... Figure 33 The arrow 33-1 indicates the maximum vertical angle of the cover at the posture height 31-1.

[0396] See Figure 35 , Figure 35 This is a schematic diagram of an exemplary hiding place provided in an embodiment of this application; as shown... Figure 35 As shown, when based on Figure 32 The horizontal angle range of the hideouts shown and Figure 33 When hiding behind cover at the maximum vertical angle shown, such as virtual object 35-1 presented in virtual scene 28-1.

[0397] See Figure 36 , Figure 36 This is an exemplary side view diagram provided in an embodiment of this application; as shown Figure 36 As shown, arrow 36-1 indicates the distance and direction of lateral movement by turning sideways.

[0398] See Figure 37 , Figure 37 This is an exemplary schematic diagram illustrating the acquisition of a horizontal angle range suitable for side-facing shooting, provided by an embodiment of this application; as shown. Figure 37 As shown, when based on Figure 36 When the lateral displacement distance and direction shown are used to obtain the horizontal angle range for side-firing, the horizontal angle range for side-firing, as indicated by arrow 37-1, is also obtained. See also... Figure 38 , Figure 38 This is an exemplary top view provided in an embodiment of this application for obtaining the horizontal angle range suitable for side-firing; as shown... Figure 38 As shown, after moving sampling point 31-1 to position 38-1, at position 38-1, starting from an edge angle corresponding to the horizontal angle range of the cover, interval sampling is performed to generate a ray to find the visible angle, so as to obtain the horizontal angle range of side-stepping shooting.

[0399] See Figure 39 , Figure 39 This is an exemplary schematic diagram of obtaining the maximum vertical angle for side-firing, provided by an embodiment of this application; as shown... Figure 39 As shown, arrow 39-1 indicates the maximum vertical angle at which side-stepping firing is possible. Also see... Figure 40 , Figure 40This application provides an exemplary side view of obtaining the maximum vertical angle for side-firing, as shown in the embodiments of this application; Figure 40 As shown, Figure 39 The maximum vertical angle at which side-shooting is possible, indicated by arrow 39-1, is obtained by generating rays to find the visible angle through interval sampling from -90 degrees to 90 degrees.

[0400] See Figure 41 , Figure 41 This is a schematic diagram of an exemplary side-firing method provided in an embodiment of this application; as shown... Figure 41 As shown, when based on Figure 37 The horizontal angle range for side-firing is shown. Figure 39 The maximum vertical angle at which side-facing shooting is possible is shown, as illustrated by virtual object 41-1 in virtual scene 28-1. It is easy to see that it can also be based on... Figure 37 The horizontal angle range for side-firing is shown. Figure 39 The maximum vertical angle at which side-facing shots can be fired is shown, allowing for other methods of virtual attacks or probe observations.

[0401] See Figure 42 , Figure 42 This is a schematic diagram of an exemplary crouching shelter provided in an embodiment of this application; as shown... Figure 42 As shown, virtual object 42-1 crouches to take cover in virtual scene 28-1.

[0402] See Figure 43 , Figure 43 This is an exemplary schematic diagram illustrating the determination of standing firing point information provided in an embodiment of this application; as shown... Figure 43 As shown by arrow 43-1, after shifting the standing height upward from the sampling point, the determination of the standing shooting point is performed to obtain the standing shooting point information.

[0403] See Figure 44 , Figure 44 This is an exemplary schematic diagram of obtaining the horizontal angle range suitable for standing shooting, provided by an embodiment of this application; as shown. Figure 44 As shown, when the cover point is a crouching cover point, when obtaining the horizontal angle range for standing firing based on the horizontal angle range 44-1 of the cover point, the horizontal angle range for standing firing is obtained as shown by arrow 44-2. See also... Figure 45 , Figure 45 This is an exemplary side view of obtaining the horizontal angle range for standing shooting, provided in an embodiment of this application; as shown... Figure 45As shown, at position 45-1, starting from an edge angle corresponding to the horizontal angle range of the dodgeable cover, interval sampling is performed to generate rays to find the visible angle, so as to obtain... Figure 44 The horizontal angle range for standing firing is indicated by the middle arrow 44-2.

[0404] See Figure 46 , Figure 46 This is an exemplary schematic diagram of obtaining the maximum vertical angle for standing shooting, provided by an embodiment of this application; as shown. Figure 46 As shown, arrow 46-1 indicates the maximum vertical angle that can be achieved while standing and firing. Also see... Figure 47 , Figure 47 This is an exemplary side view provided in an embodiment of this application for obtaining the maximum vertical angle for standing firing; as shown... Figure 47 As shown, the maximum vertical angle for standing shooting is obtained by generating a ray through interval sampling from -90 degrees to 90 degrees to find the vertical visible angle; wherein, during interval sampling, it can stop when it reaches the maximum vertical angle 47-1 parallel to the cover.

[0405] See Figure 48 , Figure 48 This is a schematic diagram of an exemplary standing shooting exercise provided in an embodiment of this application; as shown... Figure 48 As shown, when based on Figure 44 The horizontal angle range for standing firing is shown. Figure 46 When standing and shooting at the maximum vertical angle shown, virtual object 48-1 is presented in virtual scene 28-1.

[0406] See Figure 49 , Figure 49 This is a schematic diagram illustrating an exemplary method for obtaining all cover point information and firing point information, provided in an embodiment of this application; as shown... Figure 49 As shown, each arrow describes all the cover point information and firing point information.

[0407] It is understood that the embodiments of this application first collect the boundaries of each region in the navigation mesh, then perform interval sampling based on the boundaries, and then automatically generate cover point information, side firing point information and standing firing point information based on the height comparison results of ray detection or voxel mesh. This reduces the consumption of CPU computing resources, improves the search efficiency of cover points, side firing points and standing firing points, and thus improves the rendering smoothness of the virtual scene.

[0408] The following description continues to illustrate the exemplary structure of the virtual object interaction device 255 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 3As shown, the software modules in the interactive device 255 storing virtual objects in the memory 250 may include:

[0409] Information presentation module 2551 is used to present a virtual scene including a first virtual object and a second virtual object;

[0410] The information loading module 2552 is used to load at least one interactive location information corresponding to the virtual scene, wherein each interactive location information is obtained by detecting the obstruction situation at the boundary of the passable area in the virtual scene, and the interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene.

[0411] The information matching module 2553 is used to determine the target interactive location information that matches the first virtual object from at least one of the interactive location information;

[0412] The scene interaction module 2554 is used to control the first virtual object to interact with the second virtual object at the corresponding interaction position based on the target interaction position information in the virtual scene.

[0413] In this embodiment of the application, the virtual object interaction device 255 further includes an information acquisition module 2555, used to acquire a passable area in the virtual scene, wherein the passable area is an area in the virtual scene used for the movement of the first virtual object; to sample on the boundary of the passable area corresponding to the passable area; and to detect the obstruction at each sampling position to obtain the interaction position information.

[0414] In this embodiment of the application, the interactive location information includes at least one of cover location information and attack location information, wherein the cover location information is used for the first virtual object to hide behind cover, and the attack location information is used for the first virtual object to attack.

[0415] In this embodiment of the application, the information acquisition module 2555 is further configured to detect the obstruction situation at the sampling position to obtain obstruction information; determine the cover position information based on the obstruction information; and determine the cover position information as the interaction position information.

[0416] In this embodiment, the information acquisition module 2555 is further configured to combine the sampling position with a specified posture height to obtain the position of the cover to be detected, wherein the specified posture height includes any one of a specified standing posture height, a specified squatting posture height, and a specified prone posture height; detect the obstruction of the cover position to be detected to obtain a horizontal cover angle range and a maximum vertical cover angle, wherein the horizontal cover angle range is used to determine the horizontal area where the first virtual object can hide, the horizontal area is parallel to the plane where the passable area is located, and the maximum vertical cover angle is used to determine the vertical area where the first virtual object can hide, the vertical area is perpendicular to the plane where the passable area is located; and determine the sampling position, the specified posture height, the horizontal cover angle range, and the maximum vertical cover angle as the obstruction information.

[0417] In this embodiment of the application, the information acquisition module 2555 is further configured to: within a first specified angle range, detect the horizontal cover ray obstruction situation centered on the location of the cover to be detected and at specified interval angles to obtain the horizontal cover angle range, wherein the horizontal cover ray is parallel to the plane where the passable area is located; obtain the middle horizontal cover angle of the horizontal cover angle range; and within a second specified angle range, detect the vertical cover ray obstruction situation centered on the location of the cover to be detected, with the middle horizontal cover angle as the horizontal direction and at specified interval angles to obtain the maximum vertical cover angle, wherein the vertical cover ray is perpendicular to the plane where the passable area is located.

[0418] In this embodiment of the application, the information acquisition module 2555 is further configured to detect the blocking status of the horizontal shelter ray within the first specified angle range, centered on the location of the shelter to be detected and at specified interval angles, to obtain the blocking result of the horizontal shelter ray; based on the blocking result of the horizontal shelter ray, to determine the starting blocking angle corresponding to the horizontal shelter ray that begins to be blocked and the ending blocking angle corresponding to the horizontal shelter ray that is finally blocked; and based on the starting blocking angle and the ending blocking angle, to determine the horizontal shelter angle range.

[0419] In this embodiment of the application, the information acquisition module 2555 is further configured to acquire voxel mesh data corresponding to the virtual scene; determine target voxel mesh data within a specified location range from the voxel mesh data; and determine the horizontal cover angle range and the maximum vertical cover angle based on the width and height comparison results between the cover position to be detected and the target voxel mesh data.

[0420] In this embodiment of the application, the information acquisition module 2555 is further configured to detect the obstruction of the sampling position based on the cover position information, determine the visible information; determine the attack position information based on the visible information; and determine the cover position information and the attack position information as the interaction position information.

[0421] In this embodiment of the application, the information acquisition module 2555 is further configured to, when the sampling position is determined to be a boundary cover position based on the cover position information, combine the specified side-stepping distance with the cover position to be detected to obtain the side-stepping attack position to be detected; detect the horizontal obstruction of the side-stepping attack position to be detected based on the horizontal cover angle range in the cover position information to obtain the horizontal side-stepping visible angle range; detect the vertical obstruction of the side-stepping attack position to be detected based on the middle horizontal side-stepping visible angle of the horizontal side-stepping visible angle range to obtain the maximum vertical side-stepping visible angle; and determine the side-stepping attack position to be detected, the horizontal side-stepping visible angle range, and the maximum vertical side-stepping visible angle as the visible information.

[0422] In this embodiment of the application, the information acquisition module 2555 is further configured to: combine the sampling position with the specified standing height when the specified posture height in the cover position information is a specified crouching height to obtain a standing attack position to be detected; detect the horizontal obstruction of the standing attack position to be detected based on the horizontal cover angle range in the cover position information to obtain a horizontal standing visible angle range; detect the horizontal obstruction of the standing attack position to be detected based on the middle horizontal standing visible angle of the horizontal standing visible angle range to obtain a maximum vertical standing visible angle; and determine the standing attack position to be detected, the horizontal standing visible angle range, and the maximum vertical standing visible angle as the visible information.

[0423] In this embodiment of the application, the information acquisition module 2555 is further configured to acquire map grid data for rendering the virtual scene; perform navigation processing based on the map grid data to obtain a navigation grid; and determine the navigation grid as the passable area.

[0424] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device (referred to as an interactive device) reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the virtual object interaction method described above in this application.

[0425] This application provides a computer-readable storage medium storing executable instructions. When these executable instructions are executed by a processor, they cause the processor to execute the interaction method of the virtual object provided in this application, for example... Figure 4 The interactive methods of the virtual object are shown.

[0426] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0427] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0428] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).

[0429] As an example, executable instructions can be deployed to execute on a single computer device (in which case, this single computer device is an interactive device), or to execute on multiple computer devices located in one location (in which case, multiple computer devices located in one location are interactive devices), or to execute on multiple computer devices distributed across multiple locations and interconnected via a communication network (in which case, multiple computer devices distributed across multiple locations and interconnected via a communication network are interactive devices).

[0430] It is understood that in the embodiments of this application, data related to virtual objects is involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0431] In summary, the embodiments of this application obtain the interaction information corresponding to the location for virtual object interaction in the virtual scene by detecting the obstruction at the boundary of the passable area in the virtual scene in advance. This interaction location information ensures that the interaction location information is obtained when the virtual object is presented in the virtual scene. Therefore, by selecting the target interaction location information from at least one interaction location information corresponding to the virtual scene, and quickly controlling the virtual object to interact at the corresponding location based on the target interaction location information, the interaction efficiency of the virtual object can be improved.

[0432] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A method for interacting with virtual objects, characterized in that, The method includes: A passable area in a virtual scene is obtained, and the obstruction situation at each sampling position on the boundary of the passable area is detected to obtain at least one interactive position information; the interactive position information includes at least one of cover position information and attack position information. Presents a virtual scene that includes a first virtual object and a second virtual object; Load the at least one interactive location information, wherein the cover location information is obtained by detecting the obstruction of the sampling location on the boundary of the passable area in the virtual scene and determining it based on the obstruction information; the attack location information is obtained by detecting the obstruction of the sampling location based on the cover location information and determining it based on the visual information; and the interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene. From the at least one interactive location information, determine the target interactive location information that matches the first virtual object; In the virtual scene, based on the target interaction location information, the first virtual object is controlled to interact with the second virtual object at the corresponding interaction location.

2. The method according to claim 1, characterized in that, The passable area is the area in the virtual scene used for the movement of the first virtual object.

3. The method according to claim 1, characterized in that, in, The cover location information is used for the first virtual object to hide in cover, and the attack location information is used for the first virtual object to attack.

4. The method according to claim 2 or 3, characterized in that, The obstruction situation at each sampling position on the boundary of the passable area corresponding to the passable area is detected to obtain at least one interactive position information, including: The obstruction at the sampling location is detected to obtain information about the obstruction. Based on the information about the obstruction, the location information of the bunker is determined; The location information of the shelter is determined as the interaction location information.

5. The method according to claim 4, characterized in that, The detection of obstruction at the sampling location to obtain obstruction information includes: The sampling location is combined with the specified posture height to obtain the location of the cover to be detected, wherein the specified posture height includes any one of the specified standing posture height, specified squatting posture height, and specified prone posture height; The obstruction of the location of the cover to be detected is detected to obtain the horizontal cover angle range and the maximum vertical cover angle. The horizontal cover angle range is used to determine the horizontal area where the first virtual object can hide. The horizontal area is parallel to the plane where the passable area is located. The maximum vertical cover angle is used to determine the vertical area where the first virtual object can hide. The vertical area is perpendicular to the plane where the passable area is located. The sampling location, the specified posture height, the horizontal cover angle range, and the maximum vertical cover angle are determined as the information of the obstruction.

6. The method according to claim 5, characterized in that, The process of detecting the obstruction at the location of the bunker to be detected, and obtaining the horizontal bunker angle range and the maximum vertical bunker angle, includes: Within a first specified angle range, with the location of the shelter to be detected as the center and at specified intervals, the horizontal shelter ray obstruction is detected to obtain the horizontal shelter angle range, wherein the horizontal shelter ray is parallel to the plane of the passable area; Obtain the midpoint horizontal bunker angle within the range of horizontal bunker angles; Within a second specified angle range, the vertical shield ray obstruction is detected with the location of the shield to be detected as the center, the intermediate horizontal shield angle as the horizontal direction, and the specified interval angles, to obtain the maximum vertical shield angle, wherein the vertical shield ray is perpendicular to the plane of the passable area.

7. The method according to claim 6, characterized in that, Within a first specified angle range, the detection of horizontal bunker ray obstruction, centered on the location of the bunker to be detected and performed at specified intervals, yields the horizontal bunker angle range, including: Within the first specified angle range, with the location of the shelter to be detected as the center and at the specified interval angle, the blocking status of the horizontal shelter rays is detected to obtain the blocking result of the horizontal shelter rays; Based on the blocking results of the horizontal bunker ray, the starting blocking angle corresponding to the horizontal bunker ray that begins to be blocked and the ending blocking angle corresponding to the horizontal bunker ray that is finally blocked are determined. The horizontal bunker angle range is determined based on the starting blocking angle and the ending blocking angle.

8. The method according to claim 5, characterized in that, The process of detecting the obstruction at the location of the bunker to be detected, and obtaining the horizontal bunker angle range and the maximum vertical bunker angle, includes: Obtain the voxel mesh data corresponding to the virtual scene; From the voxel grid data, determine the target voxel grid data within a specified location range; Based on the comparison results of the width and height between the location of the shelter to be detected and the target voxel mesh data, the horizontal shelter angle range and the maximum vertical shelter angle are determined.

9. The method according to claim 4, characterized in that, After determining the bunker location information based on the blocked information, the method further includes: Based on the cover location information, the obstruction situation at the sampling location is detected to determine the visible information; Based on the visual information, the attack location information is determined; The cover location information and the attack location information are determined as the interaction location information.

10. The method according to claim 9, characterized in that, The step of detecting obstruction at the sampling location based on the cover location information to determine visible information includes: When the sampling location is determined to be the boundary cover location based on the cover location information, the specified side-stepping distance is combined with the cover location to be detected to obtain the side-stepping attack location to be detected. Based on the horizontal cover angle range in the cover location information, the horizontal obstruction of the side attack position to be detected is detected to obtain the horizontal side view angle range. Based on the middle horizontal side-view angle of the horizontal side-view angle range, the vertical obstruction of the side-attack position to be detected is detected to obtain the maximum vertical side-view angle. The location of the side attack to be detected, the horizontal side view angle range, and the maximum vertical side view angle are determined as the visual information.

11. The method according to claim 9, characterized in that, The step of detecting obstruction at the sampling location based on the cover location information to determine visible information includes: When the specified posture height in the cover position information is the specified crouching posture height, the sampling position is combined with the specified standing posture height to obtain the standing attack position to be detected. Based on the horizontal cover angle range in the cover location information, the horizontal obstruction of the standing attack position to be detected is detected to obtain the horizontal standing visible angle range. Based on the middle horizontal standing view angle within the horizontal standing view angle range, the horizontal obstruction of the standing attack position to be detected is detected to obtain the maximum vertical standing view angle. The target standing attack position, the horizontal standing visible angle range, and the maximum vertical standing visible angle are determined as the visible information.

12. The method according to claim 2 or 3, characterized in that, The process of obtaining passable areas in the virtual scene includes: Obtain map grid data for rendering the virtual scene; Navigation processing is performed based on the map grid data to obtain a navigation grid; The navigation grid is defined as the passable area.

13. An interactive device for virtual objects, comprising: The information acquisition module is used to acquire passable areas in a virtual scene, detect the obstruction situation at each sampling position on the boundary of the passable area corresponding to the passable area, and obtain at least one interactive position information; the interactive position information includes at least one of cover position information and attack position information. The information presentation module is used to present a virtual scene including a first virtual object and a second virtual object; An information loading module is used to load the at least one interactive location information, wherein the cover location information is obtained by detecting the obstruction of the sampling location on the boundary of the passable area in the virtual scene, and the information is determined based on the obstruction information; the attack location information is obtained by detecting the obstruction of the sampling location based on the cover location information, and the information is determined based on the visual information; and the interactive location information refers to the interactive information corresponding to the interactive location in the virtual scene. An information matching module is used to determine, from the at least one interactive location information, target interactive location information that matches the first virtual object; The scene interaction module is used to control the first virtual object to interact with the second virtual object at the corresponding interaction position based on the target interaction position information in the virtual scene.

14. The apparatus according to claim 13, characterized in that, The information acquisition module is also used to detect the obstruction at the sampling location and obtain information about the obstruction. Based on the information about the obstruction, the location information of the bunker is determined; The location information of the shelter is determined as the interaction location information.

15. The apparatus according to claim 14, characterized in that, The information acquisition module is also used to combine the sampling position with the specified posture height to obtain the position of the cover to be detected, wherein the specified posture height includes any one of the specified standing posture height, the specified squatting posture height, and the specified prone posture height; The obstruction of the location of the cover to be detected is detected to obtain the horizontal cover angle range and the maximum vertical cover angle. The horizontal cover angle range is used to determine the horizontal area where the first virtual object can hide. The horizontal area is parallel to the plane where the passable area is located. The maximum vertical cover angle is used to determine the vertical area where the first virtual object can hide. The vertical area is perpendicular to the plane where the passable area is located. The sampling location, the specified posture height, the horizontal cover angle range, and the maximum vertical cover angle are determined as the information of the obstruction.

16. The apparatus according to claim 15, characterized in that, The information acquisition module is also used to detect the horizontal cover ray obstruction within a first specified angle range, with the location of the cover to be detected as the center and at specified interval angles, to obtain the horizontal cover angle range, wherein the horizontal cover ray is parallel to the plane of the passable area. Obtain the midpoint horizontal bunker angle within the range of horizontal bunker angles; Within a second specified angle range, the vertical shield ray obstruction is detected with the location of the shield to be detected as the center, the intermediate horizontal shield angle as the horizontal direction, and the specified interval angles, to obtain the maximum vertical shield angle, wherein the vertical shield ray is perpendicular to the plane of the passable area.

17. The apparatus according to claim 16, characterized in that, The information acquisition module is also used to detect the blocking status of the horizontal shelter rays within the first specified angle range, with the location of the shelter to be detected as the center and at the specified interval angle, so as to obtain the blocking result of the horizontal shelter rays. Based on the blocking results of the horizontal bunker ray, the starting blocking angle corresponding to the horizontal bunker ray that begins to be blocked and the ending blocking angle corresponding to the horizontal bunker ray that is finally blocked are determined. The horizontal bunker angle range is determined based on the starting blocking angle and the ending blocking angle.

18. An interactive device for virtual objects, characterized in that, The interactive devices for the virtual object include: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the interaction method of the virtual object according to any one of claims 1 to 12.

19. A computer-readable storage medium storing executable instructions, characterized in that, The executable instructions, when executed by a processor, implement the interaction method of the virtual object as described in any one of claims 1 to 12.

20. A computer program product comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement the interaction method of the virtual object as described in any one of claims 1 to 12.