Image rendering method, device, apparatus and storage medium

By dividing virtual objects into main and non-main objects and rendering them separately, the contradiction between camera animation and user interaction is resolved, achieving seamless switching and efficient rendering.

CN115619918BActive Publication Date: 2026-06-02BEIJING ZITIAO NETWORK TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING ZITIAO NETWORK TECH CO LTD
Filing Date
2022-11-11
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

In multi-scene rendering, there is a conflict between camera animation and user interaction, which makes it impossible to switch effectively and affects the rendering effect.

Method used

Virtual objects are divided into main objects and non-main objects. Their pose information is determined based on preset camera animation and user interaction information, and they are rendered separately to avoid conflicts.

Benefits of technology

It enables seamless switching between camera animation and user interaction, improving rendering quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115619918B_ABST
    Figure CN115619918B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide an image rendering method, device, equipment and storage medium. According to a preset camera animation, first pose information corresponding to a first virtual object is determined; interaction information triggered by a user to a second virtual object is obtained; according to the interaction information and the first pose information, second pose information corresponding to the second virtual object is determined; the first virtual object is rendered based on the first pose information, and the second virtual object is rendered based on the second pose information, to obtain a target image. The image rendering method provided by the embodiments of the present disclosure renders the first virtual object and the second virtual object separately, which can ensure that the picture is displayed along with the preset camera animation, and can also ensure that the picture is switched and displayed based on the interaction information of the user, avoids the conflict between the preset camera animation and the user interaction information, makes the preset camera animation and the user interaction free to switch without perception, and improves the rendering effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of image rendering technology, and more particularly to an image rendering method, apparatus, device, and storage medium. Background Technology

[0002] In multi-scene rendering, camera animation is often used to switch the camera's position within the scene. Camera animation describes the camera's trajectory over a period of time, defining its pose at each moment. However, in many interactive solutions, users need to interact to move and rotate the camera to achieve an immersive experience. In the aforementioned application scenarios, there is a conflict between camera animation and the camera pose required for user interaction; therefore, current interactive solutions cannot effectively switch between camera animation and user interaction. Summary of the Invention

[0003] This disclosure provides an image rendering method, apparatus, device, and storage medium that renders a first virtual object and a second virtual object separately, ensuring that the rendering of the main virtual object and the non-main virtual object do not affect each other.

[0004] In a first aspect, embodiments of this disclosure provide an image rendering method, including:

[0005] Determine the first pose information corresponding to the first virtual object based on the preset camera animation;

[0006] Obtain user interaction information triggered by the second virtual object;

[0007] The second pose information corresponding to the second virtual object is determined based on the interaction information and the first pose information.

[0008] The first virtual object is rendered based on the first pose information, and the second virtual object is rendered based on the second pose information to obtain the target image.

[0009] Secondly, embodiments of this disclosure also provide an image rendering apparatus, comprising:

[0010] The first pose information determination module is used to determine the first pose information corresponding to the first virtual object based on the preset camera animation;

[0011] The interaction information acquisition module is used to acquire the interaction information triggered by the user on the second virtual object;

[0012] The second pose information acquisition module is used to determine the second pose information corresponding to the second virtual object based on the interaction information and the first pose information.

[0013] The rendering module is used to render the first virtual object based on the first pose information and the second virtual object based on the second pose information to obtain a target image.

[0014] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:

[0015] One or more processors;

[0016] Storage device for storing one or more programs.

[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the image rendering method as described in the embodiments of this disclosure.

[0018] Fourthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the image rendering method as described in embodiments of this disclosure.

[0019] This disclosure provides an image rendering method, apparatus, device, and storage medium. The method involves determining a first pose information corresponding to a first virtual object based on a preset camera animation; acquiring user interaction information triggered by a second virtual object; determining a second pose information corresponding to the second virtual object based on the interaction information and the first pose information; rendering the first virtual object based on the first pose information; and rendering the second virtual object based on the second pose information to obtain a target image. The image rendering method provided in this disclosure renders the first and second virtual objects separately, ensuring that the image displays according to the preset camera animation while also switching based on user interaction information. This avoids conflicts between the preset camera animation and user interaction information, allowing for seamless switching between the two and improving the rendering effect. Attached Figure Description

[0020] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0021] Figure 1 This is a schematic diagram of an image rendering method provided in an embodiment of the present disclosure;

[0022] Figure 2 This is a schematic diagram of an image rendering principle provided by an embodiment of this disclosure;

[0023] Figure 3This is an example diagram of a rendered target image provided in an embodiment of this disclosure;

[0024] Figure 4 This is a schematic diagram of the structure of an image rendering apparatus provided in an embodiment of this disclosure;

[0025] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0026] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0027] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0028] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0029] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0030] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0031] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0032] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0033] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0034] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0035] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0036] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.

[0037] Figure 1 This is a flowchart illustrating an image rendering method provided in an embodiment of the present disclosure. This embodiment is applicable to rendering virtual objects. The method can be executed by an image rendering device, which can be implemented in software and / or hardware, or optionally by an electronic device, such as a mobile terminal, a PC, or a server.

[0038] like Figure 1 As shown, the method includes:

[0039] S110, determine the first pose information corresponding to the first virtual object based on the preset camera animation.

[0040] S120, Obtain the interaction information triggered by the user on the second virtual object.

[0041] S130, determine the second pose information corresponding to the second virtual object based on the interaction information and the first pose information.

[0042] S140, render the first virtual object based on the first pose information, render the second virtual object based on the second pose information, and obtain the target image.

[0043] The first and second virtual objects can be 3D image data or 3D virtual model data pre-created by technicians. The preset camera animation can be a pre-set camera pose trajectory, composed of the camera's pose information in each frame; that is, the preset camera animation can be understood as a sequence of pose information.

[0044] In this embodiment, before determining the first pose information corresponding to the first virtual object based on the preset camera animation, the following steps are also included: dividing the virtual object into a first virtual object and a second virtual object; associating the first virtual object with the first virtual camera, and associating the second virtual object with the second virtual camera.

[0045] The division of virtual objects into first and second virtual objects can be based on categories, user-defined rules, or random selection; no specific limitation is made here. Optionally, dividing virtual objects into first and second virtual objects can be understood as dividing them into primary virtual objects and non-primary virtual objects. That is, the first virtual object is the primary virtual object, and the second virtual object is a non-primary virtual object. The primary virtual objects can be pre-defined by the user, i.e., the user configures which virtual objects are non-primary virtual objects; or, a mapping relationship between object categories and primary virtual objects can be pre-established, identifying the category of the virtual object. If the category of a virtual object matches one of the categories involved in the mapping relationship, then that virtual object is classified as a primary virtual object, and the remaining virtual objects are classified as non-primary virtual objects.

[0046] The correspondence between the first virtual object and the first virtual camera can be understood as the first virtual object being rendered by the first virtual camera; the correspondence between the second virtual object and the second virtual camera can be understood as the second virtual object being rendered by the second virtual camera.

[0047] In this embodiment, the first virtual camera and the second virtual camera are connected via a gimbal. The gimbal principle can be understood as ensuring that the two cameras maintain the same position but can have different orientations. One of the first and second virtual cameras can be the main camera and the other the secondary camera. That is, the first virtual camera can be the main camera and the second virtual camera the secondary camera; or the first virtual camera can be the secondary camera and the second virtual camera the main camera; this is not limited here. In this embodiment, associating the first virtual object with the first virtual camera and the second virtual object with the second virtual camera can improve the accuracy of subsequent rendering of virtual objects.

[0048] Optionally, determining the first pose information corresponding to the first virtual object based on the preset camera animation can be done by determining the first pose information of the first virtual camera based on the preset camera animation. Correspondingly, determining the second pose information corresponding to the second virtual object based on the interaction information and the first pose information can be done by determining the second pose information of the second virtual camera based on the interaction information and the first pose information. Accordingly, rendering the first virtual object based on the first pose information and rendering the second virtual object based on the second pose information to obtain the target image can be done by controlling the first virtual camera to render the first virtual object based on the first pose information and controlling the second virtual camera to render the second virtual object based on the second pose information to obtain the target image.

[0049] In this embodiment, the rendering order of the first virtual camera and the second virtual camera can be preset. For example, the first virtual camera can be controlled to render the first virtual object first, and then the second virtual camera can be controlled to render the second virtual object; or, the second virtual camera can be controlled to render the corresponding virtual object first, and then the first virtual camera can be controlled to render the corresponding virtual object. In this embodiment, since the two virtual cameras need to render a single image, the virtual camera that renders first needs to perform a canvas clearing operation, while the virtual camera that renders later does not perform a canvas clearing operation.

[0050] In this embodiment, the process of obtaining the target image by controlling the first virtual camera to render the first virtual object based on the first pose information and controlling the second virtual camera to render the second virtual object based on the second pose information can be as follows: First, determine the rendering order of the first and second virtual cameras, and then control the two virtual cameras to render the corresponding virtual objects in sequence according to the rendering order. By rendering the first virtual object with the first virtual camera and the second virtual object with the second virtual camera, it is possible to ensure that the image displays according to the preset camera animation, while also ensuring that the image switches based on the user's interaction information. This avoids conflicts between the preset camera animation and the user interaction information, allowing for seamless and free switching between the preset camera animation and user interaction, thus improving the rendering effect.

[0051] The first pose information includes first position information and first attitude information; the second pose information includes second position information and second attitude information. The position information can be represented by three-dimensional coordinates, including x-coordinate, y-coordinate and z-coordinate; the attitude information can be represented by three-dimensional rotation angle information, including pitch angle, yaw angle and roll angle.

[0052] In this embodiment, the process of determining the first pose information of the first virtual camera based on the preset camera animation can be as follows: obtain the timestamp information of the current frame, and then determine the first pose information based on the timestamp information and the preset camera animation. The method for determining the second pose information of the second virtual camera based on the first pose information can be as follows: if the terminal device does not detect any user-triggered interaction information during the playback of the preset camera animation, then the second pose information is the same as the first pose information; if user-triggered interaction information is detected, then the second pose information of the second virtual camera is determined based on the first pose information and the interaction information.

[0053] The interaction information can be generated by the user through touch screen, gesture commands, or voice commands. Specifically, the second pose information of the second virtual camera can be determined based on the interaction information and the first pose information by: determining the second position information of the second virtual camera based on the first position information; or determining the second pose information of the second virtual camera based on the interaction information and the first pose information.

[0054] The method for determining the second position information of the first virtual camera based on the first position information can be: determining the first position information as the second position information of the second virtual camera. The method for determining the second pose information of the second virtual camera based on the interaction information and the first pose information can be: determining the first pose transformation information based on the interaction information; fusing the first pose transformation information and the first pose information to obtain the second pose transformation information; and fusing the second pose transformation information and the pose information of the second virtual camera in the previous frame to obtain the second pose information of the second virtual camera.

[0055] The interaction information can be represented by a vector in screen space. In this embodiment, the screen space vector triggered by the user is obtained when a user's voice command, gesture command, or trigger operation on the screen is detected. The first pose transformation information can be understood as being represented by a four-element vector, representing the direction and angle of rotation. The method to determine the first pose transformation information based on the interaction information can be: converting the screen space vector into a four-element vector in world coordinate space. In this embodiment, the method to fuse the first pose transformation information and the first pose information can be: multiplying the four-element vector corresponding to the first pose transformation information by the left by the pose matrix corresponding to the first pose information to obtain the second pose transformation information. The method to fuse the second pose transformation information and the pose information of the second virtual camera in the previous frame can be: multiplying the vector corresponding to the second pose transformation information by the left by the pose matrix corresponding to the pose information of the second virtual camera in the previous frame to obtain the second pose information of the second virtual camera.

[0056] Specifically, the screen space vector triggered by the user is first transformed into a four-element vector in world coordinate space. Then, the four-element vector is left-multiplied by the pose matrix corresponding to the first pose information. Next, the result of the left-multiplication is left-multiplied again by the pose matrix corresponding to the pose information of the second virtual camera in the previous frame to obtain the second pose information of the second virtual camera. In this embodiment, determining the second pose information of the second virtual camera based on interaction information and the first pose information can improve the accuracy of determining the pose information of the second virtual camera.

[0057] For example, Figure 2 This is a schematic diagram of the image rendering principle in this embodiment, such as... Figure 2 As shown, the first virtual camera renders the first virtual object according to the preset camera animation, and the second virtual camera renders the second virtual object based on the user-triggered interaction information and the preset camera animation.

[0058] In this embodiment, the method of controlling the second virtual camera to render the second virtual object based on the second pose information can be as follows: first, determine the pose information of the second virtual object in the current frame based on the second pose information, and then render the second virtual object based on the pose information of the second virtual object in the current frame. The method of controlling the first virtual camera to render the first virtual object based on the first pose information can be as follows: first, determine the pose information of the first virtual object in the current frame based on the first pose information, and then render the first virtual object based on the pose information of the first virtual object in the current frame.

[0059] Specifically, the process of obtaining the target image by controlling the first virtual camera to render the first virtual object based on the first pose information and controlling the second virtual camera to render the second virtual object based on the second pose information can be as follows: controlling the second virtual camera to render the second virtual object based on the second pose information to obtain an intermediate image; and controlling the first virtual camera to render the first virtual object onto the intermediate image based on the first pose information to obtain the target image. In this embodiment, controlling the two virtual cameras to render the corresponding virtual objects sequentially according to the determined pose information can accurately render the virtual objects.

[0060] In this embodiment, the second virtual camera is first controlled to clear the canvas of the target image from the previous frame. Then, based on the second pose information, the second virtual camera is controlled to render the second virtual object to obtain an intermediate image. Finally, the first virtual camera is controlled not to clear the image corresponding to the intermediate image, and based on the first pose information, the first virtual camera is controlled to render the first virtual object onto the intermediate image to obtain the target image. In this embodiment, the first virtual camera does not clear the image corresponding to the intermediate image, which ensures that the virtual objects corresponding to the two virtual cameras are rendered into one image.

[0061] For example, Figure 3This is an example image of a rendered target image in this embodiment, such as... Figure 3 As shown, Figure 3 As shown, the "human figure" in the image is the first virtual object, rendered by the first virtual camera, and the "bright spot" is the second virtual object, rendered by the second virtual camera.

[0062] The technical solution of this disclosure includes: determining the first pose information corresponding to the first virtual object based on a preset camera animation; acquiring user interaction information triggered by the second virtual object; determining the second pose information corresponding to the second virtual object based on the interaction information and the first pose information; rendering the first virtual object based on the first pose information; and rendering the second virtual object based on the second pose information to obtain a target image. The image rendering method provided by this disclosure renders the first and second virtual objects separately, ensuring that the image displays according to the preset camera animation while also switching based on user interaction information. This avoids conflicts between the preset camera animation and user interaction information, allowing for seamless switching between them and improving the rendering effect.

[0063] Figure 4 This is a schematic diagram of the structure of an image rendering apparatus provided in an embodiment of the present disclosure, as shown below. Figure 4 As shown, the device includes:

[0064] The first pose information determination module 410 is used to determine the first pose information corresponding to the first virtual object based on the preset camera animation.

[0065] The interaction information acquisition module 420 is used to acquire the interaction information triggered by the user on the second virtual object;

[0066] The second pose information acquisition module 430 is used to determine the second pose information corresponding to the second virtual object based on the interaction information and the first pose information.

[0067] The rendering module 440 is used to render a first virtual object based on the first pose information and a second virtual object based on the second pose information to obtain the target image.

[0068] Optionally, it also includes: a virtual object partitioning module, used for:

[0069] The virtual object is divided into a first virtual object and a second virtual object;

[0070] Assign the first virtual object to the first virtual camera, and the second virtual object to the second virtual camera.

[0071] Optionally, the first pose information determination module 410 is also used for:

[0072] The first pose information of the first virtual camera is determined based on the preset camera animation;

[0073] Optionally, the second pose information acquisition module 430 is also used for:

[0074] The second pose information of the second virtual camera is determined based on the interaction information and the first pose information.

[0075] Optionally, rendering module 440 is also used for:

[0076] Based on the first pose information, the first virtual camera is controlled to render the first virtual object, and based on the second pose information, the second virtual camera is controlled to render the second virtual object, thereby obtaining the target image.

[0077] Optionally, rendering module 440 is also used for:

[0078] Based on the second pose information, the second virtual camera is controlled to render the second virtual object and obtain an intermediate image;

[0079] Based on the first pose information, the first virtual camera is controlled to render the first virtual object onto the intermediate image to obtain the target image.

[0080] Optionally, the first pose information includes first position information and first attitude information; the second pose information acquisition module 430 is also used for:

[0081] The second position information of the second virtual camera is determined based on the first position information;

[0082] The second pose information of the second virtual camera is determined based on the interaction information and the first pose information.

[0083] Optionally, the second pose information acquisition module 430 is also used for:

[0084] Determine the first pose transformation information based on the interaction information;

[0085] The first pose transformation information and the first attitude information are fused to obtain the second pose transformation information;

[0086] The second pose transformation information and the pose information of the second virtual camera in the previous frame are fused together to obtain the second pose information of the second virtual camera.

[0087] Optionally, the second pose information acquisition module 430 is also used for:

[0088] The first location information is determined as the second location information of the second virtual camera.

[0089] Optionally, rendering module 440 is also used for:

[0090] Before rendering the second virtual object using the second virtual camera based on the second pose information, the second virtual camera is controlled to clear the canvas of the target image from the previous frame.

[0091] The image rendering apparatus provided in this disclosure can execute the image rendering method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.

[0092] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.

[0093] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0094] like Figure 5 As shown, electronic device 500 may include a processing unit (e.g., central processing unit, graphics processor, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. An edit / output (I / O) interface 505 is also connected to bus 504.

[0095] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0096] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.

[0097] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0098] The electronic device provided in this embodiment and the image rendering method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0099] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the image rendering method provided in the above embodiments.

[0100] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0101] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0102] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0103] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:

[0104] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: determine the first pose information corresponding to the first virtual object based on a preset camera animation; acquire interaction information triggered by the user on the second virtual object; determine the second pose information corresponding to the second virtual object based on the interaction information and the first pose information; render the first virtual object based on the first pose information; render the second virtual object based on the second pose information; and obtain a target image.

[0105] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0106] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0107] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".

[0108] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0109] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0110] According to one or more embodiments of this disclosure, an image rendering method is provided, comprising:

[0111] Determine the first pose information corresponding to the first virtual object based on the preset camera animation;

[0112] Obtain user interaction information triggered by the second virtual object;

[0113] The second pose information corresponding to the second virtual object is determined based on the interaction information and the first pose information.

[0114] The first virtual object is rendered based on the first pose information, and the second virtual object is rendered based on the second pose information to obtain the target image.

[0115] Furthermore, before determining the first pose information corresponding to the first virtual object based on the preset camera animation, the process also includes:

[0116] The virtual object is divided into a first virtual object and a second virtual object;

[0117] Assign the first virtual object to the first virtual camera, and the second virtual object to the second virtual camera.

[0118] Further, the first pose information corresponding to the first virtual object is determined based on the preset camera animation, including:

[0119] The first pose information of the first virtual camera is determined based on the preset camera animation;

[0120] Determining the second pose information corresponding to the second virtual object based on the interaction information and the first pose information includes:

[0121] The second pose information of the second virtual camera is determined based on the interaction information and the first pose information;

[0122] Rendering the first virtual object based on the first pose information, and rendering the second virtual object based on the second pose information to obtain a target image, including:

[0123] Based on the first pose information, the first virtual camera is controlled to render the first virtual object, and based on the second pose information, the second virtual camera is controlled to render the second virtual object, thereby obtaining a target image.

[0124] Furthermore, based on the first pose information, the first virtual camera is controlled to render the first virtual object, and based on the second pose information, the second virtual camera is controlled to render the second virtual object, thereby obtaining the target image:

[0125] Based on the second pose information, the second virtual camera is controlled to render the second virtual object to obtain an intermediate image;

[0126] Based on the first pose information, the first virtual camera is controlled to render the first virtual object onto the intermediate image to obtain the target image.

[0127] Further, the first pose information includes first position information and first posture information; the second pose information includes second position information and second posture information. Determining the second pose information of the second virtual camera based on the interaction information and the first pose information includes:

[0128] The second location information of the second virtual camera is determined based on the first location information;

[0129] The second pose information of the second virtual camera is determined based on the interaction information and the first pose information.

[0130] Further, determining the second pose information of the two virtual cameras based on the interaction information and the first pose information includes:

[0131] The first pose transformation information is determined based on the interaction information;

[0132] The first pose transformation information and the first posture information are fused to obtain the second pose transformation information;

[0133] The second pose transformation information and the pose information of the second virtual camera in the previous frame are fused together to obtain the second pose information of the second virtual camera.

[0134] Further, determining the second location information of the two virtual cameras based on the first location information includes:

[0135] The first location information is determined as the second location information of the second virtual camera.

[0136] Furthermore, before controlling the second virtual camera to render the second virtual object based on the second pose information, the method further includes:

[0137] Control the second virtual camera to clear the canvas of the target image from the previous frame.

[0138] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0139] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0140] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. An image rendering method, characterized in that, include: Determine the first pose information corresponding to the first virtual object based on the preset camera animation; Obtain user interaction information triggered by the second virtual object; The second pose information corresponding to the second virtual object is determined based on the interaction information and the first pose information. The first virtual object is rendered based on the first pose information, and the second virtual object is rendered based on the second pose information to obtain a target image; wherein, the target image includes the first virtual object and the second virtual object; The first pose information includes first position information and first posture information; the second pose information includes second position information and second posture information. Determining the second pose information of the second virtual camera based on the interaction information and the first pose information includes: determining the first pose transformation information based on the interaction information; fusing the first pose transformation information and the first pose information to obtain the second pose transformation information; and fusing the second pose transformation information and the pose information of the second virtual camera in the previous frame to obtain the second pose information of the second virtual camera.

2. The method according to claim 1, characterized in that, Before determining the first pose information corresponding to the first virtual object based on the preset camera animation, the process also includes: The virtual object is divided into a first virtual object and a second virtual object; Assign the first virtual object to the first virtual camera, and the second virtual object to the second virtual camera.

3. The method according to claim 2, characterized in that, The first pose information corresponding to the first virtual object is determined based on the preset camera animation, including: The first pose information of the first virtual camera is determined based on the preset camera animation; Determining the second pose information corresponding to the second virtual object based on the interaction information and the first pose information includes: The second pose information of the second virtual camera is determined based on the interaction information and the first pose information; Rendering the first virtual object based on the first pose information, and rendering the second virtual object based on the second pose information to obtain a target image, including: Based on the first pose information, the first virtual camera is controlled to render the first virtual object, and based on the second pose information, the second virtual camera is controlled to render the second virtual object, thereby obtaining a target image.

4. The method according to claim 3, characterized in that, Based on the first pose information, the first virtual camera is controlled to render the first virtual object, and based on the second pose information, the second virtual camera is controlled to render the second virtual object, thereby obtaining the target image. Based on the second pose information, the second virtual camera is controlled to render the second virtual object to obtain an intermediate image; Based on the first pose information, the first virtual camera is controlled to render the first virtual object onto the intermediate image to obtain the target image.

5. The method according to claim 3, characterized in that, Determining the second pose information of the second virtual camera based on the interaction information and the first pose information includes: The second location information of the second virtual camera is determined based on the first location information; The second pose information of the second virtual camera is determined based on the interaction information and the first pose information.

6. The method according to claim 5, characterized in that, Determining the second location information of the second virtual camera based on the first location information includes: The first location information is determined as the second location information of the second virtual camera.

7. The method according to claim 4, characterized in that, Before controlling the second virtual camera to render the second virtual object based on the second pose information, the method further includes: Control the second virtual camera to clear the canvas of the target image from the previous frame.

8. An image rendering apparatus, characterized in that, An image rendering method according to any one of claims 1-7, comprising: The first pose information determination module is used to determine the first pose information corresponding to the first virtual object based on the preset camera animation; The interaction information acquisition module is used to acquire the interaction information triggered by the user on the second virtual object; The second pose information acquisition module is used to determine the second pose information corresponding to the second virtual object based on the interaction information and the first pose information. The rendering module is used to render the first virtual object based on the first pose information and the second virtual object based on the second pose information to obtain a target image; wherein the target image includes the first virtual object and the second virtual object.

9. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the image rendering method as described in any one of claims 1-7.

10. A storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the image rendering method as described in any one of claims 1-7.