How to render 3D animation
The method prioritizes objects with specified attributes to prevent Z-fighting in 3D animations by automatically determining the outermost surface, addressing the labor-intensive manual adjustments of existing methods.
Patent Information
- Application Number
- JP2021130054
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-06
- Publication Date
- 2026-01-07
- Estimated Expiration
- 2041-08-06
AI Technical Summary
Existing methods for preventing Z-fighting in 3D animation require extensive manual checking and adjustment of Z values or drawing orders for multiple objects at the same position, which is labor-intensive.
A 3D animation rendering method that prioritizes processing an object with specified information (priority object) when multiple objects share the same coordinates, ensuring the object with the predetermined attribute is drawn as the outermost surface, thereby preventing display flickering.
Efficiently prevents display flickering due to Z-fighting by automatically determining the drawing order based on object attributes inherited from the 3D model creation stage, without additional work during animation rendering.
Smart Images

Figure 0007795308000001 
Figure 0007795308000002 
Figure 0007795308000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for rendering 3D animation. [Background technology]
[0002] Generally, when rendering 3D animation, the distance from the viewpoint in the virtual space within the 3D animation to an object is constantly calculated, and the object is drawn based on that distance. Because the calculated distance is subject to rounding errors, if multiple objects in the same position fall within the error range, the relative positions of the objects become unclear, making it impossible to determine which object is the most visible. As a result, the drawing order of the objects becomes unstable, and the object drawn most visible frequently changes, causing a flickering effect known as Z-fighting.
[0003] Known methods for dealing with Z-fighting include changing the Z value (a value indicating depth) of an object that should be drawn on the front side of multiple objects that exist in the same position on a tool for creating 3D animation, and specifying the drawing order of multiple objects (see, for example, Non-Patent Document 1). These methods make it possible to clarify the positional relationships of objects, and are therefore thought to be able to prevent display flickering. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] OPTPiX Help Center website, "How to deal with flickering parts when playing in Unity," Web Technology Co., Ltd., https: / / www.webtech.co.jp / help / ja / spritestudio / guide / reference / unity_z_fighting / , retrieved July 28, 2021 Summary of the Invention [Problem to be solved by the invention]
[0005] However, when using the above-mentioned method, when creating a 3D animation, it is necessary to individually check the display of all cases in which multiple objects exist in the same position and change the Z value or specify the drawing order in advance, which is an enormous amount of work, so an alternative solution is desired.
[0006] Therefore, an object of the present invention is to provide a technique for preventing display flicker caused by Z-fighting. [Means for solving the problem]
[0007] To solve the above problems, the present invention employs the following 3D animation rendering method. Note that the following parenthetical expressions are merely examples, and the present invention is not limited to these.
[0008] In other words, the 3D animation rendering method of the present invention includes a step of processing a priority object, which has specified information, among the multiple objects in the virtual space within the 3D animation at the same coordinates in priority to other objects when multiple objects exist.
[0009] According to this rendering method, among multiple objects existing on the same coordinates, the object for which predetermined information is specified (=priority object) is treated as the object to be processed with priority, so the object to be processed with priority is not ambiguous and Z-fighting does not occur, thereby preventing display flickering due to Z-fighting.
[0010] Preferably, in the 3D animation rendering method of the above aspect, of the surfaces of the priority object, the surface closest to the viewpoint placed in the virtual space or the surface facing the space is rendered as the outermost surface.
[0011] According to this rendering method, it is clear which of the surfaces of the priority object will be drawn as the top surface (the surface closest to the surface), so the surface to be drawn as the top surface is not ambiguous and Z-fighting does not occur. Therefore, it is possible to prevent display flickering due to Z-fighting.
[0012] More preferably, in the above-mentioned 3D animation rendering method, the 3D animation is created by converting a 3D model (BIM model) created with a 3DCG tool capable of creating 3D computer graphics (more specifically, a BIM tool capable of creating 3D models of buildings), and the specified information is specified in the 3DCG tool (BIM tool) for specified attributes of objects that make up the 3D model (BIM model) and is inherited by the 3D animation.
[0013] In the rendering method of this embodiment, the predetermined information that serves as a clue for determining which object to prioritize is specified for predetermined attributes of the object at the stage of creating the 3D model (BIM model) using a 3DCG tool (BIM tool) and is inherited by the 3D animation. Therefore, according to this embodiment, a user who is familiar with design can specify predetermined information for predetermined attributes of the object at the stage of creating the 3D model (BIM model), and since no separate work is required to deal with Z-fighting at the stage of creating the 3D animation, Z-fighting can be dealt with efficiently and display flickering can be prevented.
[0014] More preferably, in the above-described 3D animation rendering method, the predetermined attribute is a material attribute.
[0015] In this rendering method, predetermined information is specified for the material attributes of an object, and material attributes are required attributes that are provided as standard in all of the various 3DCG tools (BIM tools). Therefore, according to this embodiment, the predetermined information can be easily specified at the 3D model (BIM model) creation stage regardless of which 3DCG tool (BIM tool) is used, making it possible to deal with Z-fighting more efficiently and prevent display flickering. [Effects of the Invention]
[0016] According to the present invention, it is possible to prevent display flicker caused by Z-fighting. [Brief explanation of the drawings]
[0017] [Figure 1] FIG. 2 is a diagram showing a manner in which a 3D animation is created in this embodiment. [Figure 2] FIG. 1 is a block diagram illustrating the present embodiment in a simplified manner. [Figure 3]FIG. 10 is a diagram illustrating a specific example in which a plurality of objects exist on the same coordinate system. [Figure 4] 10 is a flowchart illustrating an example of a procedure for processing that is executed when multiple objects exist at the same coordinates. [Figure 5] FIG. 10 is a diagram showing the positional relationship between the surface of a priority object and a viewpoint. [Figure 6] 10A and 10B are diagrams showing a display example of a 3D animation rendered according to this embodiment in comparison with a comparative example. DETAILED DESCRIPTION OF THE INVENTION
[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the following embodiment, a preferred example of processing related to 3D animation is given, but the form of the present invention is not limited to the illustrated example.
[0019] [Creating 3D animation] FIG. 1 is a diagram illustrating how 3D animation is created in this embodiment. In this embodiment, the 3D animation is created by converting a 3D model of a building (hereinafter referred to as a "BIM model") created with a BIM (Building Information Modeling) tool. Specifically, first, separate BIM models (structural model 10, design model 20, equipment model 30, etc.) are created for each purpose, such as structure, design (interior), and equipment. These models are then integrated into a single BIM model using the BIM tool, or imported into another 3DCG tool and integrated into a single 3D model. The integrated model (BIM model, 3D model) is then converted into a 3D animation 200 using a conversion tool. For ease of explanation, the integrated BIM model or 3D model will be referred to as the "BIM model 100" in the following description.
[0020] The created 3D animation 200 can be displayed on the screen of an information terminal such as a tablet, smartphone, or mobile PC via the application 400. By starting the application 400 and performing predetermined operations on the displayed 3D animation 200, the user can operate an avatar set up in a virtual space within the 3D animation 200, moving the position and viewpoint of the avatar and changing its display position on the screen. Note that the viewpoint may also be moved without using an avatar.
[0021] Fig. 2 is a block diagram showing a simplified version of this embodiment. Fig. 2 shows only the minimum number of blocks necessary to explain this embodiment, and does not show other blocks.
[0022] In this embodiment, a commercial game engine (specifically, Unreal (registered trademark) Engine) is used as the conversion tool 300, and a 3D animation 200 that can be displayed on an application 400 that runs on an information terminal equipped with a general OS such as iOS or Android (registered trademark) can be created. When object data 110 in the BIM model 100 (shape data corresponding to each object that makes up the BIM model, attribute information of each object, etc.) is converted using the conversion tool 300, it is inherited by object data (polygon data) 210 in the 3D animation 200.
[0023] Furthermore, a program 410 is implemented within the application 400. The program 410 includes programs and setting data specialized for the unique functions of the 3D animation 200, as well as a program library for the game engine. When the application 400 is launched, the program 410 reads and renders the 3D animation 200. Note that, as for the conversion tool, instead of the above game engine, another game engine may be used, or a conversion tool developed independently may also be used.
[0024] However, as mentioned above, when integrating multiple different BIM models into one, it is easy to encounter situations where multiple objects exist at the same coordinates. This point will be explained using a floor as an example.
[0025] Figure 3 is a cross-section of a floor, showing the case where multiple objects exist at the same coordinates on the floor. For example, in a structural model, a concrete slab may exist at a certain floor location, while in a design model, finishing materials such as flooring may exist at the same floor location, and in yet another model, cushioning material or particle board may exist at the same floor location. In an actual building, these objects differ in height by a few centimeters (as designed), but in a BIM model, objects are not precisely set to that level. Therefore, when multiple models created in this way are integrated, situations arise where multiple objects exist at the same coordinates.
[0026] When a user moves the viewpoint in the virtual space within a 3D animation, objects are drawn in accordance with the viewpoint's position. However, if a concrete slab and a finishing material are present on the same floor, the drawing order of these objects becomes unstable, and the finishing material that should be drawn on the top of the floor may appear to be drawn underneath the concrete slab. As a result, in many 3D animations, flickering occurs in the display of floors, walls, and ceilings.
[0027] Therefore, in this embodiment, when multiple objects exist at the same coordinates, program 410 is implemented to check the attribute information of each object inherited from the BIM model, and to treat an object for which a predetermined identifier (e.g., "*") is set for a predetermined attribute (e.g., material appearance information) as an object to be processed preferentially, and to draw it as the outermost surface (hereinafter sometimes referred to as the "top surface"). In the example of the floor shown in Figure 3, the identifier "*" is set in the appearance information of the flooring material, so the flooring material will be drawn as the top surface.
[0028] [3D animation rendering] 4 is a flowchart showing an example of the procedure of processing executed by the program 410 (effectively the CPU or GPU of the information terminal on which the application 400 is installed) when multiple objects exist at the same coordinates during the rendering of 3D animation. The following explains the example procedure.
[0029] Step S10: Of the multiple objects existing on the same coordinates, any unprocessed object is selected. For example, as shown in Figure 3, when step S10 is executed for the first time in a case where four objects exist on the same coordinates, all four objects are unprocessed, and one of the four objects is selected.
[0030] Step S20: It is checked whether the identifier "*" is set in the appearance information of the material, and if the identifier "*" is set in the appearance information of the material (Step S20: Yes), then Step S40 is executed. On the other hand, if the identifier "*" is not set (Step S20: No), then Step S30 is executed.
[0031] Step S30: It is confirmed whether or not there are any unprocessed objects remaining, and if there are any unprocessed objects remaining (Step S30: Yes), the process returns to the above-mentioned Step S10 and the subsequent steps are repeated. On the other hand, if there are no unprocessed objects remaining (Step S30: No), the process proceeds to Step S40.
[0032] Step S40: The currently selected object is treated as the object to be processed with priority (hereinafter referred to as the "priority object"). Then, of the multiple surfaces of the priority object, the surface closest to the viewpoint is drawn as the outermost surface.
[0033] FIG. 5 is a diagram showing the positional relationship between the surface of a priority object and the viewpoint. Of these, (A) shows an example where the priority object is part of the floor, (B) shows an example where the priority object is part of the ceiling, and (C) shows an example where the priority object is part of a wall. In all of these figures, the surface drawn as the top surface is indicated by a thick line. Furthermore, for parts other than the priority object, multiple objects are represented collectively.
[0034] 5A: The flooring material, which is a priority object, has an upper surface SF1 and a lower surface SF2. Of these surfaces, the upper surface SF1 is the surface closest to the viewpoint, and therefore is drawn as the outermost surface.
[0035] In Figure 5 (B): The priority object, the light fixture, is installed as part of the ceiling and has two side surfaces SL3 and SL4 in addition to an illuminated surface SL1 and an attached surface SL2. Of these surfaces, the illuminated surface SL1 is the one closest to the viewpoint, so SL1 is drawn as the top surface. Although not shown, for locations where no light fixture is installed, the surface closest to the viewpoint of an object with an identifier "*" set in the material appearance information among other objects is drawn as the top surface.
[0036] 5C: The wallpaper, which is a priority object, has an outer surface SW1 and an attachment surface SW2. Of these surfaces, the outer surface SW1 is the surface closest to the viewpoint, and therefore is drawn as the outermost surface.
[0037] Note that the procedure example shown in Figure 4 is merely an example and is not limited to this. In the above procedure example, objects with an identifier "*" set in their material appearance information are treated as objects to be processed preferentially, but the attribute to which the identifier "*" is set is not limited to material appearance information; for example, it may be set at the beginning or end of a material name or pattern name, or it may be set for some attribute other than material. Furthermore, the identifier is not limited to "*", and the user can set any character that is not a reserved word in the BIM tool.
[0038] Furthermore, in the above example procedure, an object to which a predetermined identifier is set for a predetermined attribute is treated as a priority object, but instead, an object whose name of a predetermined attribute (e.g., the name of a material) is included in a name list pre-registered in program 410 may be treated as a priority object.
[0039] [3D animation display example] 6 is a diagram showing a display example of a 3D animation 200 rendered by the program 410 of this embodiment in comparison with a comparative example. The floor shown in FIG. 6 has multiple objects on the same coordinate system, similar to the floor shown in FIG. 3, and the object to be drawn on the top surface of these objects is a tile used as a finishing material.
[0040] If no measures are taken to prevent Z-fighting, tiles that should be drawn on the top surface will not be drawn on the top surface in many places, but will be drawn as if they are hidden under other objects, as shown in Figure 6 (B). If this situation occurs repeatedly, flickering will occur in the display of 3D animation.
[0041] In contrast, in this embodiment, an object for which a predetermined identifier is set for a predetermined attribute of a tile is treated as a priority object, and the surface of the priority object that is closest to the viewpoint is drawn as the top surface, so that the top surface of the tile is always the top surface, as shown in Figure 6 (A), and Z-fighting does not occur. In this way, this embodiment can prevent display flickering caused by Z-fighting.
[0042] According to the above-described embodiment, the following advantages are obtained. (1) When multiple objects exist at the same coordinates within the 3D animation 200, the program 410 determines which object should be given priority (drawn as the top surface) based on the attribute information of each object, so that the object drawn as the top surface does not become unstable (change), and display flickering due to Z-fighting can be prevented.
[0043] (2) Object attribute information is used to determine priority objects, and objects that conform to specified rules (objects for which a specified identifier is set for a specified attribute, or objects for which the name of a specified attribute is included in a pre-registered name list) are determined to be priority objects. However, this information used for the determination is set when the BIM model 100 is created and is inherited by the 3D animation 200, so Z-fighting can be efficiently prevented without any additional work being performed when the 3D animation 200 is created.
[0044] (3) There are multiple tools for creating BIM models, and the method for creating objects differs depending on the tool, but all tools have in common the ability to set attribute information for objects. In particular, materials are attributes that define the feel, color, texture, etc. of an object, and since they are required attributes that are provided as standard in all tools, there is no need to add them as new attributes. Therefore, regardless of which tool is used, objects that follow the specified rules can be easily created when creating a BIM model 100, and Z-fighting can be efficiently prevented when creating a 3D animation 200 without any additional work.
[0045] The present invention is not limited to the above-described embodiment, and can be practiced in various modified forms.
[0046] In the above-described embodiment, a 3D animation is created by converting a BIM model, but instead, a 3D animation may be created by converting a 3D model created with a 3DCG tool other than a BIM tool (for example, a 3D CAD tool).
[0047] In the above-described embodiment, of the multiple surfaces of the priority object, the surface closest to the viewpoint is drawn as the outermost surface, but instead, the surface facing the space may be drawn as the outermost surface.
[0048] Furthermore, all of the examples shown in the drawings in the embodiments are merely preferred examples, and it goes without saying that appropriate modifications are possible when implementing the present invention. [Explanation of symbols]
[0049] 100 BIM models 200 3D animations 300 Conversion Tools 400 Applications 410 Program
Claims
1. When a plurality of objects exist at the same coordinates in a virtual space within the 3D animation, a priority object, which is designated with predetermined fixed information indicating absolute priority, is processed in preference to other objects, among the plurality of objects; The 3D animation is It was created by converting a 3D model created with a 3DCG tool that can create 3D computer graphics. The predetermined fixed information is The attribute is specified for a predetermined attribute of an object that constitutes the 3D model in the 3DCG tool and is inherited by the 3D animation. A method for rendering 3D animation, comprising:
2. 2. The method of rendering 3D animation according to claim 1, A method for rendering 3D animation, characterized in that, of the surfaces of the priority object, the surface closest to a viewpoint placed in the virtual space is rendered as the outermost surface.
3. 2. The method of rendering 3D animation according to claim 1, A method for rendering 3D animation, characterized in that, of the surfaces of the priority object, the surface facing the space is drawn as the outermost surface.
4. 4. A method for rendering 3D animation according to claim 1, further comprising: The 3D animation is It is created by converting a BIM model created with a BIM tool that can create 3D models of buildings. The predetermined fixed information is The BIM tool specifies a predetermined attribute of an object that constitutes the BIM model and inherits it to the 3D animation. A method for rendering 3D animation, comprising:
5. 5. A method for rendering 3D animation according to claim 1, The predetermined attribute is: A method for rendering 3D animation, characterized in that the material is an attribute.
Citation Information
Patent Citations
Reproduction device, reproduction method, recording device, recording method, reproduction-and-recording device, reproduction-and-recording method, and program
WO2018066382A1