Method and apparatus for rendering shots loaded on queue table of game engine system
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LOCUS
- Filing Date
- 2026-01-20
- Publication Date
- 2026-07-30
Smart Images

Figure KR2026001146_30072026_PF_FP_ABST
Abstract
Description
Method and device for rendering a shot loaded into a cue table of a game engine system
[0001] The present invention relates to a rendering method, and more specifically, to a method and apparatus for rendering a shot loaded into a cue table of a game engine system.
[0002] 3D animation is used in a wide variety of industries, such as video game and film production. Various animation tools and computer functions are used in these industries to create and animate objects, such as characters. For example, in the video game industry, game systems, also often referred to as "game engines" or "game engine systems," are used to develop and animate objects and characters that are subsequently displayed during gameplay on the user interface.
[0003] Many conventional game systems, such as those used in the development and production of modern video games, utilize skeletal animation techniques, or, in the general terminology of video game developers, "skin and bones" techniques. These skeletal animation techniques are arranged to simulate the motion and deformation of articulating bodies, such as animated humanoid characters, using a set of interconnected members (or "bones") and joints that, in some cases (at least for humanoid characters), may loosely resemble a human skeleton. A surface mesh (or "skin") may be coupled to or associated with the skeletal structure to represent the outer surface of the articulating body.
[0004] In many conventional skin and bone embodiments, motion and surface deformation of skin and bone objects may be implemented in the background in software referred to as a "game engine" or "digital content creation (DCC) tool" and controlled by complex physics-based (and other) algorithms that can be executed on the objects to simulate motion and other physical deformations (e.g., running, jumping, facial expressions, and motion of clothing). Some examples of popular game engines (or DCC software products) include, but are not limited to, MODO, Unreal Engine, UNITY, and MAYA.
[0005] To facilitate intuitive development, these complex algorithms are typically not exposed to game developers and graphic artists responsible for character creation. Instead, a simplified graphical user interface is presented by the game engine system, and objects and characters are created within the system interface using graphic and other animation tools. As a result, on the front end, the development process is reduced to something akin to digital sculpting, where the skin and bone elements of specific objects are manipulated and crafted to function as desired.
[0006] However, if local resources are used by utilizing the game engine system's basic rendering functions as in the past, it deprives workers of work continuity and is disadvantageous in terms of resource management.
[0007] [Prior Art Literature]
[0008] [Patent Literature]
[0009] (Patent Document 1) Korean Registered Patent No. 10-2324100
[0010] (Patent Document 2) Korean Registered Patent No. 10-2558874
[0011] (Patent Document 3) Korean Registered Patent No. 10-1926110
[0012] This specification has been devised to solve the problems described above, and aims to provide a method and apparatus for rendering a shot loaded in a queue table of a game engine system that is not constrained by resources, by allowing the resources used for rendering to be selected according to the situation.
[0013] In addition, another objective of the present invention is to provide a method and apparatus for rendering shots loaded into a cue table of a game engine system that can extend the MRQ function of a game engine system operating on a preset basis.
[0014] According to an embodiment of the present specification for achieving the above purpose, a device for rendering a shot loaded into a cue table of a game engine system according to the present specification comprises: a memory for storing instructions; and at least one processor that, by executing the instructions, loads a completed shot into a cue table of a game engine system, receives a selection input from a user regarding one of local, remote, and RMS (Render Management System) queuing rendering methods, renders the shot loaded into the cue table using the rendering method selected by the user, and converts the rendered shot into an image, wherein local indicates a state in which the game engine system is loaded into a main thread, remote indicates a state in which a new game engine system is executed, and RMS queuing indicates submitting a plurality of shots loaded into the cue table to the RMS.
[0015] Preferably, the at least one processor is characterized by adjusting the priority of a shot registered in the RMS by modifying the priority value among the work attributes of the shot registered in the RMS.
[0016] Preferably, the at least one processor is characterized by registering a file containing preset values including render size, render quality, and render output extension to the RMS along with the shot loaded into the queue table when the user selects RMS queuing.
[0017] Preferably, the preset value of the shot loaded into the cue table is linked to the preset value of the cue of the game engine system.
[0018] Preferably, the at least one processor determines whether to convert each time the rendering of a shot is finished, and then converts the rendered shot into an image.
[0019] Preferably, the at least one processor is characterized by applying a color to a converted image by referring to a lookup table.
[0020] Preferably, the at least one processor is characterized by performing image conversion and color application of the rendered shot using one Convert Executable.
[0021] Preferably, the at least one processor is characterized by processing a plurality of rendered shots in parallel using a plurality of conversion executors.
[0022] Preferably, the at least one processor determines whether a stereo camera is present, and if a stereo camera is present, renders a shot loaded in a cue table for all of the stereo cameras.
[0023] Preferably, the shot is characterized by representing any scene number.
[0024] Preferably, the game engine system is characterized as being the Unreal Engine.
[0025] Preferably, the at least one processor renders a shot loaded into the cue table by utilizing a rendering technique including at least one of ray tracing, scanline rendering, and path tracing.
[0026] According to another embodiment of the present specification, a method for rendering a shot loaded into a cue table of a game engine system according to the present specification comprises: a step of receiving a selection input from a user for one of a rendering method among local, remote, and RMS (Render Management System) queuing; a step of rendering a shot loaded into a cue table with a rendering method selected by the user; and a step of converting the rendered shot into an image, wherein local indicates a state in which the game engine system is loaded into a main thread, remote indicates a state in which a new game engine system is further executed, and RMS queuing indicates submitting a plurality of shots loaded into the cue table to the RMS.
[0027] Preferably, the step of converting to the image comprises: a step of determining whether a conversion option is turned on; a step of determining whether a color of the project is defined if the conversion option is turned on; and a step of applying a color to the converted image by referring to a lookup table if a color of the project is defined.
[0028] According to another embodiment of the present specification, a computer program product according to the present specification includes the steps of: loading a completed shot into a cue table of a game engine system; receiving a selection input from a user for one of local, remote, and RMS (Render Management System) queuing rendering methods; rendering the shot loaded into the cue table using the rendering method selected by the user; and converting the rendered shot into an image, wherein local indicates a state in which the game engine system is loaded into a main thread, remote indicates a state in which a new game engine system is executed, and RMS queuing indicates submitting a plurality of shots loaded into the cue table to the RMS, and includes a recording medium that stores instructions configured to execute these instructions.
[0029] As described above, according to the present specification, by providing a method and apparatus for loading a completed shot into a cue table of a game engine system, receiving a selection input from a user for one of local, remote, and RMS (Render Management System) queuing for a rendering method, rendering the shot loaded into the cue table using the rendering method selected by the user, and converting the rendered shot into an image, the resources used for rendering can be selected according to the situation, allowing work to be performed without being constrained by resources, the MRQ function of a game engine system operating on a preset basis can be expanded, and work convenience can be enhanced by running a self-developed image conversion post-processing process.
[0030] In addition, through the present invention, not only media production but also game production can manage cutscene render tasks using a distributed queue system, which shortens the feedback cycle of high-quality render outputs and allows for a focus on quality improvement. Furthermore, by integrating with MRG (Movie Render Graph), a feature introduced in the Unreal Engine, work efficiency can be expanded through more meticulous rendering layer configuration and management.
[0031] FIG. 1 is a block diagram showing the schematic configuration of a 3D animation production device according to an embodiment of the present invention.
[0032] FIG. 2 is a block diagram illustrating an example of hardware capable of realizing the functions of a 3D animation production device according to an embodiment of the present invention,
[0033] FIG. 3 is a block diagram illustrating an example of the function of a 3D animation production device according to an embodiment of the present invention,
[0034] FIG. 4 is a diagram for explaining the process of rendering a shot loaded into a queue table through any one of the rendering methods selected by the user during local, remote, and RMS queuing.
[0035] FIG. 5 is a flowchart illustrating a method for producing 3D animation based on a game engine system according to an embodiment of the present invention,
[0036] FIG. 6 is a sequence diagram explaining the detailed process of updating the asset list until the user interface is first displayed to the user during the operation of the asset builder,
[0037] FIG. 7 is a flowchart illustrating how a render movie renders a shot loaded into a cue table.
[0038] FIG. 8 is a flowchart illustrating the multiprocessing image conversion and color application process of a render movie,
[0039] FIG. 9 is a drawing showing an interface screen for rendering a shot,
[0040] FIGS. 10 to 17 are example screens for explaining the rendering process of a shot loaded into a cue table of a game engine system, and
[0041] FIG. 18 is an example screen of the command-line interface of a conversion executor, and
[0042] Figure 19 is a diagram showing a portion of a pre-edited preset delta file.
[0043] It should be noted that technical terms used in this specification are used merely to describe specific embodiments and are not intended to limit the invention. Furthermore, unless specifically defined otherwise in this specification, technical terms used in this specification should be interpreted in the sense generally understood by those skilled in the art to which the invention pertains, and should not be interpreted in an overly broad or overly narrow sense. Additionally, if a technical term used in this specification is an incorrect technical term that fails to accurately express the spirit of the invention, it should be understood as being replaced by a technical term that can be correctly understood by those skilled in the art. Moreover, general terms used in this invention should be interpreted according to their prior definitions or the context, and should not be interpreted in an overly narrow sense.
[0044] Additionally, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "composed of" or "comprising" should not be interpreted as necessarily including all of the various components or steps described in the specification, and should be interpreted as meaning that some of the components or steps may not be included, or that additional components or steps may be included.
[0045] Furthermore, the suffixes "module" and "part" for components used in this specification are assigned or used interchangeably solely for the sake of ease of drafting the specification, and do not inherently possess distinct meanings or roles.
[0046] Additionally, terms including ordinal numbers, such as first, second, etc., used herein may be used to describe various components, but said components should not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component.
[0047] The 3D animation production device (LOCUS Real-time Animation System, LORA) according to an embodiment of the present invention is a real-time animation production system that makes full use of the advantages of a game engine system (Unreal Engine). The 3D animation production device enables real-time preview and immediate modification, thereby significantly improving the efficiency of the animation production process, and in particular, can overcome the limitations of the existing traditional rendering pipeline through high-quality real-time rendering. Furthermore, by utilizing the game engine system, the 3D animation production device can produce 3D animations by utilizing the advantages of not only real-time rendering but also procedural automatic background generation and real-time effects. Additionally, the 3D animation production device can produce 3D animations by considering the scalability of various platforms such as games, AR, VR, and the metaverse.
[0048] The management system (LOCUS Management System, LOCMAN) according to an embodiment of the present invention is linked as a database with self-developed tools used by workers (or users) in each process. By assigning process tasks and sharing progress, it provides an innovative production environment capable of real-time rendering and immediate feedback through perfect integration. Furthermore, the management system is a management tool for producing various deliverables, ranging from commercials under 30 seconds to theatrical animations with a running time of 1 hour and 30 minutes, and from videos to large-scale exhibits and game assets as final deliverables. Additionally, the management system manages overall schedules, task tracking, and production costs by integratively managing internal workers and external collaborations while simultaneously running multiple projects. Moreover, the management system perfectly integrates various tools by organically connecting all processes from the storyboard stage to final rendering within an integrated production environment. In particular, the automated inspection system for quality control within the management system can guarantee consistent quality of 3D animation.
[0049] [Explanation of the symbol]
[0050] 100: 3D Animation Production Device 110: Management System
[0051] 120: Game Engine System 122: Asset Builder
[0052] 124: Render Movie 302: Modeling Section
[0053] 304: Rigging Department 306: Look Development Department
[0054] 308: Animation Club 310: Lighting Club
[0055] 312: Visual Effects Department 314: Rendering Department
[0056] 316: Compositing Department 318: Asset Builder Department
[0057] 320: Render Movie Department
[0058] Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. Identical or similar components are given the same reference number regardless of the drawing symbols, and redundant descriptions thereof will be omitted.
[0059] Furthermore, in describing the present invention, detailed descriptions of related prior art are omitted if it is determined that such descriptions could obscure the essence of the invention. Additionally, it should be noted that the attached drawings are intended only to facilitate an understanding of the concept of the present invention and should not be interpreted as limiting the concept of the invention.
[0060] FIG. 1 is a block diagram showing the schematic configuration of a 3D animation production device according to an embodiment of the present invention.
[0061] Referring to FIG. 1, a 3D animation production device according to the present invention may include a management system (110) and a game engine system (120) including an asset builder (122) and a render movie (124).
[0062] The management system (110) stores a list of assets for multiple projects (or shows). Here, the list of assets may include asset components such as 3D models, textures, sounds, animations, materials, and blueprints.
[0063] As a game engine system (120), Unreal Engine is used. Unreal Engine is a game engine developed by Epic Games and is used in various industries such as games, movies, architectural visualization, virtual reality (VR), and augmented reality (AR). Unreal Engine was originally created for the first generation of Unreal games released in 1998, but it is now one of the most widely used engines in the world.
[0064] The game engine system (120) according to the present invention creates a 3D model by modeling characters and objects appearing in a 3D animation, adds a skeleton and a rig to the 3D model, applies a texture to the 3D model to implement textures, colors, and patterns, and creates a 3D animation by adding movement to the 3D animation. The game engine system (120) sets lighting within the scene of the 3D animation to provide atmosphere, emotion, and realism, adds special effects to the 3D animation, combines all components including the 3D model, textures, lighting, and 3D animation, outputs a 2D image or video, and outputs a final image by combining various render passes and visual effects.
[0065] The asset builder (122) is a device that automatically builds an asset blueprint to be spawned as an actor by bringing asset components exported from a digital content creation device (DCC, 200) into a game engine system (120) by referencing a file system (300). In particular, during the rigging stage of adding bones and structures to a 3D model, the asset builder (122) compares the asset list of a project selected by a user from a management system (110) with the asset list of a project in a source control server (400), updates the asset list of the project in the source control server (400), and then creates an asset blueprint by combining the asset components of the asset list of the project in the source control server (400).
[0066] In the rendering stage where a 2D image or video is output, the Render Movie (124) loads the completed shot into the Queue Table of the game engine system (120), renders the shot loaded into the Queue Table through one of the rendering methods, such as local, remote, and RMS queuing, which registers the shot loaded into the Queue Table to a separate RMS (Render Management System), and converts the rendered shot into an image. Here, the shot placed on the Queue Table is referred to as a Job. "Shot" represents an arbitrary scene number. For example, the 0030 shot of the 0050 sequence represents a "shot" with the label "0050_0030". In Unreal Engine, there exists a shot sequence asset with a name such as "0050_0030", and "putting a shot sequence asset on the Queue Table" means "submitting a shot to the Queue Table".
[0067] Hereinafter, a 3D animation production device (100) according to an embodiment of the present invention will be described in detail.
[0068] Referring to FIG. 2, hardware capable of realizing the function of a 3D animation production device (100) is described. FIG. 2 is a block diagram illustrating an example of hardware capable of realizing the function of a 3D animation production device according to an embodiment of the present invention.
[0069] The function of the 3D animation production device (100) can be realized, for example, by using the hardware resources shown in FIG. 2. That is, the function of the 3D animation production device (100) is realized by controlling the hardware shown in FIG. 2 using a computer program.
[0070] As illustrated in FIG. 2, this hardware mainly has a CPU (202), ROM (Read Only Memory) (204), RAM (206), a host bus (208), and a bridge (210). Additionally, this hardware has an external bus (212), an interface (214), an input section (216), an output section (218), a memory section (220), a drive (222), a connection port (224), and a communication section (226).
[0071] The CPU (202) functions, for example, as an arithmetic processing unit or a control unit, and controls the overall operation or part thereof of each component based on various programs recorded in the ROM (204), RAM (206), memory unit (220), or removable recording medium (228). The ROM (204) is an example of a memory device that stores programs read by the CPU (202) or data used for calculations. In the RAM (206), for example, programs read by the CPU (202) or various parameters that change when the program is executed are stored temporarily or permanently.
[0072] These elements are connected to each other, for example, through a host bus (208) capable of high-speed data transmission. Meanwhile, the host bus (208) is connected to an external bus (212) with a relatively low data transmission speed, for example, through a bridge (210). Additionally, for the input unit (216), for example, a mouse, keyboard, touch panel, touch pad, button, switch, and lever are used. Additionally, for the input unit (216), a remote controller capable of transmitting control signals using infrared or other radio waves may be used.
[0073] As the output unit (218), a display device such as a CRT (Cathode Ray Tube), LCD (Liquid Crystal Display), PDP (Plasma Display Panel), or ELD (Electro-Luminescence Display) may be used. Additionally, as the output unit (218), an audio output device such as a speaker or headphones, or a printer, may be used.
[0074] The memory unit (220) is a device for storing various types of data. For example, a magnetic memory device such as an HDD is used as the memory unit (220). In addition, a semiconductor memory device such as an SSD (Solid State Drive) or RAM disk, an optical memory device, or a magneto-optical memory device may be used as the memory unit (220).
[0075] The drive (222) is a device that reads information recorded on a removable recording medium (228), which is a removable recording medium, or records information on the removable recording medium (228). As the removable recording medium (228), for example, a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is used. In addition, a program that defines the operation of the 3D animation production device (100) may be stored on the removable recording medium (228).
[0076] The connection port (224) is a port for connecting an external connection device (230), such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal. As an external connection device (230), for example, a printer is used.
[0077] The communication unit (226) is a communication device for connecting to a network (232). For example, a communication circuit for a wired or wireless LAN, a communication circuit for a WUSB (Wireless USB), a communication circuit for a mobile phone network, etc. may be used as the communication unit (226). The network (232) is, for example, a network connected by a wired or wireless connection.
[0078] The hardware of the 3D animation production device (100) has been described above. In addition, the hardware described above is an example, and variations such as omitting some elements or adding new elements are possible.
[0079] Next, with reference to FIG. 3, the function of the 3D animation production device (100) will be described. FIG. 3 is a block diagram illustrating an example of the function of the 3D animation production device according to an embodiment of the present invention.
[0080] As illustrated in FIG. 3, a 3D animation production device (100) may include a modeling unit (302), a rigging unit (304), a look development unit (306), an animation unit (308), a lighting unit (310), a visual effect unit (VFX) (312), a rendering unit (314), a compositing unit (316), an asset builder unit (318), and a render movie unit (320).
[0081] In addition, the functions of the Modeling (302), Rigging (304), Look Development (306), Animation (308), Lighting (310), Visual Effect (312), Rendering (314), Compositing (316), Asset Builder (318), and Render Movie (320) can be realized using the CPU (202) described above.
[0082] The modeling unit (302) creates a 3D model by modeling all characters, environments, and props that appear in the animation. At this time, the modeling unit (302) creates the approximate proportions and shape of the 3D model using general geometric shapes (cubes, cylinders, spheres, etc.).
[0083] Additionally, the modeling unit (302) adds detailed surface textures, muscles, and facial expressions to bring out the specific form and features of the human body or object. Then, the modeling unit (302) performs detailed adjustments to create an accurate and precise form of the final model. For example, the modeling unit (302) models the character's face, clothing, and equipment in detail.
[0084] In addition, the modeling unit (302) can make the character move naturally through a topology process that optimizes the polygon (face) structure so that the 3D model can be easily applied to animation.
[0085] The rigging unit (304) creates a skeleton and structure in the 3D model to enable animation. Here, 'rigging' is the process of making the 3D model "movable," and the rigging unit (304) can make the 3D character or object move and deform naturally. Precise work is required because if the 'rigging' is done incorrectly, the 3D model may be distorted or show unrealistic movements in the animation.
[0086] The look development unit (306) applies lighting to the 3D model and sets the surface reflectivity, transparency, and refraction. That is, the look development unit (306) performs shading to determine how the 3D model receives light and how the light is reflected. In this way, the look development unit (306) can enhance the realism of the 3D model by adjusting effects such as the surface sparkling or shadows being created by light.
[0087] In addition, the look development department (306) can apply textures in the form of 2D images to the 3D model to represent the surface texture, color, and pattern. The process of spreading the surface of a 3D model onto a 2D plane to apply textures is called "UV Mapping." Simply put, it is a process of "spreading" a "surface" in 3D space into a 2D image space. This process is essential for texturing and detailing and plays a key role in adding realistic details to the 3D model.
[0088] The animation department (308) can create expressive and emotional movements by adding movement to all rigged 3D models. To this end, the animation department (308) can give realistic and natural movements to the 3D models by using two main methods: keyframe animation and motion capture. That is, the animation department (308) can set major movements through keyframe animation, add natural movements using motion capture, define major movements through blockout, and finally complete smooth and realistic animation through fine-tuning and polishing. All of these processes require meticulous work to control the details of timing, emotion, and movement, and are important steps that determine the quality and effect of the entire animation.
[0089] The lighting unit (310) sets up lighting within the scenes of the animation to provide a final atmosphere, emotion, and realism. Lighting significantly influences the visual quality of the animation and can be directed to match the visual style of the work while reflecting the physical characteristics of the real world. To this end, the lighting unit (310) utilizes various lighting techniques, such as key light, fill light, and back light, to emphasize the timing, emotion, and depth of each scene, and maximizes visual effects through contrast and color tones created by light and shadow. As such, lighting plays an important role in defining the style of the animation and enhancing the overall sense of immersion.
[0090] The visual effects unit (312) digitally implements various special effects that are difficult to implement in the real world. That is, the visual effects unit (312) implements special effects in a digital environment based on physical laws through simulation, which is a core part of visual effects. Here, special effects may include water, smoke, explosions, fire, thunder, clouds, and destructive elements. To this end, the visual effects unit (312) can create very realistic movements through physical simulation using computer software.
[0091] In other words, the visual effect unit (312) implements realistic effects or imaginative special effects in 3D animation. That is, visual effects are a technical process that realistically reproduces natural phenomena, physical changes, and fantasy elements, which can give the audience a greater sense of immersion and improve the visual completeness of the animation. This process may include simulation, particle systems, compositing, and post-processing.
[0092] The rendering unit (314) combines all components, such as 3D models, textures, lighting, and animations, in the final production of 3D animation and outputs them as 2D images or video files. This process is a step in which all visual elements of the 3D scene are calculated by a computer and converted into a final image, and it is a core task that determines the visual completeness. Rendering usually takes a lot of time and requires a lot of calculations to obtain a very high-quality result.
[0093] To this end, the rendering unit (314) can generate realistic and detailed images by utilizing various rendering techniques such as ray tracing, scanline rendering, and path tracing. In addition, the rendering unit (314) can appropriately balance rendering speed and quality through various tasks such as optimization and post-processing.
[0094] The compositing unit (316) synthesizes various visual elements to generate a final image. That is, the compositing unit (316) combines multiple render passes generated from the modeling unit (302), look development unit (306), lighting unit (310), animation unit (308), and rendering unit (314), thereby ultimately enhancing the visual completeness of the animation and adding desired effects to the animation.
[0095] That is, the compositing unit (316) is closely associated with video editing and visual effects (VFX), and primarily adjusts the atmosphere, color tone, and lens effects of the scene through post-processing. Therefore, the compositing unit (316) can establish the style and atmosphere of the final video through lens effects, color correction, and visual effects, and can realistically realize the 3D scene.
[0096] The asset builder (318) indexes the locations of various fragmented asset components according to a promised convention and allows the user to easily bring them into the game engine system (120). Here, a convention refers to a rule defined to efficiently manage assets within a project and to quickly index or search for them.
[0097] That is, the asset builder unit (318) calls an API (Application Programming Interface) to receive a list of assets for a project selected by a user from the management system (110), and updates the list of assets for the project of the source control server (400) by comparing the received list of assets for the project with the list of assets for the project of the source control server (400). Here, the asset builder unit (318) displays the location and version according to the nature of the listed and fragmented asset components, so that the user can know the status of the asset components being updated.
[0098] Additionally, the asset builder unit (318) can visually display the check-in status of the asset components of the asset list of the project selected by the user from the management system (110) when receiving the asset list of the project selected by the user from the management system (110).
[0099] Additionally, the asset builder (318) can display versions based on the locations of the checked-in asset components. Here, the location indicates the path of the static mesh when the checked-in mesh is a static mesh, and indicates the path of the skeletal mesh when the checked-in mesh is a skeletal mesh. Through this, the user can check the asset update history.
[0100] Additionally, the asset builder unit (318) can collect asset information through a multi-threaded method so as not to interfere with user input. Here, the asset builder unit (318) can display a progress rate when collecting asset information.
[0101] Additionally, the asset builder (318) creates an asset blueprint by combining the asset list of the project of the updated source control server (400). That is, the asset builder (318) imports data regarding meshes and bones, etc., required for the asset, and then creates an asset blueprint according to agreed conventions. At this time, when creating the asset blueprint, the asset builder (318) creates mapped components according to the imported data type and connects them to the actual data. Additionally, the asset builder (318) can detect changes during the data import process and maintain the latest state of the asset by adding and deleting components. Additionally, the asset builder (318) can utilize the Autodesk Fbx SDK to deepen data analysis and filter the characteristics of connected nodes to add them during import.
[0102] As illustrated in FIG. 4, the render movie unit (320) loads a completed shot into a cue table (410) of a game engine system and renders the shot loaded into the cue table (410) through one of the rendering methods selected by the user among local, remote, and RMS queuing. Here, local indicates a state where the current game engine system (120) is loaded into the main thread, remote indicates a state where a new game engine system (120) is running, and RMS queuing indicates submitting multiple shots loaded into the cue table (410) to the RMS (420). Here, the shot registered in the RMS (420) is rendered by a remote resource that is completely separate from the 3D animation production device (100) according to the present invention, thereby being efficient in terms of resource usage.
[0103] Additionally, the render movie unit (320) can adjust the priority of the shots registered in the RMS (420). That is, the render movie unit (320) can adjust which tasks will be processed faster by modifying the priority among the attributes of the tasks.
[0104] Meanwhile, the render movie unit (320) renders a shot using the MRQ (Movie Render Queue) of the game engine system (120), and provides an interface environment that allows the user to use a predefined MRQ preset value. Conventionally, when one wants to submit a job by changing some of the MRQ preset values, there was the inconvenience of having to save the changed items as a preset value with an arbitrary name and resubmit it to the source control server (400). To solve this, the render movie unit (320) according to the present invention submits a preset delta file in JSON format containing render size, render quality, and render output extension to the RMS (420) along with the shot loaded in the queue table (410), thereby allowing the game engine system (120) to interpret the preset delta file and reflect the changed items in the existing preset value just before the render starts. To this end, it is desirable that the preset value of the shot loaded in the cue table (410) be linked to the preset value of the cue of the game engine system (120). In addition, different preset values may be applied to each shot loaded in the cue table (410), and batch changes are also possible.
[0105] Additionally, the render movie unit (320) can manage Delta Data so that it can be applied to various render patterns by providing an interface environment in which the start frame, end frame, and output path, which are the main elements of the shot result, can be edited in advance of the preset.
[0106] Additionally, the render movie unit (320) can determine whether there is a stereo camera and, if there is a stereo camera, queue shots loaded in the cue table for rendering for all stereo cameras.
[0107] Additionally, the render movie unit (320) converts the rendered shot into an image using a separate convert executable and applies a lookup table to the converted image to preserve a consistent image color gamut even after conversion. At this time, the render movie unit (320) converts the EXR image (i.e., the rendered shot), which is relatively large data, into a preview and applies a lookup table set in the current project, and at this time, multiprocessing technology can be applied to maximize the conversion speed.
[0108] Specifically, the render movie unit (320) determines whether the convert option is turned on whenever the rendering of a shot is finished, that is, whenever a render task is finished in every render pattern, and if the convert option is turned on, converts it into a lightweight image by applying the color settings of the current project. Here, the image may be in various forms such as JPG, PNG, GIF, BMP, and TIFF.
[0109] Additionally, the render movie unit (320) can reduce coupling between modules by processing image conversion and color space application through a single conversion executor as a sub-multiprocess. Here, the render movie unit (320) can process multiple rendered shots in parallel using multiple conversion executors.
[0110] FIG. 5 is a flowchart illustrating a method for producing 3D animation based on a game engine system according to an embodiment of the present invention.
[0111] Referring to FIG. 5, the 3D animation production device (100) creates a 3D model by modeling characters and objects appearing in the animation (S510). At this time, the 3D animation production device (100) can bring out the specific shape and features of the characters or objects by adding detailed surface textures, muscles, facial expressions, etc.
[0112] The 3D animation production device (100) adds a skeleton and a structure to the 3D model (S520). At this time, the 3D animation production device (100) can compare the asset list of a project selected by a user from the management system (110) with the asset list of a project in the source control server (400), update the asset list of the project in the source control server (400), and then create an asset blueprint by combining the asset components of the asset list of the project in the source control server (400).
[0113] The 3D animation production device (100) applies a texture to a 3D model to display the surface texture, color, pattern, etc. (S530). At this time, the 3D animation production device (100) can apply lighting to the 3D model and set the surface reflectivity, transparency, and refraction, etc.
[0114] The 3D animation production device (100) creates movements that contain expressiveness and emotion by adding movement to a 3D model (S540). At this time, the 3D animation production device (100) can give the 3D model realistic and natural movements by using keyframe animation and motion capture. That is, the 3D animation production device (100) can set major movements through keyframe animation, add natural movements using motion capture, define major movements through blockout, and finally complete a smooth and realistic animation through detailed adjustment and polishing.
[0115] The 3D animation production device (100) sets lighting within the scene of the animation to provide atmosphere, emotion, and realism (S550). At this time, the 3D animation production device (100) can utilize various lighting techniques such as key light, fill light, and back light to emphasize the timing, emotion, and depth of each scene, and to express contrast and color through light and shadow.
[0116] The 3D animation production device (100) adds various special effects to the animation (S560). At this time, the 3D animation production device (100) can implement special effects based on physical laws through simulation. Here, the special effects may include water, smoke, explosion, fire, thunder, clouds, and destructive elements.
[0117] The 3D animation production device (100) combines all components, such as 3D models, textures, lighting, and animations, and outputs them as a 2D image or video file (S570). At this time, the 3D animation production device (100) loads the completed shot into the cue table (410) of the game engine system (120), renders the shot loaded into the cue table (410) through one of the rendering methods, such as local, remote, and RMS queuing, which registers the shot loaded into the cue table (410) to a separate RMS (420), and can convert the rendered shot into an image. The 3D animation production device (100) can generate an image by utilizing various rendering techniques such as ray tracing, scanline rendering, and path tracing.
[0118] The 3D animation production device (100) combines multiple render passes generated in the aforementioned modeling step (S510), look development step (S530), lighting step (S550), animation step (S540), and rendering step (S570) (S580). That is, the 3D animation production device (100) adjusts the mood, color tone, and lens effects of the scene through post-processing.
[0119] Figure 6 is a sequence diagram illustrating the detailed process of updating the asset list until the user interface is first displayed to the user during the operation of the asset builder.
[0120] First, before the explanation, the Asset Builder Core (122a) and the Asset Builder User Interface (Asset Builder UI) (122b) constitute the Asset Builder (122).
[0121] Referring to FIG. 6, the user runs the asset builder (122) (S610).
[0122] The asset builder core (122a) calls an API to request a list of assets of the project from the management system (110) (S620), and receives a list of assets of the project decoded in JSON form from the management system (110) (S630).
[0123] Next, the asset builder core (122a) requests a list of assets of a project stored in the source control server (400) (S640), and receives a list of assets of a project stored in the source control server (400) in JSON format (S650).
[0124] The asset builder core (122a) compares the asset list of a project in the management system (110) with the asset list of a project stored in the source control server (400), and then updates the asset list of the project stored in the source control server (400) and transmits it to the source control server (400) (S660).
[0125] Next, the asset builder core (122a) transmits the asset list of the updated project to the asset builder user interface (122b) (S670).
[0126] The asset builder user interface (122b) displays a list of assets of the updated project to the user (S680).
[0127] Figure 7 is a flowchart illustrating how a render movie renders a shot loaded into a queue table.
[0128] Referring to FIG. 7, the render movie (124) receives a selection input from the user for one of local, remote, and RMS queuing rendering methods (S710).
[0129] When the local method is selected by the user, the render movie (124) renders the shot loaded in the cue table (410) using the local method (S711). That is, the render movie (124) renders the shot loaded in the cue table (410) using the game engine system (120).
[0130] When the remote method is selected by the user, the render movie (124) renders the shot loaded in the cue table (410) using the remote method (S712). That is, the render movie (124) executes an additional game engine system in addition to the game engine system (120) and renders the shot loaded in the cue table (410) using the additional game engine system.
[0131] When RMS queuing is selected by the user, the render movie (124) registers the shot loaded in the queue table (410) to the RMS (420) (S720).
[0132] Render Movie (124) renders a shot registered in RMS (420) by command from a remote terminal (S730).
[0133] Finally, the render movie (124) converts the rendered shot into an image (S740). At this time, the render movie (124) converts the rendered shot, which is relatively large data, into a preview and applies a lookup table set in the current project, and at this time, multiprocessing technology can be applied to maximize the conversion speed.
[0134] Additionally, the render movie (124) can apply colors to the converted image by referring to a lookup table.
[0135] Figure 8 is a flowchart illustrating the multiprocessing image conversion and color application process of a render movie.
[0136] Referring to FIG. 8, the render movie (124) determines whether the conversion option is turned on (S810), and if the conversion option is turned on, determines whether the color of the project is defined (S820).
[0137] If the project's color is defined, the render movie (124) applies a lookup table defining the project's color to the rendered shot (S830).
[0138] Next, the render movie (124) converts the rendered shot into an image using a single conversion executor and applies a color to the converted image (S840). At this time, the render movie (124) can process multiple rendered shots in parallel using multiple conversion executors. At this time, the render movie (124) can collect the processing status of each conversion executor and display it on the progress indicator of the game engine system (120). Meanwhile, if the color of the project is not defined, the render movie (124) skips step S830 and converts the rendered shot into an image.
[0139] Finally, the render movie (124) determines whether all sub-conversion processes have been completed (S850), and if all sub-conversion processes have not been completed, returns to step S840.
[0140] The above-described method can be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.
[0141] In the case of implementation by hardware, the method according to the embodiments of the present invention may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, and microprocessors, etc.
[0142] In the case of implementation by firmware or software, the method according to the embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. The software code may be stored in a memory unit and executed by a processor. The memory unit may be located inside or outside the processor and may exchange data with the processor by various means already known.
[0143] Figure 9 is a diagram showing an interface screen for rendering a shot.
[0144] Referring to FIG. 9, the interface screen may include an animation and rendering selection button (910), an image conversion selection button (912), a user-defined conversion folder (914), a shot list (916), a job creation button (918), a job removal button (920), a preset batch application box (922), a user-defined conversion folder designation button (924), a render output path link (926), a delete all jobs in the queue button (928), a submit button (930), start frame and end frame modification fields (932), and a render execution button (934).
[0145] After selecting the desired sequence, the user clicks the Create Job button (918) to add the renderable shot to the queue.
[0146] Then, the user clicks the user-defined conversion folder designation button (924) to designate the user-defined conversion folder (914), and uses the start frame and end frame modification fields (932) to designate the start frame and end frame. Additionally, the user uses the batch preset application box (922) to set preset values for each shot.
[0147] Afterward, the user renders the shot loaded in the queue table by clicking the render execution button (934). If the user checks the image conversion selection button (912), the rendered shot is converted into an image and saved in the same folder as the rendered shot.
[0148] Figures 10 to 17 are example screens for explaining the rendering process of a shot loaded into a cue table of a game engine system.
[0149] As illustrated in FIG. 10, when the user selects a desired sequence and clicks the Add Job To Queue button (1010), a renderable shot is added to the queue table. Here, the renderability of the shot is determined based on the selected sequence_P level and whether a shot sequence asset exists.
[0150] As illustrated in FIG. 11, when a user adds a renderable shot to the cue table, the render movie (124) analyzes the render image version folder and automatically assigns the next version. Additionally, as illustrated in FIG. 12, when a user adds a renderable shot to the cue table, the MRQ presets under Content / Assets / Cinematics / MoviePipeline / Presets / are displayed, and the user can assign a start frame and an end frame, etc.
[0151] As illustrated in FIG. 13, when the Convert Exr to JPG option (1020) is turned on, the render movie (124) converts the rendered shot into an image after rendering is complete and saves the image in the same folder as the rendered shot.
[0152] As illustrated in FIG. 14, the render movie (124) supports stereo render (1030). Conditions under which stereo render (1030) is possible include: 1) the project is a stereoscopic project, 2) the shot is a stereo shot, and 3) left and right stereo cams must exist in the sequencer.
[0153] As illustrated in FIG. 15, if a deadline is available, the submit button (1040) is activated. The user must save all changes and submit the work to P4 before submission. At this time, the user must submit the work using a designated pool and group.
[0154] As illustrated in FIG. 16, the render movie (124) also reflects preset modifications in the render.
[0155] As shown in Fig. 17, the job is submitted in the form of a sequence_shot-preset name.
[0156] Figure 18 is an example screen of the command line interface of the conversion executor.
[0157] Referring to FIG. 18, the user can specify the location where the rendered shot is stored and the location where the image is stored along with the conversion command, and can set whether to apply color to the image.
[0158] Figure 19 is a diagram showing a portion of a pre-edited preset delta file.
[0159] Referring to FIG. 19, the preset delta file may include a start frame, an end frame, an output path, an output frame rate, and an output resolution.
[0160] The embodiments disclosed in this specification have been described above with reference to the accompanying drawings. The embodiments illustrated in each drawing should not be interpreted restrictively and may be combined with one another by those skilled in the art who have read the contents of this specification; in such cases, it may be interpreted that some components may be omitted.
[0161] Herein, terms or words used in this specification and claims should not be interpreted as being limited to their ordinary or dictionary meanings, but should be interpreted in a sense and concept consistent with the technical ideas disclosed in this specification.
[0162] Therefore, it should be understood that the embodiments described in this specification and the configurations illustrated in the drawings are merely embodiments disclosed in this specification and do not represent all technical ideas disclosed in this specification, and that various equivalents and modifications that can replace them may exist at the time of filing this application.
Claims
1. Memory for storing instructions; and By executing the above instructions, It includes at least one processor that loads a completed shot into a cue table of a game engine system, receives input from a user for a selection of one of local, remote, and RMS (Render Management System) queuing rendering methods, renders the shot loaded into the cue table using the rendering method selected by the user, and converts the rendered shot into an image. A device for rendering shots loaded into a queue table of a game engine system, characterized in that the above local indicates a state in which the game engine system is loaded into the main thread, the above remote indicates a state in which a new game engine system is executed, and the above RMS queuing indicates submitting a plurality of shots loaded into the queue table to the RMS.
2. In Paragraph 1, The above-mentioned at least one processor is, A device for rendering a shot loaded into a queue table of a game engine system, characterized by adjusting the priority of a shot registered in the RMS by modifying the priority value among the work attributes of the shot registered in the RMS.
3. In Paragraph 1, The above-mentioned at least one processor is, If the user selects RMS queuing, A device for rendering a shot loaded into a cue table of a game engine system, characterized by registering a file containing preset values including render size, render quality, and render output extension to the RMS together with the shot loaded into the cue table.
4. In Paragraph 3, A device for rendering a shot loaded in a cue table of a game engine system, characterized in that the preset value of the shot loaded in the cue table is linked to the preset value of the cue of the game engine system.
5. In Paragraph 1, The above-mentioned at least one processor is, A device for rendering shots loaded into a queue table of a game engine system, characterized by determining whether to convert each time the rendering of a single shot is finished, and then converting the rendered shot into an image.
6. In Paragraph 5, The above-mentioned at least one processor is, A device for rendering a shot loaded into a cue table of a game engine system, characterized by applying color to a converted image by referring to a lookup table.
7. In Paragraph 6, The above-mentioned at least one processor is, A device for rendering a shot loaded into a cue table of a game engine system, characterized by performing image conversion and color application of the rendered shot using a single Convert Executable.
8. In Paragraph 7, The above-mentioned at least one processor is, A device for rendering shots loaded into a cue table of a game engine system characterized by processing multiple rendered shots in parallel using multiple conversion executors.
9. In Paragraph 1, The above-mentioned at least one processor is, A device for rendering shots loaded in a cue table of a game engine system, characterized by determining whether a stereo camera exists and, if a stereo camera exists, rendering shots loaded in a cue table for all of the stereo cameras.
10. In Paragraph 1, A device for rendering a shot loaded into a cue table of a game engine system, characterized in that the above shot represents an arbitrary scene number.
11. In Paragraph 1, A device for rendering shots loaded into a cue table of a game engine system, characterized in that the above game engine system is Unreal Engine.
12. In Paragraph 1, The above-mentioned at least one processor is, A device for rendering a shot loaded into a cue table of a game engine system, characterized by rendering a shot loaded into the cue table using a rendering technique including at least one of ray tracing, scanline rendering, and path tracing.
13. A method in which a rendering device renders a shot loaded into a cue table of a game engine system, A step of receiving input from the user for a selection of one of local, remote, and RMS (Render Management System) queuing for a render method; A step of rendering a shot loaded into a queue table using a render method selected by the user; and It includes a step of converting a rendered shot into an image, A method for rendering a shot loaded in a queue table of a game engine system, characterized in that the local indicates a state in which the game engine system is loaded in the main thread, the remote indicates a state in which a new game engine system is running, and the RMS queuing indicates submitting a plurality of shots loaded in the queue table to the RMS.
14. In paragraph 13, the step of converting into the above image is, A step to determine whether the conversion option is turned on; A step of determining whether the project's color is defined when the above conversion option is turned on; and If the colors of the above project are defined, a step of applying colors to the converted image by referring to a lookup table; A method for rendering a shot loaded into a queue table of a game engine system characterized by including 15. A step of loading the completed shot into the cue table of the game engine system; A step of receiving input from the user for a selection of one of local, remote, and RMS (Render Management System) queuing for a render method; A step of rendering a shot loaded into the cue table using a rendering method selected by the user; and It includes a step of converting a rendered shot into an image, A computer program product comprising a recording medium that stores instructions configured to execute the following: the above local indicates a state in which the game engine system is loaded into the main thread, the above remote indicates a state in which a new game engine system is running, and the above RMS queuing indicates submitting a plurality of shots loaded into the queue table to the RMS.