Methods, devices, and computer programs for displaying virtual worlds
The method and device for displaying a virtual world address the issue of unwanted information exposure by switching viewing angles, ensuring that hidden virtual objects remain unseen, thus maintaining game balance and user experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-25
- Publication Date
- 2026-04-06
AI Technical Summary
Switching or changing the viewing angle in virtual world applications often reveals information to the user that should not be visible, causing imbalances in application programs and user experience.
Implementing a method and device for displaying a virtual world that includes a display module to switch the viewing angle of a virtual object in response to a viewing angle switching operation, where the visible range differs from the display module, and the display module, and the display module is further used to display a second virtual world screen.
Ensures that the user does not observe virtual objects that were not visible under the first viewing angle, thus preventing the presentation of unwanted information and maintaining game balance and user experience.
Smart Images

Figure 2026510452000001_ABST
Abstract
Description
Technical Field
[0001] This application claims the priority of a Chinese patent application filed on May 29, 2023, with the application number 202310621895.X and the invention title "Method, Device, Equipment, and Storage Medium for Displaying Virtual World", and all of its content is incorporated herein by reference.
[0002] The embodiments of this application relate to the field of computer technology, and particularly to a method, device, equipment, and storage medium for displaying a virtual world.
Background Art
[0003] For an application program that supports a virtual object observing a virtual world using different perspectives, switching or changing the perspective may cause the user to receive additional information that should not be received.
[0004] For example, in a first-person game, user A plays the game using the first-person perspective of a virtual object by default. After selecting the performance of a fire attraction action used by user A to provoke an enemy, the display content of the user interface will switch from the game screen under the first-person perspective to the game screen under the third-person perspective, thereby confirming the fire attraction action performed by the virtual object controlled by oneself. However, virtual objects that are blocked under the first-person perspective and cannot be observed by user A may be observed by user A because they are not blocked under the third-person perspective. As a result, user A has the opportunity to observe virtual objects that cannot be observed under the default first-person perspective, making the game situation more advantageous for user A. This phenomenon has a profound impact on the balance of the application program and the user experience.
[0005] Therefore, how to resolve the adverse effects of switching or changing the viewing angle and avoid presenting users with information they should not receive is a problem that needs to be solved. [Overview of the Initiative] [Means for solving the problem]
[0006] This application provides a method, apparatus, device, and storage medium for displaying a virtual world. The technical solution is as follows:
[0007] A method for displaying a virtual world is provided according to one aspect of the present application, the method being performed by a first client terminal and a second client terminal, and the method is The first client terminal includes the steps of: displaying a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object; responding to a first viewing angle switching operation, switching the first viewing angle of the first virtual object to a second viewing angle, wherein the visible range of the second viewing angle is different from the visible range of the first viewing angle; and displaying a second virtual world screen, wherein the second virtual world screen includes a screen for observing the virtual world using a second viewing angle of the first virtual object, and the virtual objects displayed on the second virtual world screen are a subset of the virtual objects displayed on the first virtual world screen. The second client terminal includes the step of displaying a third virtual world screen, wherein the third virtual world screen includes a screen for observing the virtual world using a third viewing angle of a second virtual object, and the third virtual object located in the target spatial range of the virtual world is displayed on the third virtual world screen and not displayed on the first virtual world screen and the second virtual world screen, Here, the target spatial range is the overlapping range of the visible range of the third viewing angle and the visible range of the second viewing angle, and the target spatial range is the range in which the visible range of the third viewing angle and the visible range of the first viewing angle do not overlap.
[0008] A method for displaying a virtual world is provided according to one aspect of the present application, the method being performed by a first client terminal, and the method is A step of displaying a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object; A step of switching the first viewing angle of the first virtual object to a second viewing angle in response to a first viewing angle switching operation, wherein the visible range of the second viewing angle is different from the visible range of the first viewing angle. The steps include: displaying a second virtual world screen, wherein the second virtual world screen includes a screen for observing the virtual world using a second viewing angle of the first virtual object, and if a third virtual object exists in the difference set range between the visible range of the second viewing angle and the visible range of the first viewing angle, the third virtual object is invisible on the second virtual world screen.
[0009] In accordance with one aspect of the present application, a display device for a virtual world is provided, the device is A display module used to display a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object, A switching module used to switch the first viewing angle of a first virtual object to a second viewing angle in response to a first viewing angle switching operation, wherein the visible viewing range of the second viewing angle is different from the visible viewing range of the first viewing angle, and the switching module includes: The display module is further used to display a second virtual world screen, the second virtual world screen includes a screen for observing the virtual world using the second viewing angle of the first virtual object, and the third virtual object is invisible on the second virtual world screen if it exists in the difference set range between the visible range of the second viewing angle and the visible range of the first viewing angle.
[0010] In another aspect of the present invention, a computer device is provided, the computer device comprising a processor and memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to realize the above-described method of displaying a virtual world.
[0011] In another aspect of the present invention, a computer-readable storage medium is provided, in which a computer program is stored, and the computer program is loaded into a processor and executed to realize the above-described method for displaying a virtual world.
[0012] In another aspect of the present invention, a computer program product is provided, the computer program product stores a computer program, and the computer program is loaded and executed by a processor to realize the above-described method of displaying a virtual world.
[0013] In another aspect of the present invention, a chip is provided, the chip comprising a programmable logic circuit and / or program instructions, and a computer device on which the chip is installed is used to realize the method of displaying the virtual world described above. [Effects of the Invention]
[0014] The beneficial effects of the technical solutions provided by the embodiments of this application include at least the following:
[0015] Supports switching the viewing angle for observing the virtual world. After switching the viewing angle, even if there is a third virtual object in the difference set range between the viewing angle visible range of the second viewing angle and the viewing angle visible range of the first viewing angle, the third virtual object is invisible on the second virtual world screen. This contributes to solving the adverse effects caused by viewing angle switching or viewing angle change and avoiding presenting information that the user should not receive, ensuring that the user will not observe virtual objects that cannot be observed under the first viewing angle with the second viewing angle.
Brief Description of the Drawings
[0016] [Figure 1] Shows a schematic diagram of the display of the virtual world provided by one exemplary embodiment of the present application. [Figure 2] Shows a schematic diagram of the display of the virtual world provided by one exemplary embodiment of the present application. [Figure 3] Shows a structural block diagram of a computer system provided by one exemplary embodiment of the present application. [Figure 4] Shows a flow schematic diagram of the method for displaying the virtual world provided by one exemplary embodiment of the present application. [Figure 5] Shows a flow schematic diagram of the method for displaying the virtual world provided by one exemplary embodiment of the present application. [Figure 6] Shows a schematic diagram of a video camera model provided by one exemplary embodiment of the present application. [Figure 7] Shows a schematic diagram of the type of virtual object provided by one exemplary embodiment of the present application. [Figure 8] Shows a schematic diagram of the type of virtual object provided by one exemplary embodiment of the present application. [Figure 9] Shows a schematic diagram of the display of the virtual world provided by one exemplary embodiment of the present application. [Figure 10] Shows a schematic diagram of the display of the virtual world provided by one exemplary embodiment of the present application. [Figure 11] Shows a schematic diagram of the display of the virtual world provided by one exemplary embodiment of the present application. [Figure 12] FIG. 1 shows a schematic diagram of the display of a virtual world provided by one exemplary embodiment of the present application. [Figure 13] FIG. 1 shows a schematic diagram of the display of a virtual world provided by one exemplary embodiment of the present application. [Figure 14] FIG. 2 shows a flow schematic diagram of a method for displaying a virtual world provided by one exemplary embodiment of the present application. [Figure 15] FIG. 3 shows a schematic diagram of the display of a virtual world provided by one exemplary embodiment of the present application. [Figure 16] FIG. 4 shows a schematic diagram of the display of a virtual world provided by one exemplary embodiment of the present application. [Figure 17] FIG. 5 shows a schematic diagram of the display of a virtual world provided by one exemplary embodiment of the present application. [Figure 18] FIG. 6 shows a schematic structural diagram of a virtual world display device provided by one exemplary embodiment of the present application. [Figure 19] FIG. 7 shows a structural block diagram of a terminal provided by one exemplary embodiment of the present application. [Figure 20] FIG. 8 shows a structural block diagram of a server provided by one exemplary embodiment of the present application.
DETAILED DESCRIPTION OF THE INVENTION
[0017] First, the related technologies related to the embodiments of the present application will be briefly introduced.
[0018] A virtual world is a virtual world displayed or provided when a client terminal of an application program is running on the terminal. This application program includes, but is not limited to, game application programs, extended reality (XR) application programs, social application programs, interactive entertainment application programs, and metaverse application programs. The virtual world may be a simulation environment of the real world, a semi-simulated, semi-fictional environment, or a purely fictional environment. The virtual world may be any one of a 2D virtual world, a 2.5D virtual world, or a 3D virtual world, and the embodiments of this application are not limited to these. The following embodiments will be explained using the example that the virtual world is a 3D virtual world.
[0019] A virtual object refers to an actionable object in a virtual world. Such an actionable object may be a virtual person, a virtual animal, or an animated character, for example, a person, animal, plant, oil barrel, wall, or stone displayed in a 3D virtual scene. Selectively, a virtual object is a 3D model created using skeletal animation techniques. Each virtual object has its own shape and volume in the 3D virtual world and occupies a portion of the space within that world.
[0020] User interface (UI) controls include any visible controls or elements that are visible on the user interface of an application program, such as pictures, input frames, text frames, buttons, and tags. Some of these UI controls respond to user interaction; for example, the user may trigger a view-angle switch and a corresponding view-angle switch control, thereby changing the view used to observe the virtual world. Exemplary, UI controls further include controls that are not visible on the user interface of an application program but can respond to user interaction. For example, a location on the user interface may change the view used to observe the virtual world when the user clicks on that location. The UI controls relating to embodiments of the present invention include, but are not limited to, at least one of performance controls, view-angle switch controls, and position swap controls.
[0021] The method provided herein can be applied to application programs that support virtual worlds. Exemplary, an application program that supports virtual worlds is one in which a user can control the movement of virtual objects within a virtual world. Exemplary examples include the methods provided in this application, which can be applied to any type of program from among virtual reality (VR) application programs, augmented reality (AR) application programs, social application programs, interactive entertainment application programs, metaverse application programs, 3D map programs, VR games, AR games, shooting games (STG), first-person shooting games (FPS), third-person shooting games (TPS), fighting games (FTG), action games (ACT), multiplayer online battle arena (MOBA) games, real-time strategy games (RTS), massively multiplayer online games (MMOG), and arcade games. The following embodiments will be explained using game applications as an example.
[0022] In some embodiments, the application program may be a program such as a shooting game, racing game, role-playing game, adventure game, sandbox game, or battle arena game. The client terminal can support at least one of the following operating systems: Windows, Apple, Android, iOS, and Linux, and client terminals with different operating systems can be interconnected. In some embodiments, the client terminal is a program applied on a mobile terminal having a touch panel.
[0023] In some embodiments, the client terminal is an application program developed based on a 3D engine, for example, the Unity engine.
[0024] When a user controls virtual objects to be active in the virtual world, they may switch the viewpoint used to observe the virtual world, for example, switching from a first-person viewpoint to a third-person viewpoint, or changing the viewpoint used to observe the virtual world, for example, changing from a relatively small viewing range to a relatively large viewing range. A viewing range refers to a single range that a user can observe under a certain viewing angle. A viewing range under a certain viewing angle can be characterized by at least one of the following: range size or displayed content.
[0025] As shown in Figure 1, user A controls the virtual object 101 to operate in the virtual world using a first-person perspective, and is separated by a virtual wall 102. No other virtual objects are displayed on the user interface besides the virtual object 101.
[0026] As shown in Figure 2, user A switches from a first-person perspective to a third-person perspective, and at this time, the user interface displays that a virtual object 103 exists on the back side of wall 102. In other words, after switching perspectives, user A can see objects, or virtual objects, that were not visible under the first-person perspective using the third-person perspective.
[0027] To make it clear, this phenomenon has a serious impact on the balance of application programs such as the aforementioned games, VR, AR, and interactive entertainment, causing users to receive additional information that they should not receive through switching or changing their viewpoint, thus severely affecting their user experience.
[0028] Based on the above problems, this invention proposes a method for displaying a virtual world, which solves the undesirable effects of switching or changing the viewing angle and contributes to avoiding the presentation of information to the user that the user should not receive.
[0029] Figure 3 shows a structural block diagram of a computer system provided by one exemplary embodiment of the present application. The computer system 300 includes at least one of a first client terminal 310, a server 320, and a second client terminal 330.
[0030] The first client terminal 310 has application programs installed and running that support the virtual world, such as game application programs, XR application programs, virtual social application programs, interactive entertainment application programs, and metaverse application programs. The first client terminal 310 is the terminal used by the first user.
[0031] In some embodiments, the first client terminal 310 may be considered as the first user using the first client terminal 310.
[0032] The first client terminal 310 is connected to the server 320 via a wireless network or a wired network.
[0033] Server 320 includes one of the following: a single server, multiple servers, a cloud computing platform, and a virtualization center. Exemplary, Server 320 includes a processor 321 and memory 322, and memory 322 includes a receiving module 3221, a display module 3222, and a control module 3223. Server 320 is used to provide background services for application programs that support a virtual world. Selectively, Server 320 handles the primary computing tasks, while the first client terminal 310 and the second client terminal 330 handle secondary computing tasks; or Server 320 handles secondary computing tasks, while the first client terminal 310 and the second client terminal 330 handle primary computing tasks; or the three parties—Server 320, the first client terminal 310, and the second client terminal 330—collaborate on computing using a distributed computing architecture.
[0034] The second client terminal 330 has an application program installed and running that supports the virtual world. The second client terminal 330 is the terminal used by the second user.
[0035] In some embodiments, the second client terminal 330 may be considered a second user using the second client terminal 330.
[0036] Selectively, only the first user exists in the current field of view, or only the second user exists in the current field of view, or only the first user exists in the current game, or only the second user exists in the current game, or only the first user exists in the current battlefield, or only the second user exists in the current battlefield.
[0037] Selectively, the first and second users may be in the same field of view or not, or in the same game or not, or on the same battlefield or not. Selectively, the first and second users may belong to a common team or organization, be close friends, or have temporary communication rights.
[0038] Selectively, the application programs installed on the first client terminal 310 and the second client terminal 330 are the same, or the application programs installed on the two client terminals are the same type of application program for different control system platforms. The first client terminal 310 may comprehensively refer to one of a plurality of client terminals, and the second client terminal 330 may comprehensively refer to one of a plurality of client terminals; however, this embodiment will be described using only the first client terminal 310 and the second client terminal 330 as examples. The device types of the first client terminal 310 and the second client terminal 330 may be the same or different, and the device types include, but are not limited to, at least one of the following: smartphones, tablet PCs, e-readers, laptop computers, desktop computers, televisions, AR terminals, VR terminals, Mediated Reality (MR) terminals, XR terminals, Baffle Reality (BR) terminals, Cinematic Reality (CR) terminals, and Deceive Reality (DR) terminals. The following embodiments will be described using the example that the terminals include smartphones.
[0039] As those skilled in the art will see, the number of client terminals or users may be greater or less. For example, there may be only one client terminal or user, or there may be tens, hundreds, or more. The embodiments of this application are not limited to the number of client terminals or users or the type of equipment.
[0040] It is important to explain that the information (including, but not limited to, user device information and user personal information), data (including, but not limited to, data used for analysis, data for storage, and data for presentation), and signals related to this application are all authorized by the user or fully authorized by each party, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, all information related to this application is obtained with full authorization, and the client terminal and server cache such information only during the program operation period, and do not permanently store or reuse related data of such information.
[0041] Figure 4 shows a schematic flowchart of a method for displaying a virtual world provided by one exemplary embodiment of the present invention. This embodiment is described as being performed by a first client terminal 310 and / or a server 320 and / or a second client terminal 330 shown in Figure 3. The method includes at least some of the following steps.
[0042] Step 410: Display the first virtual world screen, which includes a screen for observing the virtual world using the first viewpoint of the first virtual object.
[0043] A user interface is displayed on the client terminal. The user interface is the interface of the application program displayed on the client terminal. Exemplaryly, the user interface includes a first virtual world screen and UI controls located on the first virtual world screen.
[0044] The first virtual object is a virtual object controlled by the first user. The first virtual object may be a virtual person, virtual animal, animated person, or simulated person, for example, a person, animal, plant, oil barrel, wall, or stone displayed in a three-dimensional virtual world.
[0045] The first virtual object can act in the virtual world and may include, but is not limited to, adjusting its body posture, crawling, walking, running, cycling, jumping, driving, shooting, throwing, performing, attacking other virtual objects, attacking other virtual objects using virtual tools, and accumulating power using virtual tools to attack other virtual objects.
[0046] Step 430: In response to the first viewing angle switching operation, switch the first viewing angle of the first virtual object to the second viewing angle.
[0047] The visual angle is the angle from which a virtual world is observed. The visual range refers to the range that a user can observe under a given visual angle. For example, the visual range under a given visual angle can be characterized by at least one of the following: range size and displayed content.
[0048] The visible range of the second viewing angle differs from that of the first viewing angle. Selectively, the difference in the visible range may mean that the size of the visible range differs, and that all or part of the displayed content within the visible range differs.
[0049] Switching perspectives refers to changing the perspective from which the virtual world is observed. Selectable perspectives for observing the virtual world include at least one of the first or second perspectives.
[0050] For example, the first viewing angle includes the first-person viewing angle, and the second viewing angle includes the third-person viewing angle. Alternatively, the visible range of the first viewing angle is a subset of the visible range of the second viewing angle. For instance, the visible range of the first viewing angle includes display content A and display content B, and the visible range of the second viewing angle includes display content A, display content B, display content C, and display content D. Alternatively, the visible range of the second viewing angle includes the visible range of the first viewing angle. For example, the visible range of the second viewing angle is a circular area with a radius of 10 centimeters centered on a virtual object, and the visible range of the first viewing angle is a circular area with a radius of 7 centimeters centered on the same virtual object.
[0051] The first viewpoint switching operation is used to switch the first viewpoint of a first virtual object to a second viewpoint. Exemplarily, the first viewpoint switching operation includes at least one of the following: touch operation, gesture operation, keying operation, click operation, swipe operation, and drag operation. Here, click operation includes, but is not limited to, single click and double click, and press operation includes, but is not limited to, short press and long press.
[0052] The first viewpoint of the first virtual object is switched to the second viewpoint; in other words, the viewpoint from which the first user observes the virtual world switches from the first viewpoint of the first virtual object to the second viewpoint.
[0053] Step 450: Display the second virtual world screen, which includes a screen for observing the virtual world using the second viewing angle of the first virtual object, and if the third virtual object exists in the difference set range between the visible range of the second viewing angle and the visible range of the first viewing angle, the third virtual object is invisible on the second virtual world screen.
[0054] In response to a first viewing angle switching operation, a user interface is displayed, which includes a second virtual world screen and UI controls located on the second virtual world screen.
[0055] The third virtual object is a virtual object controlled by the second user. The third virtual object may be a virtual person, virtual animal, animated person, or simulated person, for example, a person, animal, plant, oil barrel, wall, or stone displayed in a three-dimensional virtual world.
[0056] The third virtual object can act in the virtual world and may include, but is not limited to, adjusting body posture, crawling, walking, running, cycling, jumping, driving, shooting, throwing, performing, attacking other virtual objects, attacking other virtual objects using virtual tools, and accumulating power using virtual tools to attack other virtual objects.
[0057] Because the visible range of the second viewing angle differs from that of the first viewing angle, there is a difference range between the visible range of the second viewing angle and that of the first viewing angle. Specifically, this difference range refers to the range formed by the difference between the visible range of the second viewing angle and that of the first viewing angle. For example, the visible range of the first viewing angle includes display content A and display content B, and the visible range of the second viewing angle includes display content A, display content B, display content C, and display content D. In that case, the difference range between the visible range of the second viewing angle and that of the first viewing angle refers to the range to which display content C and display content D correspond. Furthermore, for example, the visible range of the second viewing angle is a circular area with a radius of 10 centimeters centered on one virtual item, and the visible range of the first viewing angle is a circular area with a radius of 7 centimeters centered on the same virtual item. In this case, the difference set range between the visible range of the second viewing angle and the visible range of the first viewing angle refers to the range formed by the difference between the two circular ranges of different sizes. If a third virtual object exists in this difference set range, the third virtual object is invisible in the second virtual world screen.
[0058] In other words, a third virtual object exists in the difference range between the visible range of the second viewing angle and the visible range of the first viewing angle, but it cannot be observed on the second virtual world screen; or a third virtual object exists in the difference range between the visible range of the second viewing angle and the visible range of the first viewing angle, but it is not displayed on the second virtual world screen; or a third virtual object exists in the difference range between the visible range of the second viewing angle and the visible range of the first viewing angle, but it is not visible to the first virtual object or the first user under the second viewing angle of the first virtual object.
[0059] It is important to explain that the embodiments of steps 410, 430, and 450 described above are descriptions of the screen displayed by the first client terminal. Based on these embodiments, the second client terminal then displays a third virtual world screen to the second client terminal, which includes a screen for observing the virtual world using the third viewing angle of the second virtual object. Here, the third virtual object located in the target spatial range in the virtual world is displayed on the third virtual world screen and not displayed on the first virtual world screen or the second virtual world screen. Here, the target spatial range is the overlapping range of the viewing angle visible range of the third viewing angle and the viewing angle visible range of the second viewing angle, and the range where the viewing angle visible range of the third viewing angle and the viewing angle visible range of the first viewing angle do not overlap.
[0060] As described above, the method provided by this embodiment supports switching the viewing angle for observing the virtual world. Even if a third virtual object exists in the difference range between the visible range of the second viewing angle and the visible range of the first viewing angle after switching the viewing angle, the third virtual object remains invisible on the second virtual world screen. This resolves the unfavorable effects of switching or changing the viewing angle, helps avoid presenting the user with information they should not receive, and ensures that the user does not observe virtual objects that are not visible under the first viewing angle through the second viewing angle.
[0061] In some embodiments, step 410 may be implemented as step 510, step 430 as step 520, and step 450 as steps 530, 540, 550, 560, and 570. As shown in Figure 5, it illustrates a schematic flowchart of a method for displaying a virtual world provided by one exemplary embodiment of the present application. This embodiment is described as being performed by a first client terminal 310 and / or a server 320 and / or a second client terminal 330 shown in Figure 3. The method includes at least some of the steps described below.
[0062] Step 510: Display the first virtual world screen, which includes a screen for observing the virtual world using the first viewpoint of the first virtual object.
[0063] A user interface is displayed on the client terminal. The user interface is the interface of the application program displayed on the client terminal. Exemplaryly, the user interface includes a first virtual world screen and UI controls located on the first virtual world screen.
[0064] The first virtual object is a virtual object controlled by the first user.
[0065] In the embodiments of the present application, virtual objects may be virtual people, virtual animals, animated people, and simulated people, for example, people, animals, plants, oil barrels, walls, and stones displayed in a three-dimensional virtual world. Different virtual objects may be the same or have different forms, and different virtual objects may be the same or have different appearances.
[0066] A virtual object can be active in the virtual world and may perform at least one of the following actions: adjusting body posture, crawling, walking, running, cycling, jumping, driving, shooting, throwing, performing, attacking other virtual objects, attacking other virtual objects using virtual tools, and accumulating power using virtual tools to attack other virtual objects.
[0067] Step 520: In response to the first viewpoint switching operation, switch the first viewpoint of the first virtual object to the second viewpoint.
[0068] The visible range of the second viewing angle differs from that of the first viewing angle. Selectively, the difference in the visible range may mean that the size of the visible range differs, and that all or part of the displayed content within the visible range differs.
[0069] In the embodiments of this application, the viewing angle is the angle at which the virtual world is observed by the video camera model. Viewing angle switching refers to switching the viewing angle used to observe the virtual world. In some embodiments, the video camera model may be abbreviated as video camera.
[0070] The first viewpoint of the first virtual object is bound to the first video camera; that is, the first viewpoint of the first virtual object is the viewpoint when the virtual world is observed by the first video camera. The second viewpoint of the first virtual object is bound to the second video camera; that is, the second viewpoint of the first virtual object is the viewpoint when the virtual world is observed by the second video camera. Here, the first video camera may be referred to as the first video camera model, and the second video camera may be referred to as the second video camera model.
[0071] The following describes the viewing angle using a virtual object as an example. Selectively, the video camera model automatically follows the virtual object in the virtual world; that is, when the position of the virtual object in the virtual world changes, the video camera model simultaneously changes to follow the position of the virtual object in the virtual world, and the video camera model remains within a predetermined distance range of the virtual object throughout the virtual world. Selectively, during the automatic tracking process, the relative positions of the camera model and the virtual object do not change.
[0072] A video camera model refers to a three-dimensional model positioned around a virtual object in a virtual world. When using a first-person perspective, the video camera model is positioned near the head of the virtual object, or at the head of the virtual object, or at the eye area of the virtual object.
[0073] In some embodiments, when using a first-person perspective, the observation direction of the video camera model is the same as the observation direction of the eye area.
[0074] When using a third-person perspective, the video camera model may be positioned behind the virtual object and bound to the virtual object, or it may be positioned at any predetermined distance from the virtual object, allowing the video camera model to observe the virtual object in the virtual world from different angles. For example, the video camera model may be positioned to the left of the virtual object and at a predetermined distance from it; further, for example, the video camera model may be positioned to the right of the virtual object and at a predetermined distance from it; further, for example, the video camera may be positioned to the left front of the virtual object and at a predetermined distance from it; further, for example, the video camera may be positioned to the right rear of the virtual object and at a predetermined distance from it. Selectively, when the third-person perspective is an over-the-shoulder view of the virtual object, the video camera model may be positioned behind the virtual object and at a predetermined distance from it, for example, the video camera model may be positioned at the head and shoulders of a virtual person. Selectively, when the third-person perspective is the overhead perspective of the virtual object, the video camera model may be positioned above the head of the virtual object and at a predetermined distance from the virtual object, for example, the video camera model may be positioned to the upper left or upper right of the virtual person. Here, the overhead perspective is the perspective from which the virtual world is observed when viewed from above in the air.
[0075] In some embodiments, when using a third-person perspective, the video camera model is positioned around the virtual object, and the virtual object is maintained in the center of the video camera model's visible field of view.
[0076] In some embodiments, the viewing direction of a video camera model bound to a third-person perspective coincides with the viewing direction of a video camera model bound to a first-person perspective.
[0077] Selectively, the video camera model is not actually displayed in the virtual world; that is, the video camera model is not displayed in the virtual world shown in the user interface.
[0078] Taking as an example the position of the video camera model at an arbitrary location a predetermined distance from a virtual object, selectively, one viewing angle corresponds to one video camera model, or one viewing angle is bound to one video camera model. The video camera model can rotate around the virtual object as a center of rotation, for example, by rotating the video camera model around any one point of the virtual object as the center of rotation, so that the video camera model not only rotates angularly during the rotation process but also has an offset in displacement, while maintaining that the distance between the video camera model and the center of rotation does not change when rotating, that is, by rotating the video camera model on a spherical surface with the center of rotation as the center of the sphere, where any one point of the virtual object may be the head, torso, or any point around the virtual object, and the embodiments of the present application are not limited thereto. Selectively, when the video camera model observes the virtual world, the central orientation of the viewing angle of the video camera model is the direction in which the point on the sphere where the video camera model is located points to the center of the sphere.
[0079] Selectively, the video camera model can also observe the virtual object from different directions at pre-set angles.
[0080] Illustratively, referring to Figure 6, a point on the virtual object 11 is determined as the rotation center 12, and the video camera model can rotate around the rotation center 12. When the video camera model rotates around the rotation center 12, the viewing angle direction of the video camera model also changes along with the rotation of the video camera model. Selectively, the first viewing angle of the virtual object 11 is bound to the first video camera, and the first video camera is assigned an initial position, for example, the position of the brain of the virtual object, i.e., position 13. Illustratively, a viewing angle switching operation is performed to switch the first viewing angle of the virtual object 11 to the second viewing angle, the second viewing angle is bound to the second video camera, and the second video camera is also assigned an initial position, for example, the initial position is position 14. Therefore, after the viewing angle switching operation is performed, the video camera model observing the virtual world switches from the first video camera to the second video camera, and the position of the video camera model observing the virtual world also switches accordingly from position 13 to position 14.
[0081] In some embodiments, the first viewpoint of the first virtual object includes the first-person viewpoint of the first virtual object, and the second viewpoint of the first virtual object includes the third-person viewpoint of the first virtual object.
[0082] In some embodiments, the visible range at the first viewing angle of the first virtual object is a subset of the visible range at the second viewing angle of the first virtual object. For example, the visible range at the first viewing angle of the first virtual object includes display content A and display content B, and the visible range at the second viewing angle of the first virtual object includes display content A, display content B, display content C, and display content D. Alternatively, the visible range at the second viewing angle of the first virtual object includes the visible range at the first viewing angle of the first virtual object. For example, the visible range at the second viewing angle of the first virtual object is a circular area with a radius of 10 centimeters centered on a virtual item, and the visible range at the first viewing angle of the first virtual object is a circular area with a radius of 7 centimeters centered on the virtual item.
[0083] The first viewpoint switching operation is used to switch the first viewpoint of a first virtual object to a second viewpoint. Exemplarily, the first viewpoint switching operation includes at least one of the following: touch operation, gesture operation, keying operation, click operation, swipe operation, drag operation, and press operation. Here, click operation includes, but is not limited to, single click and double click, and press operation includes, but is not limited to, short press and long press.
[0084] The first viewpoint of the first virtual object is switched to the second viewpoint; in other words, the viewpoint from which the first user observes the virtual world switches from the first viewpoint of the first virtual object to the second viewpoint.
[0085] In some embodiments, the first user performs a first viewpoint switching operation by performing at least one of the following on a UI control: touch operation, keying operation, click operation, swipe operation, and press operation, thereby switching the first viewpoint of the first virtual object to the second viewpoint.
[0086] In some embodiments, the first user performs a first viewpoint switching operation by performing a keying operation on the keyboard and at least one of the following operations on the mouse: a click operation and a swipe operation, thereby switching the first viewpoint of the first virtual object to the second viewpoint.
[0087] In some embodiments, the first user performs a gesture operation to switch the first viewpoint from the first viewpoint of the first virtual object to the second viewpoint.
[0088] In some embodiments, the first user performs a first viewing angle switching operation by performing at least one of the following operations on the user interface: drag, swipe, click, and press, thereby switching the first viewing angle of the first virtual object to the second viewing angle.
[0089] In some embodiments, the UI control is a viewing angle switching control, dedicated to viewing angle switching operations, for example, the UI control is used to switch from a first viewing angle to a second viewing angle, and / or to switch from a second viewing angle to a first viewing angle.
[0090] In some embodiments, the UI control is a functional control related to the view switching. For example, the UI control itself is used for performance or presentation actions, and the view switching is automatically performed after the user interacts with the UI control.
[0091] For example, a UI control is a performance control, and after the user performs a touch operation on the UI control, an action list is displayed in the user interface, containing one or more user-selectable performance actions, such as dancing, clapping, making a heart shape, bowing, and attracting fire. The action list presents the performance actions in at least one form, such as text, patterns, and animations. The first user performs a swipe and touch operation on the action list and selects the performance action "dance." The viewpoint from which the first user observes the virtual world automatically switches from the first viewpoint to the second viewpoint, and under the second viewpoint, the first user can observe the virtual object "dancing." Selectively, after the "dance" ends, the viewpoint from which the first user observes the virtual world automatically switches from the second viewpoint to the first viewpoint. Here, the first viewpoint is the default viewpoint in the game; for example, the viewpoint from which the first user observes the virtual world when a virtual object is in combat, running, crawling, or stationary state is the default first viewpoint. The second viewpoint is a selectable viewpoint, or a non-default viewpoint, in the game; for example, the viewpoint from which the first user observes the virtual world when a virtual object is in performance state is the second viewpoint.
[0092] Step 530: Based on the first video camera, perform ray detection on virtual objects within the visible range of the first viewing angle and determine that the virtual object is either of the visible or invisible type.
[0093] Ray detection is a detection method that projects a ray of light from the center point of a video camera to a virtual object, and is used to detect and determine whether the virtual object is visible or invisible. In this embodiment, ray detection is a detection method that projects a ray of light from the center point of a first video camera to a virtual object within the visible range of a first viewing angle.
[0094] In some embodiments, a ray of light is emitted from the center point of a first video camera to a virtual object within the visible range of a first viewing angle. Virtual objects corresponding to collision body models where the ray of light intersects are determined as visible types, and virtual objects corresponding to collision body models where the ray of light does not intersect are determined as invisible types. Here, the virtual object is located inside the collision body model.
[0095] In some embodiments, virtual objects corresponding to collision body models with ray lines and intersections are marked as visible, and virtual objects corresponding to collision body models without ray lines and intersections are marked as invisible. Alternatively, marking is performed on virtual objects corresponding to collision body models with ray lines and intersections, but not on virtual objects corresponding to collision body models without ray lines and intersections.
[0096] The collision model is invisible in the virtual world. Each virtual object has a one-to-one corresponding collision model. The collision model is larger than the virtual object itself, the collision model is located on the outer periphery of the virtual object, and the virtual object is located inside the collision model. For example, the collision model is a three-dimensional cylinder, the three-dimensional cylinder is located on the outer periphery of the virtual object, and the virtual object is located inside the three-dimensional cylindrical model.
[0097] Because the collision object model is larger than the virtual object itself, performing ray detection on the collision object model has higher accuracy and is advantageous in reducing the probability of false positives compared to performing ray detection on the virtual object itself.
[0098] In some embodiments, the rays may be obstructed by virtual objects or objects in the virtual scene, meaning that the rays cannot penetrate the virtual objects or objects in the virtual scene. The existence of an intersection between the collision object model and the rays means that the rays are not obstructed and are directly illuminating the collision object model. For example, as shown in Figure 7(a), rays emitted from the center point of the video camera 701 are not obstructed and are directly illuminating the collision object model 702, and a virtual object 703 exists inside the collision object model 702, and the collision object model 702 is the outer frame structure of the virtual object 703, so the virtual object 703 is determined to be of the visible type. In contrast, the absence of intersections between the collision object model and the ray of light means that the ray of light is blocked and does not directly illuminate the collision object model. For example, as shown in Figure 7(b), the ray of light emitted from the center point of the video camera 701 is blocked by the virtual object 704 and does not directly illuminate the collision object model 705. A virtual object 706 exists inside the collision object model 705, and the collision object model 705 is the outer frame structure of the virtual object 706. In this case, the virtual object 706 is determined to be of the invisible type.
[0099] In some embodiments, the rays may be considered not to be obstructed by virtual objects or objects in the virtual scene, that is, to be able to penetrate virtual objects or objects in the virtual scene. The existence of an intersection between the collision body model and the rays means that there are no other virtual objects or objects on the portion of the rays between the starting point of the rays and the collision body model. For example, as shown in Figure 8(a), a ray is emitted from the center point of the video camera 701, and there are no other virtual objects or objects on the portion of the rays between the center point of the video camera 701 and the collision body model 702, and the virtual object 703 exists inside the collision body model 702, and the collision body model 702 is the outer frame structure of the virtual object 703, in which case the virtual object 703 is determined to be of the visible type. In contrast, the absence of intersections between the collision object model and the ray of light means that other virtual objects or objects exist on the ray portion between the starting point of the ray of light and the collision object model. For example, as shown in Figure 8(b), a ray of light is emitted from the center point of the video camera 701, a virtual object 704 exists on the ray portion between the center point of the video camera 701 and the collision object model 705, a virtual object 706 exists inside the collision object model 705, and the collision object model 705 is the outer frame structure of the virtual object 706. In this case, the virtual object 706 is determined to be of the invisible type.
[0100] As can be understood, the video camera 701, collision model 702, and collision model 705 in Figures 7 and 8 are actually invisible; that is, the video camera model and the collision model around the perimeter of the virtual object are not displayed on the user interface.
[0101] Step 540: Determine the virtual object located within the visible field of view of the second viewing angle based on the second video camera.
[0102] A second video camera observes the virtual world, and this second video camera is bound to the second viewing angle of the first virtual object. Based on the second video camera, it is determined whether or not a virtual object exists within the visible range of the second viewing angle. If a virtual object exists within the visible range of the second viewing angle, the number, orientation, position, and type of virtual objects within the visible range of the second viewing angle are further determined. Here, the type of virtual object includes visible types and / or invisible types.
[0103] Step 550: Determine that the virtual object located within the visible range of the second viewing angle and belonging to the invisible type is the third virtual object.
[0104] Based on the second video camera, virtual objects within the visible range of the second viewing angle can be determined, and virtual objects determined as invisible are designated as the third virtual object. In other words, the third virtual object is a virtual object belonging to the invisible type within the visible range of the second viewing angle.
[0105] In some embodiments, a virtual object located within the visible range of the second viewing angle and belonging to the visible type is determined as the fourth virtual object. In other words, the fourth virtual object is a virtual object belonging to the visible type located within the visible range of the second viewing angle.
[0106] Here, the visible type and the invisible type are determined in step 530 based on the visible range of the first viewing angle.
[0107] Step 560: If an invisible third virtual object exists within the visible range of the second viewing angle, the third virtual object within the visible range of the second viewing angle is not rendered, and the second virtual world screen is obtained.
[0108] Rendering refers to the process of generating a two-dimensional image by calculating and combining elements such as models, light sources, materials, textures, and cameras in a three-dimensional virtual world. In this embodiment, rendering can be used to obtain virtual scenes within the visible range of different viewing angles.
[0109] When rendering the virtual scene within the visible range of the second viewing angle, if there is an invisible third virtual object within the visible range of the second viewing angle, the third virtual object within the visible range of the second viewing angle is not rendered, and the second virtual world screen is obtained. This step can also be understood as obscuring the third virtual object within the visible range of the second viewing angle, thereby preventing the third virtual object from being displayed in the second virtual world screen.
[0110] In some embodiments, if there are further visible fourth virtual objects within the visible range of the second viewing angle, the fourth virtual objects belonging to the visible type within the visible range of the second viewing angle are rendered. In other words, when rendering the virtual scene within the visible range of the second viewing angle, if there are further visible fourth virtual objects within the visible range of the second viewing angle, then the fourth virtual objects within the visible range of the second viewing angle are rendered to obtain the second virtual world screen.
[0111] In some embodiments, not only are there invisible third virtual objects within the visible range of the second viewing angle, but there are also visible fourth virtual objects. In this case, when rendering the virtual scene within the visible range of the second viewing angle, the third virtual objects within the visible range of the second viewing angle are not rendered, but the fourth virtual objects within the visible range of the second viewing angle are rendered to obtain the second virtual world screen.
[0112] Step 570: Display the second virtual world screen.
[0113] The second virtual world screen includes a screen for observing the virtual world using the second viewpoint of the first virtual object.
[0114] In some embodiments, the second virtual world screen displays a visible fourth virtual object and / or does not display an invisible third virtual object.
[0115] In some embodiments, steps 530 to 570 are performed in real time. That is, after performing the first viewing angle switching operation, step 530 is repeated, i.e., in real time, radiation detection is performed on virtual objects within the visible range of the first viewing angle based on the first video camera, determining whether the virtual objects are of the visible type and / or invisible type, thereby dynamically executing steps 540 to 570 in real time, ensuring that the second virtual world screen is updated in real time and that virtual objects within the visible range of the first viewing angle and the types of virtual objects can be fed back in real time.
[0116] Step 580: In response to the expiration time of the second viewpoint switching operation or the first viewpoint switching operation, switch the second viewpoint of the first virtual object to the first viewpoint.
[0117] The second viewpoint switching operation is used to switch the second viewpoint of the first virtual object to the first viewpoint. Exemplarily, the second viewpoint switching operation includes at least one of the following: touch operation, gesture operation, keying operation, click operation, swipe operation, drag operation, and press operation. Here, click operation includes, but is not limited to, single click and double click, and press operation includes, but is not limited to, short press and long press.
[0118] The second viewpoint of the first virtual object is switched to the first viewpoint; in other words, the viewpoint from which the first user observes the virtual world switches from the second viewpoint of the first virtual object to the first viewpoint.
[0119] In some embodiments, the first user performs a second viewpoint switching operation by performing at least one of the following on a UI control: touch operation, keying operation, click operation, swipe operation, and press operation, thereby switching the second viewpoint of the first virtual object to the first viewpoint.
[0120] In some embodiments, the first user performs a second viewpoint switching operation by performing a keying operation on the keyboard, a click operation on the mouse, and a swipe operation, etc., thereby switching the second viewpoint of the first virtual object to the first viewpoint.
[0121] In some embodiments, the first user performs a gesture operation to switch the second viewpoint, thereby switching the second viewpoint of the first virtual object to the first viewpoint.
[0122] In some embodiments, the first user performs a second viewpoint switching operation by performing at least one of the following operations on the user interface: drag, swipe, click, and press, thereby switching the second viewpoint of the first virtual object to the first viewpoint.
[0123] In some embodiments, the first viewing angle switching operation has an expiration time; that is, when the first switching operation reaches a predetermined length of time, the first viewing angle switching operation expires and the view switches from the second viewing angle to the first viewing angle. Selectively, the expiration time of the first viewing angle switching operation is predetermined, determined by the first user, or reaches immediately if an expiration event is met. Selectively, the expiration event includes, but is not limited to, at least one of the following: a change in the state of the first virtual object, a change in the action of the first virtual object, the first virtual object being attacked, a change in the position of the first virtual object, and the first client terminal exiting the application program.
[0124] For example, after performing a first view switching operation, the first view of the first virtual object switches to the second view, and the pre-set expiration time for the first view switching operation is 10 seconds. However, if the first virtual object is attacked while the first view switching operation is being performed for 5 seconds, the expiration time for the first view switching operation changes to 5 seconds, meaning that when the first virtual object is attacked, the second view of the first virtual object immediately switches back to the first view.
[0125] Step 590: Stop performing ray detection on virtual objects within the visible field of view of the first viewing angle based on the first video camera.
[0126] When switching the second viewing angle of the first virtual object to the first viewing angle, the system stops performing ray detection on virtual objects within the visible range of the first viewing angle based on the first video camera.
[0127] In other words, within the expiration time of the first viewing angle switching operation, line-of-sight detection is not performed on virtual objects within the visible range of the first viewing angle based on the first video camera.
[0128] As described above, the method provided by this embodiment supports switching the viewpoint for observing the virtual world. After switching the viewpoint, even if a visible third virtual object exists within the visible range of the second viewpoint, the third virtual object remains invisible on the second virtual world screen. This resolves the undesirable effects of switching or changing the viewpoint, avoids presenting the user with information they should not receive, and ensures that the user does not observe virtual objects that are not visible under the first viewpoint through the second viewpoint.
[0129] When features related to switching perspectives, such as performance or presentation actions, are introduced in games, it is possible to prevent users from "cheating" by using such features, and to prevent users from observing virtual objects or objects that they should not be observing by intentionally switching perspectives, thereby preventing impacts on the game's balance and user experience.
[0130] Next, step 530, which "performs ray detection on virtual objects within the visible range of the first viewing angle based on the first video camera and determines whether the virtual objects are of the visible type and / or the invisible type," is described further.
[0131] In some embodiments, considering the volume of the virtual object, the accuracy of radiation detection, and the ease of use, several keypoints are placed on the virtual object, and radiation detection is performed on the keypoints of the virtual object within the visible range of a first viewing angle based on a first video camera, thereby determining whether the virtual object is of the visible type and / or the invisible type.
[0132] In some embodiments, a virtual object includes m keypoints. The m keypoints include at least two of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, abdomen keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and waist keypoint. m is a positive integer greater than or equal to 2.
[0133] In some embodiments, ray detection is performed on m keypoints of a virtual object within the visible range of a first viewing angle based on a first video camera, thereby determining whether the virtual object is of a visible type and / or an invisible type.
[0134] In some embodiments, a ray of light is emitted from the center of a first video camera to m keypoints. A virtual object corresponding to a collision model in which at least one of the m keypoints intersects with the ray of light is determined to be of the visible type, and a virtual object corresponding to a collision model in which none of the m keypoints intersect with the ray of light is determined to be of the invisible type.
[0135] In some embodiments, n keypoints are selected at m keypoints based on at least one of the following: system performance, orientation of virtual objects, morphology of virtual objects, type of virtual scene, and the number of virtual objects within the visible range of a first viewing angle, where n is a positive integer less than or equal to m.
[0136] Selectively, system performance is characterized using at least one performance parameter, including central processing unit (CPU) performance, graphics processing unit (GPU) performance, processing speed, memory speed, memory capacity, operating memory, and battery temperature.
[0137] In some embodiments, when system performance is greater than or equal to a first threshold, n is equal to m, i.e., radiation detection is performed on m keypoints of virtual objects within the visible range of a first viewing angle based on the first video camera; and when system performance is less than the first threshold, n is less than m, i.e., radiation detection is performed on n keypoints of virtual objects within the visible range of a first viewing angle based on the first video camera. Here, the first threshold is a preset value, determined by the first user, or adjusted according to actual technical requirements.
[0138] Exemplary, m keypoints include at least two of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, abdominal keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and lumbar keypoint. If the system performance is below a first threshold, n keypoints are selected from the m keypoints, and the n keypoints include at least one of the following: head keypoint, left hand keypoint, right hand keypoint, left foot keypoint, and right foot keypoint.
[0139] For example, when a virtual object is in an upright position, if you select n keypoints from m keypoints, the n keypoints will include at least one of the following: head keypoint, left hand keypoint, right hand keypoint, left foot keypoint, and right foot keypoint. When a virtual object is in a prone position, if you select n keypoints from m keypoints, the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left leg keypoint, right leg keypoint, and waist keypoint. When a virtual object is in a supine position, if you select n keypoints from m keypoints, the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left leg keypoint, right leg keypoint, and abdominal keypoint. When a virtual object is in a crouching position, if you select n keypoints from m keypoints, the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left leg keypoint, right leg keypoint, and waist keypoint.
[0140] For example, when the form of the virtual object is human, n is equal to m. When the form of the virtual object is animal, select n keypoints from m keypoints, such that the n keypoints include at least one of the following: head keypoint, abdominal keypoint, lumbar keypoint, left leg keypoint, and right leg keypoint.
[0141] For example, if the type of virtual scene is a land scene, and you select n keypoints from m keypoints, then the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, abdomen keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and waist keypoint. If the type of virtual scene is an ocean scene, and you select n keypoints from m keypoints, then the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, and waist keypoint. If the type of virtual scene is a sky scene, and you select n keypoints from m keypoints, then the n keypoints will include at least one of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and abdomen keypoint.
[0142] For example, if the number of virtual objects within the visible range of the first viewing angle is greater than or equal to the second threshold, the n keypoints include at least one of the head keypoint, left hand keypoint, right hand keypoint, left foot keypoint, and right foot keypoint. If the number of virtual objects within the visible range of the first viewing angle is less than the second threshold, the n keypoints include at least one of the head keypoint, left hand keypoint, right hand keypoint, left foot keypoint, right foot keypoint, abdominal keypoint, and lumbar keypoint.
[0143] In some embodiments, ray detection is performed on n keypoints of a virtual object within the visible range of a first viewing angle based on a first video camera, thereby determining whether the virtual object is of a visible type and / or an invisible type.
[0144] In some embodiments, a ray is emitted from the center of a first video camera to n keypoints. A virtual object corresponding to a collision model in which at least one of the n keypoints intersects with the ray is determined to be of the visible type, and a virtual object corresponding to a collision model in which none of the n keypoints intersect with the ray is determined to be of the invisible type.
[0145] Performing line-of-sight detection on a few key points of a virtual object reduces the complexity of line-of-sight detection, improving its simplicity and speed. The results of line-of-sight detection are more accurate, and it supports faster interaction of the results between the client terminal and the server, reducing latency.
[0146] Based on system performance, the orientation of virtual objects, the form of virtual objects, the type of virtual scene, and the number of virtual objects within the visible range of the first viewing angle, several key points can be selected on the virtual objects, effectively improving the flexibility of ray detection and the robustness of the virtual world display method provided by the embodiments of this application. This supports the flexible and rapid acquisition of accurate ray detection results under various scenes, thereby improving the user experience.
[0147] Figures 9 to 13 show schematic diagrams of the representation of a virtual world provided by one exemplary embodiment of the present invention.
[0148] As an example where the first viewpoint is a first-person viewpoint, the virtual world observed by user A using the first viewpoint of virtual object 901 is shown in Figure 9. In the first virtual world screen shown in Figure 9, in addition to virtual object 901, virtual objects 902 and 903 are also displayed.
[0149] As an example, if the first viewpoint switching operation is a touch operation on UI control 904, as shown in Figure 10, after user A touches UI control 904, the interaction list 905 is displayed in the user interface, user A selects the "dance" action in the interaction list 905, the virtual object 901 enters the "dance" state, and at the same time, the first viewpoint switches to the second viewpoint.
[0150] For example, a video camera model whose second viewpoint is a third-person viewpoint and to which the third-person viewpoint is bound is positioned behind and above virtual object 901.
[0151] If the virtual world display method provided by the embodiment of this application is not used, as shown in Figure 11, it can be observed that virtual object 907 exists behind the occluder 906 under the second viewing angle of virtual object 901. Since virtual object 907 is actually invisible under the first viewing angle of virtual object 901, this causes user A to receive information that should not be received—that virtual object 907 exists behind the occluder 906—after switching from the first viewing angle to the second, further affecting the balance of the game.
[0152] If the virtual world display method provided by the embodiment of the present application is used, as shown in Figure 12, when the viewing angle of virtual object 901 switches to the second viewing angle, if it is determined that virtual object 907 exists within the visible range of the second viewing angle of virtual object 901, and virtual object 907 is not visible within the visible range of the first viewing angle of virtual object 901, then virtual object 907 is not rendered. If virtual objects 902 and 903 exist within the visible range of the second viewing angle of virtual object 901, and virtual objects 902 and 903 are visible within the visible range of the first viewing angle of virtual object 901, then virtual objects 902 and 903 are rendered. This results in the second virtual world screen shown in Figure 12, in which virtual objects 901, 902, and 903 are displayed, and virtual object 907 is not displayed.
[0153] After the viewing angle of virtual object 901 is switched to the second viewing angle, ray detection is dynamically and repeatedly performed in real time for virtual objects within the visible range of the first viewing angle. When it is detected that virtual object 907 is not completely obscured by the occluder 906 and is visible within the visible range of the first viewing angle, virtual object 907 is rendered, and as shown in Figure 13, the second virtual world screen can dynamically display virtual object 907 in real time, ensuring that after the first viewing angle switching operation is performed, user A can receive in real time information on whether the virtual object enters or leaves the visible range of the first viewing angle.
[0154] After the first viewpoint switching operation reaches its expiration time, for example, after the "dance" state reaches its preset expiration time, the second viewpoint switches back to the first viewpoint, and the first virtual world screen is displayed again in the user interface.
[0155] Figure 14 shows a schematic flowchart of a method for displaying a virtual world provided by one exemplary embodiment of the present invention. This embodiment is described as being performed by a first client terminal 310 and / or a server 320 and / or a second client terminal 330 shown in Figure 3. The method includes at least some of the following steps.
[0156] Step 1401: Receive a command to switch to the second viewing angle.
[0157] The first user uses the first client terminal 310 to observe the virtual world from the first viewpoint of the first virtual object.
[0158] In some embodiments, the first client terminal receives a command from the first user to switch the first viewing angle of the first virtual object to the second viewing angle, and the first client terminal switches the first viewing angle of the first virtual object to the second viewing angle.
[0159] In some embodiments, the first client terminal receives a command from the first user to switch the first viewing angle of the first virtual object to the second viewing angle, the first client terminal transmits the command to the server, the server receives a command to switch the first viewing angle of the first virtual object to the second viewing angle, and the server switches the first viewing angle of the first virtual object to the second viewing angle.
[0160] Step 1402: At this point, detect whether or not other virtual objects exist within the visible range of the first viewing angle.
[0161] "Other virtual objects" refers to virtual objects other than the first virtual object.
[0162] In some embodiments, the first client terminal detects whether or not other virtual objects exist within the visible range of the first viewing angle at this time.
[0163] In some embodiments, the server detects whether or not other virtual objects exist within the visible range of the first viewing angle at this time.
[0164] If the detection result indicates that another virtual object exists within the visible range of the first viewing angle at this time, then step 1403 is executed.
[0165] If the detection result indicates that no other virtual objects exist within the visible range of the first viewing angle at this time, then step 1404 is executed.
[0166] Step 1403: Perform ray detection on the collision body model of other virtual objects.
[0167] The relevant information for step 1403 can be found by referring to the information obtained in relation to the above-mentioned line-of-sight detection, and will not be explained in detail again here.
[0168] After performing step 1403, proceed to step 1405 and / or step 1406.
[0169] In some embodiments, step 1403 is performed by the first client terminal, or by the server, or by both the first client terminal and the server.
[0170] Step 1405: Virtual objects that fail to detect their line of sight are considered invisible virtual objects.
[0171] A virtual object that fails to detect its trajectory refers to a virtual object that corresponds to a collision body model where no trajectory or intersection exists.
[0172] In some embodiments, virtual objects corresponding to collision body models where there are no ray lines and intersections are marked as invisible. Alternatively, virtual objects considered invisible are not marked.
[0173] In some embodiments, step 1405 is performed by the first client terminal, or by the server, or by both the first client terminal and the server.
[0174] Step 1406: Virtual objects for which line-of-sight detection is successful are considered visible virtual objects.
[0175] A virtual object for which ray detection has been successful refers to a virtual object corresponding to a collision body model where the ray and intersection exist.
[0176] In some embodiments, virtual objects corresponding to collision models where ray lines and intersections exist are marked as visible, or virtual objects that are considered visible are marked.
[0177] In some embodiments, step 1406 is performed by the first client terminal, or by the server, or by both the first client terminal and the server.
[0178] Step 1407: Render only virtual objects that are considered visible under the second viewing angle.
[0179] In some embodiments, under the second viewing angle, the first client terminal renders only virtual objects marked as visible and does not render virtual objects marked as invisible.
[0180] In some embodiments, under the second viewing angle, the first client terminal renders only marked virtual objects (i.e., virtual objects considered visible) and does not render unmarked virtual objects (i.e., virtual objects considered invisible).
[0181] In some embodiments, under the second viewing angle, the server renders only virtual objects marked as visible and does not render virtual objects marked as invisible.
[0182] In some embodiments, under the second viewing angle, the server renders only marked virtual objects (i.e., virtual objects considered visible) and does not render unmarked virtual objects (i.e., virtual objects considered invisible).
[0183] Step 1404: Continue trajectory detection and cycle through the viewing angles until the first virtual object is no longer in the second viewing angle.
[0184] In other words, during the period when the first user uses the first client terminal 310 to observe the virtual world through the second viewpoint of the first virtual object, the system repeatedly detects whether or not other virtual objects exist within the visible range of the first viewpoint, and performs ray detection on the collision model of the other virtual objects. During the period when the first user uses the first client terminal 310 to observe the virtual world through the first viewpoint of the first virtual object, the system stops detecting whether or not other virtual objects exist within the visible range of the first viewpoint, and performs ray detection on the collision model of the other virtual objects.
[0185] As described above, the method provided by this embodiment supports switching the viewpoint for observing the virtual world. After switching the viewpoint, even if a visible third virtual object exists within the visible range of the second viewpoint, the third virtual object remains invisible on the second virtual world screen. This resolves the undesirable effects of switching or changing the viewpoint, avoids presenting the user with information they should not receive, and ensures that the user does not observe virtual objects that are not visible under the first viewpoint through the second viewpoint.
[0186] Figures 15 to 17 show schematic diagrams of a method for displaying a virtual world provided by one exemplary embodiment of the present invention.
[0187] As shown in Figure 15, the first client terminal 1501 displays the first virtual world screen 1502. The first virtual world screen 1502 includes a screen for observing the virtual world using the first viewpoint of the first virtual object 1503.
[0188] The first client terminal 1501 responds to the first viewing angle switching operation by switching the first viewing angle of the first virtual object 1503 to the second viewing angle, and the visible range of the second viewing angle is different from the visible range of the first viewing angle. For example, the first viewing angle of the first virtual object 1503 is the first-person viewing angle of the first virtual object 1503, and the second viewing angle of the first virtual object 1503 is the third-person viewing angle of the first virtual object 1503.
[0189] As shown in Figure 16, the first client terminal 1501 responds to the first viewing angle switching operation and displays the second virtual world screen 1504. The second virtual world screen 1504 includes a screen for observing the virtual world using the second viewing angle of the first virtual object 1503. Furthermore, the virtual objects displayed on the second virtual world screen 1504 are a subset of the virtual objects displayed on the first virtual world screen 1502.
[0190] In some embodiments, the virtual objects displayed in the second virtual world screen 1504 correspond to the virtual objects displayed in the first virtual world screen 1502.
[0191] In some embodiments, the virtual objects displayed in the second virtual world screen 1504 are a true subset of the virtual objects displayed in the first virtual world screen 1502.
[0192] For example, in the second virtual world screen 1504, only the first virtual object 1503 is displayed, or under the second viewing angle, only some of the virtual objects displayed in the first virtual world screen 1502 can be observed, and in the second virtual world screen 1504, only some of the virtual objects displayed in the first virtual world screen 1502 are displayed, or the virtual world range corresponding to the second virtual world screen 1504 is smaller than the virtual world range corresponding to the first virtual world screen 1502, and the virtual objects displayed in the second virtual world screen 1504 are some of the virtual objects displayed in the first virtual world screen 1502.
[0193] As shown in Figure 17, the second client terminal 1505 displays the third virtual world screen 1506. The third virtual world screen 1506 includes a screen for observing the virtual world using the third viewpoint of the second virtual object 1507. The third virtual object 1508, located within the target spatial range in the virtual world, is displayed on the third virtual world screen 1506 and not displayed on the first virtual world screen 1502 or the second virtual world screen 1504. Here, the target spatial range is the overlapping range between the visible range of the third visual angle and the visible range of the second visual angle, and the range where the visible range of the third visual angle and the visible range of the first visual angle do not overlap.
[0194] Figure 18 shows a schematic diagram of the structure of a virtual world display device provided by one exemplary embodiment of the present invention. The device includes at least some of the following modules: a display module 181, a switching module 183, a processing module 185, and a decision module 187.
[0195] The display module 181 is used to display a first virtual world screen, which includes a screen for observing the virtual world using the first viewing angle of a first virtual object.
[0196] The switching module 183 is used to switch the first viewing angle of the first virtual object to the second viewing angle in response to a first viewing angle switching operation, and the visible range of the second viewing angle is different from the visible range of the first viewing angle.
[0197] The display module 181 is further used to display a second virtual world screen, the second virtual world screen includes a screen for observing the virtual world using the second viewing angle of the first virtual object, and the third virtual object is invisible on the second virtual world screen if it exists in the difference set range between the visible range of the second viewing angle and the visible range of the first viewing angle.
[0198] In some embodiments, the apparatus further includes a processing module 185, which is used to obtain the second virtual world screen without rendering the third virtual object within the visible range of the second viewing angle when an invisible third virtual object exists within the visible range of the second viewing angle. The above display module 181 is further used to display the above second virtual world screen, The above apparatus further includes a determination module 187, which is used to determine the invisibility type based on the visible range of the first viewing angle.
[0199] In some embodiments, the processing module 185 is further used to render the fourth virtual object of the visible type within the visible range of the second viewing angle if such a fourth virtual object exists within the visible range of the second viewing angle. The determination module 187 described above is further used to determine the visibility type based on the visible range of the first viewing angle.
[0200] In some embodiments, the first viewing angle is bound to a first video camera, and the second viewing angle is bound to a second video camera. The determination module 187 further performs ray detection on virtual objects within the visible range of the first viewing angle based on the first video camera, and determines whether the virtual object is of the visible type and / or the invisible type. Based on the second video camera described above, a virtual object located within the visible field of view of the second viewing angle is determined, This is used to determine a virtual object that is located within the visible range of the second viewing angle and belongs to the invisible type as the third virtual object.
[0201] In some embodiments, the determination module 187 is further used to determine a virtual object located within the visible range of the second viewing angle and belonging to the visible type as the fourth virtual object.
[0202] In some embodiments, the determination module 187 further emits a ray of light from the center point of the first video camera to a virtual object within the visible range of the first viewing angle, The virtual object corresponding to the collision body model where the above-mentioned ray and intersection exist is determined as the visibility type, and The virtual object corresponding to the collision body model where the above ray and intersection do not exist is determined to be of the invisible type, and is used for this purpose. Here, the virtual object is located inside the collision model described above.
[0203] In some embodiments, the virtual object contains n keypoints, where n is an integer greater than or equal to 1. The above-mentioned decision module 187 further fires a line of sight from the center point of the first video camera to the n key points, The visibility type is determined to be a virtual object corresponding to a collision model in which at least one of the n keypoints mentioned above intersects with the ray, The above n keypoints are used to determine, as the invisible type, a virtual object corresponding to a collision body model in which none of the above ray lines intersect.
[0204] In some embodiments, the decision module 187 is further used to select the n keypoints at m keypoints based on at least one of the system performance, the orientation of the virtual object, the form of the virtual object, the scene type of the virtual world, and the number of virtual objects within the visible range of the first viewing angle. Here, the m keypoints mentioned above include at least two of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, abdominal keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and waist keypoint, where m is a positive integer greater than or equal to 2, and m is greater than or equal to n.
[0205] In some embodiments, the determination module 187 further... If the above system performance is equal to or greater than the first threshold, then n is equal to m, When the above system performance is less than the above first threshold, the above n keypoints are used to include at least one of the above head keypoint, above left hand keypoint, above right hand keypoint, above left foot keypoint, and above right foot keypoint.
[0206] In some embodiments, the determination module 187 further... When the orientation of the above virtual object is upright, the above n keypoints include at least one of the above head keypoint, above left hand keypoint, above right hand keypoint, above left foot keypoint, and above right foot keypoint, When the posture of the above virtual object is prone, the above n keypoints include at least one of the above head keypoint, above left arm keypoint, above right arm keypoint, above left leg keypoint, above right leg keypoint, and above waist keypoint, When the posture of the above virtual object is supine, the above n keypoints include at least one of the above head keypoint, above left arm keypoint, above right arm keypoint, above left leg keypoint, above right leg keypoint, and above abdominal keypoint, When the posture of the above virtual object is in a crouching position, the above n keypoints are used to include at least one of the above head keypoint, above left arm keypoint, above right arm keypoint, above left leg keypoint, above right leg keypoint, and above waist keypoint.
[0207] In some embodiments, the determination module 187 further... When the above virtual object takes the form of a human, n is equal to m, When the morphological position of the above virtual object is in the form of an animal, the above n keypoints are used to include at least one of the above head keypoint, above abdominal keypoint, above waist keypoint, above left leg keypoint, and above right leg keypoint.
[0208] In some embodiments, the determination module 187 further... When the type of the above virtual scene is a land scene, the above n keypoints include at least one of the above head keypoint, above left arm keypoint, above right arm keypoint, above left hand keypoint, above right hand keypoint, above abdominal keypoint, above left leg keypoint, above right leg keypoint, above left foot keypoint, above right foot keypoint, and above waist keypoint, If the type of the virtual scene is an ocean scene, then the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left hand keypoint, the right hand keypoint, and the waist keypoint. When the type of the virtual scene described above is a sky scene, the n keypoints described above are used to include at least one of the following: the head keypoint, the left arm keypoint, the right arm keypoint, the left hand keypoint, the right hand keypoint, the left leg keypoint, the right leg keypoint, the left foot keypoint, the right foot keypoint, and the abdominal keypoint.
[0209] In some embodiments, the determination module 187 further... If the number of virtual objects within the visible range of the first viewing angle is equal to or greater than the second threshold, then the n keypoints include at least one of the head keypoint, the left hand keypoint, the right hand keypoint, the left foot keypoint, and the right foot keypoint. When the number of virtual objects within the visible range of the first viewing angle is less than the second threshold, the n keypoints are used to include at least one of the head keypoint, left hand keypoint, right hand keypoint, left foot keypoint, right foot keypoint, abdominal keypoint, and waist keypoint.
[0210] In some embodiments, the switching module 183 further responds to a second viewing angle switching operation by switching the second viewing angle of the first virtual object to the first viewing angle. Alternatively, it is used to switch the second viewing angle of the first virtual object to the first viewing angle in response to the expiration time of the first viewing angle switching operation.
[0211] In some embodiments, the determination module 187 is further used to stop performing ray detection on virtual objects within the visible range of the first viewing angle based on the first video camera.
[0212] In some embodiments, the first viewpoint of the first virtual object includes the first-person viewpoint of the first virtual object, and the second viewpoint of the first virtual object includes the third-person viewpoint of the first virtual object.
[0213] In some embodiments, the visible range of the first viewing angle of the first virtual object is a subset of the visible range of the second viewing angle of the first virtual object.
[0214] As described above, the apparatus provided by the embodiment of the present application supports switching the viewing angle for observing the virtual world. Even if a third virtual object exists in the difference range between the visible range of the second viewing angle and the visible range of the first viewing angle after switching the viewing angle, the third virtual object is invisible on the second virtual world screen. This resolves the unfavorable effects of switching or changing the viewing angle, helps to avoid presenting the user with information that the user should not receive, and ensures that the user does not observe virtual objects that are not visible under the first viewing angle through the second viewing angle.
[0215] It is important to explain that the device provided in the above embodiment is described using only the division of each functional module as an example in the virtual world display process. In actual applications, the above functions can be assigned to different functional modules as needed, that is, all or some of the functions described above can be completed by dividing the internal structure of the device into different functional modules. Furthermore, the specific implementation process will not be described in detail here, as it should be referred to in detail in the embodiment of the method.
[0216] Figure 19 shows a block diagram of the structure of a terminal 1900 provided by one exemplary embodiment of the present application. The terminal 1900 may be at least one of the following: a smartphone, a tablet PC, an e-reader, a laptop computer, a desktop computer, a television, an AR terminal, a VR terminal, an MR terminal, and an XR terminal. The terminal 1900 may also be referred to by other names such as a user device, a portable terminal, a laptop terminal, and a desktop terminal.
[0217] Typically, terminal 1900 includes a processor 1901 and memory 1902.
[0218] The processor 1901 may include one or more processing cores, such as a 4-core processor and an 8-core processor. The processor 1901 can be implemented using at least one hardware form from among Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 1901 may include a main processor and a coprocessor, the main processor being a processor used to perform processing on data in a wake state and also called a Central Processing Unit (CPU), and the coprocessor being a low-power processor used to perform processing on data in a standby state. In some embodiments, the processor 1901 may integrate a Graphics Processing Unit (GPU), which is used to render and draw content that needs to be displayed on a display screen. In some embodiments, the processor 1901 may further include an AR processor, which is used to process computational operations related to augmented reality. In some embodiments, the processor 1901 may further include an artificial intelligence (AI) processor, which is used to process computational operations related to machine learning.
[0219] The memory 1902 may include one or more computer-readable storage media, which may be non-temporary. The memory 1902 may further include high-speed random-access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices. In some embodiments, the non-temporary computer-readable storage media in the memory 1902 are used to store at least one instruction, which is executed by the processor 1901 to realize a method of displaying a virtual world provided by embodiments of the method of the present application.
[0220] In some embodiments, the terminal 1900 optionally further includes a peripheral device interface 1903 and at least one peripheral device. The processor 1901, memory 1902, and peripheral device interface 1903 can be connected by a bus or signal lines. Each peripheral device can be connected to the peripheral device interface 1903 by a bus, signal lines, or circuit board. Specifically, the peripheral device may include at least one of the following: a radio frequency circuit 1904, a display screen 1905, a camera component 1906, an audio circuit 1907, and a power supply 1908.
[0221] The peripheral device interface 1903 can be used to connect at least one peripheral device related to input / output (I / O) to the processor 1901 and the memory 1902. In some embodiments, the processor 1901, memory 1902, and peripheral device interface 1903 are integrated on the same chip or circuit board, and in some other embodiments, any one or two of the processor 1901, memory 1902, and peripheral device interface 1903 may be implemented on separate chips or circuit boards, and this embodiment is not limited thereto.
[0222] The radio frequency circuit 1904 is used to receive and transmit radio frequency (RF) signals, also called electromagnetic signals. The radio frequency circuit 1904 communicates with communication networks and other communication devices by electromagnetic signals. The radio frequency circuit 1904 converts electrical signals into electromagnetic signals and transmits them, or converts received electromagnetic signals into electrical signals. Optionally, the radio frequency circuit 1904 includes an antenna system, an RF transceiver, one or more amplifiers, tuners, oscillators, a digital signal processor, a codec chipset, and a user identity module card, etc. The radio frequency circuit 1904 can communicate with other terminals by at least one wireless communication protocol. The wireless communication protocol may include the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or wireless fidelity. 1757290141508_0.htm This includes, but is not limited to, Wi-Fi networks. In some embodiments, the radio frequency circuit 1904 may further include circuits related to Near Field Communication (NFC), and the present application is not limited thereto.
[0223] The display screen 1905 is used to display a user interface (UI). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 1905 is a touch display screen, the display screen 1905 further has the ability to collect touch signals on or above the surface of the display screen 1905. These touch signals can be input to the processor 1901 as control signals to perform processing. In this case, the display screen 1905 can further be used to provide virtual buttons, also called soft buttons and / or soft keyboards, and / or virtual keyboards. In some embodiments, the display screen 1905 may be a single screen mounted on the front panel of the terminal 1900; in some other embodiments, the display screen 1905 may be at least two screens mounted on different surfaces of the 1900, or designed to be foldable; and in some yet other embodiments, the display screen 1905 may be a flexible display screen mounted on a curved surface or a foldable surface of the terminal 1900. Furthermore, the display screen 1905 may be configured to have non-rectangular irregular graphics, i.e., a non-rectangular screen. The display screen 1905 can be manufactured using materials such as liquid crystal displays (LCDs) and organic light-emitting diodes (OLEDs).
[0224] The camera component 1906 is used to collect images or videos. Optionally, the camera component 1906 includes a front camera and a rear camera. Typically, the front camera is mounted on the front panel of the terminal, and the rear camera is mounted on the back of the terminal. In some embodiments, there are at least two rear cameras, each being any one of the main camera, depth-of-field camera, wide-angle camera, and telephoto camera, so that the main camera and depth-of-field camera are fused to achieve background blur, and the main camera and wide-angle camera are fused to achieve panoramic shooting, VR shooting, or other fused shooting functions. In some embodiments, the camera component 1906 may further include a flash lamp. The flash lamp may be a monochromatic temperature flash lamp or a dichromatic temperature flash lamp. A dichromatic temperature flash lamp refers to a combination of a warm-colored light flash lamp and a cool-colored light flash lamp, which can be used for light ray compensation under different color temperatures.
[0225] The audio circuit 1907 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, convert the sound waves into electrical signals, and input them to the processor 1901 for processing, or to input them to the radio frequency circuit 1904 to realize voice communication. For the purpose of stereoscopic sound collection or noise reduction, there may be multiple microphones, each installed in a different part of the terminal 1900. The microphone may further be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 1901 or the radio frequency circuit 1904 into sound waves. The speaker may be a conventional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert electrical signals into sound waves that can be heard by humans, but also convert electrical signals into sound waves that cannot be heard by humans to perform applications such as distance measurement. In some embodiments, the audio circuit 1907 may further include a headphone insertion hole.
[0226] Power supply 1908 is used to supply power to each component of terminal 1900. Power supply 1908 may be an alternating current, a direct current, a primary battery, or a rechargeable battery. When power supply 1908 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged by a wired line, and a wireless rechargeable battery is a battery that is charged by a wireless coil. The rechargeable battery may also be used to support fast charging technology.
[0227] In some embodiments, the terminal 1900 further includes one or more sensors 1909. These one or more sensors 1909 include, but are not limited to, an accelerometer 1910, a gyroscope 1911, a pressure sensor 1912, an optical sensor 1913, and a proximity sensor 1914.
[0228] The accelerometer 1910 can detect the magnitude of acceleration on three coordinate axes of a coordinate system created by the terminal 1900. For example, the accelerometer 1910 can be used to detect the amount of gravitational acceleration on three coordinate axes. The processor 1901 can control the display screen 1905 to display the user interface in a horizontal or vertical view according to the gravitational acceleration signal collected by the accelerometer 1910. The accelerometer 1910 can also be used to collect game or user motion data.
[0229] The gyro sensor 1911 can detect the orientation and rotation angle of the terminal 1900, and in cooperation with the accelerometer 1911, it can collect 3D actions of the user on the terminal 1900. The processor 1901 can implement functions such as action guidance (for example, changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation according to the data collected by the gyro sensor 1911.
[0230] The pressure sensor 1912 may be installed on the side frame of the terminal 1900 and / or beneath the display screen 1905. When the pressure sensor 1912 is installed on the side frame of the terminal 1900, it can detect the user's gripping signal to the terminal 1900, and the processor 1901 can identify the left or right hand or perform a shortcut operation according to the gripping signal collected by the pressure sensor 1912. When the pressure sensor 1912 is installed beneath the display screen 1905, the processor 1901 can control the operability controls on the UI interface according to the user's pressure operation on the display screen 1905. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
[0231] The optical sensor 1913 is used to collect the intensity of ambient light. In one embodiment, the processor 1901 can control the display brightness of the display screen 1905 according to the intensity of ambient light collected by the optical sensor 1913. Specifically, the display brightness of the display screen 1905 is increased when the ambient light intensity is strong, and decreased when the ambient light intensity is weak. In another embodiment, the processor 1901 can further dynamically adjust the shooting parameters of the camera component 1906 according to the intensity of ambient light collected by the optical sensor 1913.
[0232] The proximity sensor 1914, also called a distance sensor, is typically installed on the front panel of the terminal 1900. The proximity sensor 1914 is used to collect the distance between the user and the front of the terminal 1900. In one embodiment, when the proximity sensor 1914 detects that the distance between the user and the front of the terminal 1900 is gradually decreasing, the processor 1901 controls the display screen 1905 to switch from a bright screen state to a dark screen state, and when the proximity sensor 1914 detects that the distance between the user and the front of the terminal 1900 is gradually increasing, the processor 1901 controls the display screen 1905 to switch from a dark screen state to a bright screen state.
[0233] The above memory further includes one or more programs which are stored in the memory and which are used to perform a method for displaying a virtual world provided by the embodiments of the present application.
[0234] As those skilled in the art will understand, the structure shown in Figure 19 does not constitute a limitation on terminal 1900 and may include more or fewer components than those shown, or may be a combination of components, or may use a different arrangement of components.
[0235] Figure 20 shows a block diagram of the structure of server 2000 provided in one exemplary embodiment of the present application.
[0236] Typically, server 2000 includes processor 2001 and memory 2002.
[0237] The processor 2001 may include one or more processing cores, for example, a 4-core processor and an 8-core processor. The processor 2001 can be implemented using at least one hardware form from among DSP, FPGA, and PLA. The processor 2001 may include a main processor and a coprocessor, the main processor being a processor used to perform processing on data in a wake state and also called a CPU, and the coprocessor being a low-power processor used to perform processing on data in a standby state.
[0238] In some embodiments, the processor 2001 may have an integrated GPU, which is used to render and draw content that needs to be displayed on the display screen. In some embodiments, the processor 2001 may further include an AI processor, which is used to process computational operations related to machine learning.
[0239] The memory 2002 may include one or more computer-readable storage media, which may be non-temporary. The memory 2002 may further include high-speed random-access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices. In some embodiments, the non-temporary computer-readable storage media in the memory 2002 are used to store at least one instruction, which is executed by the processor 2001 to realize the method of displaying a virtual world provided by embodiments of the method of the present application.
[0240] In some embodiments, the server 2000 optionally further includes an input interface 2003 and an output interface 2004. The processor 2001, memory 2002, input interface 2003, and output interface 2004 can be connected by buses or signal lines. Each peripheral device can be connected to the input interface 2003 and output interface 2004 by buses, signal lines, or circuit boards. The input interface 2003 and output interface 2004 may be used to connect at least one I / O-related peripheral device to the processor 2001 and memory 2002. In some embodiments, the processor 2001, memory 2002, input interface 2003, and output interface 2004 are integrated on the same chip or circuit board, and in some other embodiments, any one or two of the processor 2001, memory 2002, input interface 2003, and output interface 2004 may be implemented on separate chips or circuit boards, and the embodiments of the present application are not limited thereto.
[0241] As a person skilled in the art will understand, the structure shown above does not constitute a limitation to server 2000, and may include more or fewer components than those shown, or may be a combination of components, or may use a different arrangement of components.
[0242] In an exemplary embodiment, a computer device is further provided, the computer device including a processor and memory, a computer program stored in the memory, and the computer program being loaded and executed by the processor to realize the method of displaying the virtual world described above.
[0243] In an exemplary embodiment, a chip is further provided which includes programmable logic circuits and / or program instructions, and a server or terminal on which the chip is installed is used to implement the method of displaying the virtual world described above.
[0244] In an exemplary embodiment, a computer-readable storage medium is further provided, wherein at least one segment of a program is stored in the storage medium, and is used to realize the method of displaying the virtual world described above when the at least one segment of the program is executed by a processor. Optionally, the computer-readable storage medium may be read-only memory (ROM), random access memory (RAM), compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage devices, etc.
[0245] In an exemplary embodiment, a computer program product is further provided, which includes a computer program stored in a computer-readable storage medium, and a processor reads the computer program from the computer-readable storage medium and executes the computer program to realize the method of displaying the virtual world described above. [Explanation of Symbols]
[0246] 11 Virtual Objects 12 Center of rotation 13 positions 14 positions 101 Virtual Objects 102 Virtual Wall 102 Wall 103 Virtual Objects 181 Display Module 183 Switching Module 185 Processing Modules 187 Decision Module 300 Computer Systems 310 First client terminal 320 servers 321 processors 322 memory 330 Second client terminal 701 Video Camera 702 Collision Model 703 Virtual Object 704 Virtual Object 705 Collision Model 706 Virtual Objects 901 Virtual Object 902 Virtual Object 903 Virtual Object 904 UI Controls 905 Interaction List 906 Shield 907 Virtual Object 1501 First Client Terminal 1502 First Virtual World Screen 1503 First Virtual Object 1504 Second Virtual World Screen 1505 Second client terminal 1506 Third Virtual World Screen 1507 Second Virtual Object 1508 Third Virtual Object 1900 terminals 1901 Processor 1902 memory 1903 Peripheral Interface 1904 Radio frequency circuit 1905 Display Screen 1906 Camera Components 1907 Audio Circuit 1908 power supply 1909 Sensor 1910 Accelerometer 1911 Gyro Sensor 1912 Pressure Sensor 1913 Optical Sensor 1914 Proximity Sensor 2000 Server 2001 Processor 2002 Memory 2003 Input Interface 2004 Output Interface 3221 Receiver Module 3222 Display Module 3223 Control Module
Claims
1. A method for displaying a virtual world, wherein the method is performed by a first client terminal and a second client terminal, and the method is The first steps include: the first client terminal displaying a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object; responding to a first viewing angle switching operation, switching the first viewing angle of the first virtual object to a second viewing angle, wherein the visible range of the second viewing angle is different from the visible range of the first viewing angle; and displaying a second virtual world screen, wherein the second virtual world screen includes a screen for observing the virtual world using a second viewing angle of the first virtual object, and the virtual objects displayed on the second virtual world screen are a subset of the virtual objects displayed on the first virtual world screen. The second client terminal displays a third virtual world screen, the third virtual world screen includes a screen for observing the virtual world using a third viewing angle of a second virtual object, and the third virtual object located in the target spatial range of the virtual world is displayed on the third virtual world screen and not displayed on the first virtual world screen or the second virtual world screen, A method for displaying a virtual world, characterized in that the target spatial range is the overlapping range of the visible range of the third viewing angle and the visible range of the second viewing angle, and the target spatial range is the range in which the visible range of the third viewing angle and the visible range of the first viewing angle do not overlap.
2. The step of displaying the second virtual world screen is, If an invisible third virtual object exists within the visible range of the second viewing angle, the third virtual object within the visible range of the second viewing angle is not rendered, and the second virtual world screen is obtained. The steps include, The method according to claim 1, characterized in that the invisible type is determined based on the visible range of the first viewing angle.
3. The aforementioned method, If a fourth virtual object of the visible type is further present within the visible range of the second viewing angle, the further step includes rendering the fourth virtual object within the visible range of the second viewing angle. The method according to claim 2, characterized in that the visible type is determined based on the visible range of the first viewing angle.
4. The first viewpoint is bound to the first video camera, and the second viewpoint is bound to the second video camera. The aforementioned method, A step of performing ray detection on a virtual object within the visible range of the first viewing angle based on the first video camera, and determining that the virtual object is at least one of the visible type or the invisible type, The steps include determining a virtual object located within the visible range of the second viewing angle based on the second video camera, The method according to 2 or 3, further comprising the step of determining a virtual object that is located within the visible range of the second viewing angle and belongs to the invisible type as the third virtual object.
5. The aforementioned method, The method according to 4, further comprising the step of determining a virtual object located within the visible range of the second viewing angle and belonging to the visible type as the fourth virtual object.
6. The step of performing ray detection on a virtual object within the visible range of the first viewing angle based on the first video camera, and determining that the virtual object is at least one of the visible type or the invisible type, The steps include: firing a line of sight from the center point of the first video camera to a virtual object within the visible range of the first viewing angle; The steps include determining a virtual object corresponding to a collision body model where the aforementioned ray line and intersection exist as the visibility type, The step includes determining a virtual object corresponding to a collision body model in which there is no intersection with the aforementioned ray as the invisible type, The method according to 4 or 5, characterized in that the virtual object is located inside the collision model.
7. The virtual object contains n keypoints, where n is an integer greater than or equal to 1. The step of performing ray detection on a virtual object within the visible range of the first viewing angle based on the first video camera, and determining that the virtual object is at least one of the visible type or the invisible type, The steps include firing a line of sight from the center point of the first video camera to the n key points, The step of determining the visibility type of a virtual object that corresponds to a collision body model in which at least one of the n key points intersects with the ray, The method according to 6, comprising the step of determining a virtual object corresponding to a collision body model in which none of the n key points intersect with the ray as the invisible type.
8. The aforementioned method, The method further includes the step of selecting the n keypoints at m keypoints based on at least one of the system performance, the orientation of the virtual object, the form of the virtual object, the scene type of the virtual world, and the number of virtual objects within the visible range of the first viewing angle. The method according to 7, wherein the m keypoints include at least two of the following: head keypoint, left arm keypoint, right arm keypoint, left hand keypoint, right hand keypoint, abdominal keypoint, left leg keypoint, right leg keypoint, left foot keypoint, right foot keypoint, and waist keypoint, and m is a positive integer of 2 or more, and m is n or more.
9. The step of selecting the n keypoints at m keypoints based on at least one of the system performance, the orientation of the virtual object, the form of the virtual object, the scene type of the virtual world, and the number of virtual objects within the visible range of the first viewing angle is as follows: If the system performance is equal to or greater than the first threshold, then n is equal to m. If the system performance is less than the first threshold, the n keypoints include at least one of the head keypoint, the left hand keypoint, the right hand keypoint, the left foot keypoint, and the right foot keypoint. If the number of virtual objects within the visible range of the first viewing angle is equal to or greater than the second threshold, then the n keypoints include at least one of the head keypoint, the left hand keypoint, the right hand keypoint, the left foot keypoint, and the right foot keypoint. If the number of virtual objects within the visible range of the first viewing angle is less than the second threshold, the n keypoints include at least one of the head keypoint, the left hand keypoint, the right hand keypoint, the left foot keypoint, the right foot keypoint, the abdominal keypoint, and the waist keypoint, When the orientation of the virtual object is upright, the n keypoints include at least one of the head keypoint, the left hand keypoint, the right hand keypoint, the left foot keypoint, and the right foot keypoint. When the virtual object is in a prone position, the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left leg keypoint, the right leg keypoint, and the waist keypoint. When the posture of the virtual object is supine, the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left leg keypoint, the right leg keypoint, and the abdominal keypoint. When the virtual object is in a crouching position, the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left leg keypoint, the right leg keypoint, and the waist keypoint. When the form of the virtual object is human form, n is equal to m, When the form of the virtual object is in the form of an animal, the n keypoints include at least one of the head keypoint, the abdominal keypoint, the lumbar keypoint, the left leg keypoint, and the right leg keypoint. When the type of the virtual scene is a land scene, the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left hand keypoint, the right hand keypoint, the abdomen keypoint, the left leg keypoint, the right leg keypoint, the left foot keypoint, the right foot keypoint, and the waist keypoint. When the type of the virtual scene is an ocean scene, the n keypoints include at least one of the head keypoint, the left arm keypoint, the right arm keypoint, the left hand keypoint, the right hand keypoint, and the waist keypoint. The method according to 8, characterized in that, when the type of the virtual scene is a sky scene, the n keypoints include at least one of the following: the head keypoint, the left arm keypoint, the right arm keypoint, the left hand keypoint, the right hand keypoint, the left leg keypoint, the right leg keypoint, the left foot keypoint, the right foot keypoint, and the abdominal keypoint.
10. The aforementioned method, A step of switching the second viewing angle of the first virtual object to the first viewing angle in response to a second viewing angle switching operation. Or, The method according to any one of claims 1 to 9, further comprising the step of switching the second viewing angle of the first virtual object to the first viewing angle in response to the expiration time of the first viewing angle switching operation.
11. After the step of switching the second viewing angle of the first virtual object to the first viewing angle, the method: The method according to 10, further comprising the step of stopping the performance of ray detection on virtual objects within the visible range of the first viewing angle based on the first video camera.
12. The first viewpoint includes the first-person viewpoint, the second viewpoint includes the third-person viewpoint, and the third viewpoint includes one of the first-person viewpoint and the third-person viewpoint. Or, The method according to any one of claims 1 to 11, characterized in that the visible range of the first viewing angle of the first virtual object is a subset of the visible range of the second viewing angle of the first virtual object, the visible range of the third viewing angle of the second virtual object includes a range that does not overlap with the visible range of the first viewing angle of the first virtual object, and the visible range of the third viewing angle of the second virtual object includes a range that overlaps with the visible range of the second viewing angle of the first virtual object.
13. A method for displaying a virtual world, wherein the method is executed by a first client terminal, and the method is A step of displaying a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object, A step of switching the first viewing angle of the first virtual object to a second viewing angle in response to a first viewing angle switching operation, wherein the visible range of the second viewing angle is different from the visible range of the first viewing angle. A method for displaying a virtual world, comprising the step of displaying a second virtual world screen, wherein the second virtual world screen includes a screen for observing the virtual world using a second viewing angle of the first virtual object, and if a third virtual object exists in the difference set range between the visible viewing range of the second viewing angle and the visible viewing range of the first viewing angle, the third virtual object is invisible on the second virtual world screen.
14. The first viewpoint of the first virtual object includes the first-person viewpoint of the first virtual object, and the second viewpoint of the first virtual object includes the third-person viewpoint of the first virtual object. Or, The method according to 13, characterized in that the visible range of the first viewing angle of the first virtual object is a subset of the visible range of the second viewing angle of the first virtual object.
15. A display device for a virtual world, wherein the device is A display module used to display a first virtual world screen, wherein the first virtual world screen includes a screen for observing the virtual world using a first viewing angle of a first virtual object, A switching module used to switch the first viewing angle of a first virtual object to a second viewing angle in response to a first viewing angle switching operation, wherein the visible viewing range of the second viewing angle is different from the visible viewing range of the first viewing angle, and the switching module includes: A virtual world display device characterized in that the display module is further used to display a second virtual world screen, the second virtual world screen includes a screen for observing the virtual world using a second viewing angle of the first virtual object, and if a third virtual object exists in the difference set range between the visible viewing range of the second viewing angle and the visible viewing range of the first viewing angle, the third virtual object is invisible on the second virtual world screen.
16. A computer device comprising a processor and memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to realize the method for displaying a virtual world described in any one of claims 1 to 12 or 13 to 14.
17. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and the computer program is loaded and executed by a processor to realize the method for displaying a virtual world described in any one of claims 1 to 12 or 13 to 14.
18. A computer program product characterized in that a computer program is stored in the computer program product, and the computer program is loaded and executed by a processor to realize the method of displaying a virtual world described in any one of claims 1 to 12 or 13 to 14.
19. A chip comprising at least one of a programmable logic circuit or a program instruction, wherein the computer equipment on which the chip is installed is used to implement a method for displaying a virtual world as described in any one of claims 1 to 12 or 13 to 14.