Clothes simulation method and device

By generating a filling mesh based on a baseline for garment holes, the method addresses unintended rendering issues in 3D garment simulation, improving appearance and efficiency in game platforms.

WO2026135400A2PCT designated stage Publication Date: 2026-06-25CLO VIRTUAL FASHION INC

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CLO VIRTUAL FASHION INC
Filing Date
2025-12-22
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Simulating 2D garment patterns in 3D for fast rendering in game platforms often results in unintended rendering issues due to holes in virtual clothing, requiring manual and time-consuming hole filling.

Method used

A method involving obtaining a baseline for garment holes, determining a filling direction, and generating a filling mesh based on this baseline to naturally fill the holes, using techniques like radiation scoring and mesh generation to improve rendering quality.

Benefits of technology

The method effectively fills garment holes, enhancing the natural appearance of virtual clothing in 3D rendering while reducing rendering time and effort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025022547_25062026_PF_FP_ABST
    Figure KR2025022547_25062026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a clothes simulation method and device. The clothes simulation method: obtains a reference line corresponding to an open portion of virtual clothes; determines a filling direction for filling the open portion; generates a filling mesh on the basis of the reference line and the filling direction; and stores the filling mesh in correspondence to the virtual clothes.
Need to check novelty before this filing date? Find Prior Art

Description

Costume simulation method and device

[0001] The following embodiments relate to a clothing simulation method and apparatus.

[0002] Although a garment appears three-dimensional when worn by a person, it actually consists of a combination of pieces of fabric cut according to a two-dimensional pattern. Because the fabric used to make the garment is flexible, its shape can change in various ways depending on the body shape or movements of the person wearing it.

[0003] Since simulating 2D patterns in 3D (e.g., physical simulation and rendering) requires a large amount of computation, it is common practice to render only one side of the mesh visible to the user when rendering character or avatar clothing on platforms that require fast rendering speeds (e.g., game platforms). In this case, unintended rendering results may occur due to holes in the virtual clothing.

[0004] A garment simulation method according to one embodiment includes the steps of: obtaining a reference line corresponding to an open part (hole) of a virtual garment; determining a direction for filling to fill the open part; generating a filling mesh based on the reference line and the filling direction; and storing the filling mesh corresponding to the virtual garment.

[0005] The step of obtaining the baseline may include obtaining the baseline by user input regarding a two-dimensional representation of a clothing pattern corresponding to the virtual clothing.

[0006] The step of obtaining the baseline may include obtaining the baseline by user input regarding the three-dimensional representation of the virtual garment.

[0007] The step of obtaining the baseline may include the step of generating the baseline by snapping according to at least one of the boundary, internal line segment, or wire frame of the mesh constituting the garment pattern for the virtual garment.

[0008] The step of obtaining the above baseline may include the step of generating the baseline based on sewing information of any one of the selected clothing patterns for the virtual clothing.

[0009] The step of obtaining the above baseline may include the step of generating the baseline by user input through a reference plane displayed in the three-dimensional space where the virtual garment is displayed.

[0010] The step of generating the reference line may include the step of generating the reference line along a line where the reference plane snapped at a specific angle intersects the virtual garment.

[0011] The step of obtaining the baseline may include the step of generating the baseline based on at least one internal line segment or at least one outline of the garment pattern that has already been generated in the virtual garment or the garment pattern for the virtual garment.

[0012] Based on at least one internal line segment generated above, the step of generating the reference line may include: receiving an offset distance and direction for at least one internal line segment generated above; generating a parametric curve spaced apart from at least one internal line segment generated above by the offset distance and direction; and setting the parametric curve as the reference line.

[0013] The above baseline includes an adjustable parametric point on a garment pattern constituting the virtual garment or on a mesh constituting the virtual garment, and may include an index of the mesh on the garment pattern and the virtual garment and position information within the mesh.

[0014] The above baseline can be cross-edited on the 2D representation of the clothing pattern corresponding to the virtual clothing and the 3D representation of the virtual clothing, and information entered through either the 2D representation of the clothing pattern or the 3D representation of the virtual clothing can be synchronized with the other.

[0015] The above clothing simulation method may further include the step of calculating a score corresponding to each of the vertices based on whether radiation rays emitted from the vertices of the virtual clothing are obscured by surrounding geometry. Based on the score, at least one of the baseline or the filling direction may be determined.

[0016] The step of obtaining the baseline may include the step of generating the baseline based on a boundary line obtained by smoothing the score calculated corresponding to the vertices of the virtual garment or converting the score into a boolean value.

[0017] The step of determining the above-mentioned filling direction may include: a step of emitting a radiation beam from a point on the above-mentioned reference line; a step of searching for a main direction in which the radiation beam is not obscured by surrounding geometry or is projected further than a certain reference; and a step of determining the searched main direction as the filling direction with respect to the above-mentioned reference line.

[0018] The above filling mesh may include at least one of a first mesh corresponding to the inner surface of the virtual garment corresponding to the open portion; a second mesh corresponding to the thickness surface of the virtual garment corresponding to the open portion; or a third mesh corresponding to the cover surface that blocks the open portion.

[0019] The shape of the third mesh is either a cone shape or a bell shape, the texture of the third mesh is the same as the texture of the first mesh, and the color of the third mesh can be changed arbitrarily.

[0020] The step of generating the above-mentioned filling mesh may include at least one of the following steps: generating the first mesh based on the topology of the mesh of the virtual garment; generating the second mesh by considering at least one of the curvature, resolution, or thickness between the first mesh and the mesh of the virtual garment; generating the third mesh by connecting the vertices on the baseline and the center point of the closed curve when the baseline corresponds to a closed curve; or, when the baseline corresponds to an open curve, converting the open curve into the closed curve and then generating the third mesh by connecting the vertices on the closed curve and the center point of the closed curve.

[0021] The above clothing simulation method may further include the step of reflecting joint weights in at least one of the first mesh, the second mesh, or the third mesh.

[0022] The step of generating the above-mentioned filling mesh may include: a step of finding at least one sub-center point by dividing the convex area of ​​the baseline by convex partitioning when there are more than a preset number of wrinkles on the baseline; and a step of generating the above-mentioned filling mesh by dividing the baseline into convex sub-shapes based on the at least one sub-center point.

[0023] The above clothing simulation method may further include either a step of reflecting joint weights in the filling mesh by copying the average value of the joint weights of at least one detailed center point to the center point when the shape of the filling mesh corresponds to a cone shape; or a step of reflecting joint weights in the filling mesh by interpolating the joint weights of at least one detailed center point and propagating them to the internal vertices of the filling mesh when the shape of the filling mesh corresponds to a bell shape.

[0024] According to one embodiment, the electronic device includes a memory for storing instructions; and one or more processors, wherein when the instructions are executed by the processors, the one or more processors obtain a reference line corresponding to an open portion of a virtual garment, determine a filling direction for filling the open portion, generate a filling mesh based on the reference line and the filling direction, and store the filling mesh corresponding to the virtual garment.

[0025] FIG. 1a is a drawing showing an open part in which the inside of the mesh is visible in a rendered garment according to one embodiment.

[0026] FIG. 1b is a drawing showing the open parts of a rendered garment according to one embodiment before and after filling with a filling mesh.

[0027] FIG. 2 is a flowchart illustrating a clothing simulation method according to one embodiment.

[0028] FIG. 3 is a drawing for explaining a baseline according to one embodiment.

[0029] FIGS. 4 to 6 are drawings for explaining a method of generating a baseline according to embodiments.

[0030] FIGS. 7a and FIGS. 7b are drawings for explaining a method for determining a target area according to embodiments.

[0031] FIGS. 8A and FIGS. 8B are drawings for explaining a method for determining a target area according to embodiments.

[0032] FIG. 9 is a drawing for explaining the type of filling mesh according to one embodiment.

[0033] FIG. 10 is a diagram illustrating a method for editing a baseline and a filling mesh according to one embodiment.

[0034] FIG. 11 is a drawing for explaining a method of representing a filling mesh in a target area according to a complex baseline according to one embodiment.

[0035] FIGS. 12a and FIGS. 12b are drawings for explaining a method of reflecting joint weights in a filling mesh according to one embodiment.

[0036] FIG. 13 is a drawing for explaining the case of exporting a garment pattern in which an open portion is filled with a filling mesh according to one embodiment.

[0037] FIG. 14 is a block diagram of an electronic device for performing a clothing simulation according to one embodiment.

[0038] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, actual implementations are not limited to the specific embodiments disclosed, and the scope of this specification includes modifications, equivalents, or substitutions included in the technical concept described by the embodiments.

[0039] In relation to the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of the noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise.

[0040] In this document, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "at least one of A, B, or C" may include any one of the items listed together in the corresponding phrase, or all possible combinations thereof.

[0041] Terms such as "first," "second," or "first" or "second" may be used simply to distinguish a component from another component and do not limit the components in other aspects (e.g., importance or order). For example, the first component may be named the second component, and similarly, the second component may be named the first component.

[0042] Where any (e.g., 1st) component is referred to as "coupled" or "connected" to another (e.g., 2nd) component, with or without the terms "functionally" or "communicationly," it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

[0043] The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to specify the existence of the described features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0044] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this specification.

[0045] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted.

[0046] FIG. 1a is a drawing showing open parts where the inside of the mesh is visible in a rendered garment according to one embodiment. Referring to FIG. 1a, open parts (holes) (110, 130) where the inside of the mesh is visible in a rendered garment (105) according to one embodiment are shown.

[0047] For example, in game platforms or simulation programs that require a high frame rate (fps), only the outer surface that is mainly seen by the user may be rendered for faster computation, and the inner surface that is not mainly seen by the user may be left unrendered and treated as transparent. In this case, the unrendered inner surface is visible through the open part (110), so the virtual clothing may appear unintentionally unnatural. To prevent this, the open parts (110, 130) may be filled in manually, but this requires a lot of time and effort from the worker.

[0048] In one embodiment, this problem can be resolved by obtaining a baseline corresponding to the holes of the virtual garment, determining a filling direction to fill the holes (110, 130), and generating a filling mesh based on the baseline and the filling direction. For example, by expressing (filling) the filling mesh in a three-dimensional area ('target area') determined in correspondence with the baseline and the filling direction, the inner surface of the garment (105) through the holes (110, 130) can be expressed more naturally. The baseline may refer to a line that serves as a reference for the position and direction for generating a mesh ('filling mesh') that fills the holes of the virtual garment. The baseline may be set automatically or may be set by user input. Refer to FIG. 1b below for the results before and after filling the holes (110, 130) with the filling mesh.

[0049] FIG. 1b is a drawing showing the open parts of a rendered garment according to one embodiment before and after filling with a filling mesh.

[0050] Referring to FIG. 1b, a rendered garment (150) before filling the open parts (153, 156) by a filling mesh according to one embodiment and a rendered garment (170) after filling the open parts (173, 176) by the filling mesh are shown. As will be explained in more detail below, the 'filling mesh' may refer to a mesh that fills the open parts (153, 156).

[0051] FIG. 2 is a flowchart illustrating a clothing simulation method according to one embodiment. Referring to FIG. 2, the process of an electronic device (e.g., the electronic device (1400) of FIG. 14) performing a clothing simulation according to one embodiment storing a filling mesh corresponding to a virtual clothing through steps (210) to (240) is illustrated.

[0052] In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel.

[0053] In step (210), the electronic device obtains a baseline corresponding to the holes of the virtual garment. The 'baseline' may correspond to a boundary line that serves as a reference when generating a filling mesh that fills the holes of the virtual garment. The baseline may correspond to a straight line, a polyline (a polygonal line), a curve, or various combinations thereof, displayed on the virtual garment and / or the garment pattern constituting the virtual garment. Polylines are described in more detail below. Baselines are described in more detail with reference to FIG. 3 below.

[0054] In one embodiment, the virtual garment may be, for example, a three-dimensional virtual garment. The virtual garment and / or the garment pattern constituting the virtual garment may be composed of a mesh containing multiple polygons. Depending on the embodiments, the mesh may be modeled in various ways. For example, the vertices of the polygons included in the mesh may be point masses having mass, and the sides of the polygons may be represented as springs having elasticity connecting the masses. Accordingly, the virtual garment may be modeled, for example, by a Mass-Spring Model. Depending on the physical properties of the fabric used, the springs may have resistance values ​​for, for example, stretch, shear, and bending. Alternatively, the mesh may be modeled by a strain model. The polygons included in the mesh may be modeled, for example, as triangles, or as polygons of quadrilateral or greater size. In some cases, when a 3D volume needs to be modeled, the mesh can be modeled as a 3D polyhedron.

[0055] The vertices of the polygon(s) contained in the mesh can be moved by external forces, such as gravity, and internal forces, such as stretch, shear, and bending. By calculating the external and internal forces to determine the force applied to each vertex, the displacement velocity and motion of each vertex can be obtained. The movement of the garment can be simulated through the movement of the vertices of the polygon(s) constituting the mesh in each time motion. For example, when a garment composed of a polygon mesh is worn on a 3D avatar, a natural 3D virtual garment based on the laws of physics can be realized. The vertices of the polygon(s) contained in the mesh can move under the action of external forces, such as gravity, and internal forces such as stretch, shear, and bending. By calculating external and internal forces to determine the force applied to each vertex, the displacement and velocity of movement of each vertex can be calculated. Additionally, the movement of virtual clothing can be simulated through the movement of the vertices of the mesh's polygons at each time step. By fitting a clothing pattern composed of polygonal meshes onto a 3D avatar, a natural-looking 3D virtual garment based on the laws of physics can be realized.

[0056] A virtual garment according to one embodiment may include, for example, at least one of a virtual garment that fits the user's body dimensions, a virtual garment for a three-dimensional virtual character, or a virtual garment for a three-dimensional virtual avatar.

[0057] Clothing patterns can correspond to each body part that constitutes a three-dimensional garment. Clothing patterns may be virtual clothing patterns modeled as a set of multiple polygons for the simulation of virtual clothing. Clothing patterns may be composed of multiple pattern pieces. Each of the multiple pattern pieces may be modeled, for example, as a polygonal mesh based on the body shape of a three-dimensional avatar. In this case, the polygonal mesh may include multiple polygons (e.g., triangles or squares, etc.).

[0058] The electronic device may obtain a baseline through user input, or it may automatically determine a baseline according to the embodiments described below.

[0059] The electronic device can obtain a baseline in a two-dimensional window where a clothing pattern is displayed. For example, the electronic device can obtain a baseline based on user input regarding a two-dimensional representation of a clothing pattern corresponding to a virtual clothing. The electronic device can generate a baseline by connecting vertices input by user selection in the clothing pattern.

[0060] The electronic device can generate a baseline based on sewing information of any one selected pattern among the garment patterns for a virtual garment. As a selection for a first vertex on any one of the garment patterns is input, the electronic device can generate a baseline by considering the sewing information of any one pattern. The method by which the electronic device generates a baseline in a two-dimensional window is explained in more detail with reference to Fig. 4 below.

[0061] The electronic device may obtain a baseline in a three-dimensional window in which a virtual garment is displayed. For example, the electronic device may obtain a baseline by user input regarding the three-dimensional representation of the virtual garment. The electronic device may generate a baseline by a line (e.g., line (510) in FIG. 5) determined by multiple points input corresponding to the three-dimensional surface of the virtual garment, or it may generate a baseline by user input through a reference plane (e.g., disk (520) in FIG. 5) provided in the three-dimensional space in which the virtual garment is displayed. The electronic device may generate a baseline by adjusting the reference plane (e.g., translation, rotation, and scaling, etc.) by a user interface (UI) (e.g., gizmo (530) in FIG. 5). The method by which the electronic device generates a baseline in a three-dimensional window is described in more detail with reference to FIG. 5 below.

[0062] Alternatively, the electronic device may generate a baseline based on at least one of a pre-set (or pre-generated) internal line segment (e.g., a curve) or an outline of a garment pattern in a virtual garment or a garment pattern for a virtual garment. The method by which the electronic device generates a baseline based on a pre-set internal line segment is described in more detail with reference to Fig. 6 below.

[0063] In step (220), the electronic device determines the direction for filling to fill the open portion.

[0064] The electronic device may determine the filling direction through prior calculation from the vertices of the mesh, or determine the filling direction by calculation from a baseline automatically generated using a score obtained through prior calculation.

[0065] According to one embodiment, an electronic device may pre-calculate and store a score corresponding to each vertex based on whether radiation rays emitted from the vertices of a virtual garment are obscured by surrounding geometry. For example, the electronic device may emit radiation rays from the vertices of the virtual garment in a hemispherical direction inside the garment. Here, 'surrounding geometry' may refer to meshes adjacent to the vertices of the virtual garment on a scene, such as a pattern mesh of an avatar and the virtual garment.

[0066] The electronic device can determine the filling direction by detecting, based on the score, the direction in which radiation rays originating from a baseline are not obscured by surrounding geometry. For example, the score for the direction in which radiation rays are obscured by surrounding geometry may be set low, and the score for the direction in which radiation rays are not obscured by surrounding geometry may be set high. The electronic device can determine the directions in which the score originating from the baseline is higher than the reference value as the filling direction. The method by which the electronic device determines the filling direction through pre-calculation from each mesh vertex is explained in more detail with reference to Figures 7a and 7b below.

[0067] Alternatively, the electronic device may automatically generate a baseline using a score obtained through prior calculation. The electronic device may generate a baseline based on a boundary line obtained by smoothing the score calculated corresponding to the vertices of the virtual garment or by converting the score into a boolean value. The method by which the electronic device automatically generates a baseline is explained in more detail with reference to Figures 8a and 8b below.

[0068] In step (230), the electronic device generates a filling mesh based on the baseline obtained in step (210) and the filling direction determined in step (220). The 'filling mesh' corresponds to a mesh for 3D rendering and may correspond to a set of polygons. For example, the electronic device can reduce rendering time by configuring the filling mesh into a simple geometric shape without complex details. The filling mesh can serve to fill the open parts of the virtual garment. Depending on the embodiment, the resolution of the filling mesh may be configured in various ways.

[0069] According to one embodiment, the filling mesh may include a first mesh corresponding to the inner surface of the virtual garment corresponding to the open portion, a second mesh corresponding to the thickness surface of the virtual garment corresponding to the open portion, a third mesh corresponding to the cover surface that blocks the open portion, or a combination thereof.

[0070] The filling mesh may include at least one of a first mesh, which is the inner mesh of the face visible with respect to the baseline, a second mesh, which is a mesh connecting the first mesh and the mesh of the virtual garment, or a third mesh, which is a mesh that blocks the inside of the mesh of the virtual garment from being visible, as illustrated in FIG. 9 below, for example. The first mesh may be called a "backside filling mesh" in that it is a mesh of the back side opposite to the front side visible with respect to the baseline. The second mesh may be called a "sideside filling mesh" in that it is a mesh of the side side connecting the first mesh and the mesh of the virtual garment. Additionally, the third mesh may be called a "cover filling mesh" in that it is a mesh that covers the inside of the mesh of the virtual garment from being visible. The shape of the third mesh may be a cone shape, a bell shape, or any one of various other shapes. The texture of the third mesh may be the same as the texture of the first mesh. The color of the third mesh may be changed arbitrarily.

[0071] The method by which the electronic device generates each type of filling mesh is as follows.

[0072] The electronic device can generate a first mesh based on the topology (e.g., vertices and edges) of the mesh of the virtual garment. The electronic device can generate the first mesh by copying the topology of the mesh of the virtual garment and then shifting the position of the vertices by the thickness of the garment pattern.

[0073] The electronic device can generate a second mesh by taking into account at least one of the curvature, resolution, or thickness between the first mesh and the mesh of the virtual garment.

[0074] The baseline generated for actual garments may not be a closed curve. For example, if the baseline corresponds to a closed curve (or closed shape), the electronic device may generate a third mesh connecting the vertices on the baseline and the center point of the closed curve (e.g., the center point (952) in FIG. 9). Alternatively, for example, if the baseline corresponds to an open curve (or open shape), the electronic device may convert the open curve (or open shape) into a closed curve (or closed shape) and then generate a third mesh connecting the vertices on the closed curve and the center point of the closed curve.

[0075] The types of filling mesh and the method by which the electronic device generates a filling mesh according to each type are explained in more detail with reference to Figure 9 below.

[0076] A baseline and / or filling mesh generated according to one embodiment can be edited by a user. A method for editing the baseline and / or filling mesh is described in more detail with reference to FIG. 10 below.

[0077] In addition, since actual garments may feature frills or other decorations, there may be cases where a single cone or bell shape cannot cover the target area corresponding to the filling direction. For example, the baseline may be complex, such as when there are multiple convex sections due to the presence of more than a preset number of folds. In such cases, the electronic device can generate a filling mesh by dividing the convex area of ​​the baseline through convex partitioning to find at least one sub-center point, and then dividing the baseline into convex sub-shapes based on at least one sub-center point. The method for generating a filling mesh according to a complex baseline is explained in more detail with reference to Fig. 11 below.

[0078] The electronic device may also reflect rigging information (e.g., rigging weights and / or joint weights) to the filling mesh. In one embodiment, the movement of the filling mesh can be expressed more naturally by automatically reflecting rigging information to the filling mesh. Here, rigging may refer to the insertion of a skeletal structure into a 3D object to allow different parts of the geometric object to move as quickly and efficiently as possible. Rigging weight may be a value indicating how much each vertex in a 3D animation is affected by a specific joint or bone (skeleton). Rigging weight is expressed as a number between 0 and 1, for example, and the closer it is to 1, the greater the influence from the movement of the corresponding bone. For example, a vertex with a rigging weight of '1' is 100% affected by the movement of the corresponding bone, while a vertex with a rigging weight of '0' may not be affected by the movement of the corresponding bone. Rigging weight may also be called joint weight in that it is a value indicating how much each vertex is affected by which joint or bone (skeleton). Hereinafter, the terms 'riging weight' and 'joint weight' may be understood as having the same meaning in this specification.

[0079] The electronic device can reflect a joint weight in at least one of the first mesh, the second mesh, or the third mesh.

[0080] For example, if the shape of the third mesh is conical, the electronic device may reflect joint weights in the filling mesh by copying the average value of the joint weights of at least one detailed center point to the center point. Alternatively, if the shape of the third mesh is bell-shaped, the electronic device may reflect joint weights in the filling mesh by interpolating the joint weights of at least one detailed center point and propagating them to the internal vertices of the third mesh. Here, 'vertices' may refer to the vertices of the polygons constituting the mesh. 'Vertex(s)' may also be referred to as 'vertices' or 'particles'.

[0081] At this time, the joint weights of the vertices on the baseline may be pre-set, for example, through a weight painting operation in 3D modeling that visually represents and adjusts how much each vertex is affected by which bone or joint, but are not necessarily limited to this. The method by which the electronic device reflects joint weights in the filling mesh is explained in more detail with reference to Fig. 12 below.

[0082] In step (240), the electronic device stores the filling mesh generated in step (230) corresponding to the virtual garment. The electronic device can display the virtual garment in three dimensions using the filling mesh and can also export the filling mesh stored corresponding to the virtual garment.

[0083] FIG. 3 is a drawing for illustrating a baseline according to one embodiment. Referring to FIG. 3, a baseline (330) marked on a virtual garment (310) and a garment pattern (320) according to one embodiment is shown.

[0084] The baseline (330) is a set of poly lines and / or curves on the virtual garment (310) and the garment pattern (320), and may correspond to a boundary line that the electronic device references when generating a filling mesh. Here, 'poly line' refers to a polygonal line and can be useful when drawing a pattern in the form of multiple straight lines or curves connected together. When using poly lines, complex curves or straight lines can be drawn accurately, which increases the precision of the pattern, and various shapes of lines can be freely combined, making it easy to implement complex designs. Since poly lines are recognized as a single object, they are easy to edit and can be changed in various ways, such as adjusting the thickness of the lines.

[0085] The baseline (330) may include an adjustable parametric point on a clothing pattern (320) constituting the virtual clothing (310) or on a mesh constituting the virtual clothing (310). The baseline (330) may include an index of the mesh on the clothing pattern (320) and the virtual clothing (310) and position information within the mesh.

[0086] The control point of the baseline (330) may be an adjustable parametric point on the mesh constituting the virtual garment (310) and / or garment pattern (320). The baseline (330) may include an index of the mesh on the virtual garment (310) and the garment pattern (320) and position information within the mesh.

[0087] A baseline (330) can be created and / or edited in a virtual garment (310) and a garment pattern (320). For example, the baseline (330) can be cross-edited on a 2D representation of a garment pattern (320) corresponding to the virtual garment (310) and a 3D representation of the virtual garment (310). Baseline-related information entered through either the 2D representation of the garment pattern (320) or the 3D representation of the virtual garment (310) can be synchronized to the other representation.

[0088] According to one embodiment, the baseline (330) may be generated separately in the virtual garment (310) and the garment pattern (320), respectively, or may be generated simultaneously in the virtual garment (310) and the garment pattern (320). The baseline (330) may be cross-edited in the virtual garment (310) and the garment pattern (320). A method for editing the baseline (330) will be explained in more detail with reference to FIG. 10 below.

[0089] FIG. 4 is a drawing for explaining a method of generating a baseline according to one embodiment. Referring to FIG. 4, a drawing is shown for explaining a method of generating a baseline (415) on clothing patterns (410, 420) displayed in a two-dimensional window by an electronic device according to one embodiment.

[0090] The electronic device can generate a baseline (415) by connecting vertices input by user selection in clothing patterns (410, 420).

[0091] The electronic device can draw polylines and / or (Bézier) curves by clicking vertices on the clothing patterns (410, 420) displayed in a two-dimensional window. When the user clicks on vertices on the clothing patterns (410), a polyline, that is, a baseline (415), can be created on the clothing patterns (410). When the user presses the modifier (ctrl) and clicks on vertices on the clothing patterns (420), curve control points (425) can be created on the clothing patterns (420).

[0092] The electronic device can generate a baseline (415) by turning on / off snapping according to at least one of the boundaries of the clothing patterns (410, 420), internal line segments, or wireframes of the mesh constituting the clothing patterns (410, 420). Here, a 'wireframe' may be a line representation of the structure of an object in 3D computer graphics. A wireframe can be used to simply visualize the shape and structure of an object. A wireframe may consist of each vertex of an object and the edges connecting them. The electronic device can simply represent the shape of an object through a wireframe, allowing the user to easily understand and modify complex models. Additionally, a wireframe may be a method for visually representing the structure and shape of a model.

[0093] 'Snapping' in simulations can refer to a feature where objects or elements are automatically aligned to specific positions or angles. Snapping can be used to aid in precise placement and alignment. For example, when aligning two objects, enabling the snapping function allows the objects to automatically align with the nearest grid line or the boundary of another object. Lines drawn by the user with a 3D pen can be drawn along 'boundaries, internal segments, and / or wireframes of meshes that make up garment patterns.' Here, the expression 'drawn along' can refer to the aforementioned snapping. Snapping can be performed on the vertices of a mesh and the edges connecting them.

[0094] In one embodiment, curve information input in the clothing patterns (410, 420) is reflected in the mesh of the corresponding virtual clothing in real time so that a reference line can be drawn on the virtual clothing. The user can input a reference line by alternately using mouse clicks on the clothing patterns (410, 420) and inputs using a pen tool (hereinafter referred to as 'pen') on the 3D image.

[0095] A set of curves corresponding to the baseline (415) must be connected in three dimensions to generate a clean filling mesh. Therefore, when the electronic device creates a baseline by clicking a point of any one of the garment patterns (410, 420), it can also create a baseline on other patterns connected to (sewing together with) that one pattern according to the sewing information of that pattern, thereby allowing the baseline displayed on the virtual garment to be expressed smoothly and without interruption.

[0096] According to an embodiment, the electronic device can generate a baseline (415) by considering sewing information of one of the patterns as input of a selection for a first vertex on one of the clothing patterns (410, 420).

[0097] The electronic device can generate a baseline (415) by creating a line on another pattern connected via a sewing line from a first point on any one of the garment patterns (410, 420). If the first point selected by the user corresponds to another pattern (420) connected (sewing) together with any one of the patterns (410), the electronic device can generate a baseline (415) by displaying the selected point and creating a line connected via a sewing line from the selected point on the other pattern (420).

[0098] For example, let's assume there are garment patterns a and b sewn together, point c on pattern a, and point d on pattern b. In this case, points c and d may have been selected sequentially by the user. In this case, the electronic device can create a baseline by connecting the previous point c, which was created prior to point d, with the sewing line between garment pattern a and garment pattern b. To create a baseline connecting point d and point c, the electronic device can create additional overlapping points on the sewing line between pattern a and pattern b, connect the curves, and create (set) the corresponding curve as the baseline. At this time, one additional point is created on pattern a and one additional point is created on pattern b; however, when the sewing lines of the additionally created points are combined, they may appear as a single point existing at the same location.

[0099] Alternatively, let us assume there are patterns a and e that are not sewn together, point f on pattern a, and point g on pattern e. In this case, points f and g may have been selected sequentially by the user.

[0100] In one embodiment, the method for creating a baseline between patterns that are not sewn together is almost similar to the method for creating a baseline between patterns that are sewn together, but differs in that the location of the additionally created point can be determined as the nearest point or by extrapolation rather than on the sewing line.

[0101] In other words, the electronic device can add a point at a point on the pattern boundary closest to point f in pattern a, or at a point that overlaps with the pattern boundary when the line drawn before point f is extrapolated and extended. Additionally, the electronic device can add a point at a point on the pattern boundary closest to point g in pattern e, or at a point that overlaps with the pattern boundary when the line drawn after point f is extrapolated and extended.

[0102] FIG. 5 is a drawing for explaining a method of generating a baseline according to one embodiment. Referring to FIG. 5, a drawing is shown for explaining a method of generating a baseline on a virtual garment (501, 505) displayed in a three-dimensional window by an electronic device according to one embodiment.

[0103] The electronic device can generate a baseline in a three-dimensional window in which a virtual garment (501, 505) is displayed. The electronic device can also generate a baseline by a line (510) that the user inputs into the virtual garment (501) by a pen. The electronic device can set (generate) a continuous line (510) that the user inputs into the virtual garment (501), for example, by a pen or a mouse click, as a guideline.

[0104] Alternatively, the electronic device may create a reference plane (520) in three-dimensional space and set (create) a curve on which the virtual garment (505) is cut by the reference plane (520) as a reference line. The electronic device may create a reference plane (520) in the shape of surrounding the virtual garment (505) in three-dimensional space where the virtual garment (505) is displayed, and may adjust the reference plane (520) (e.g., move, rotate, and scale transformation, etc.) by a gizmo (530), which is one of the user interfaces. The 'gizmo' (530) may correspond to an example of a user interface (UI) used to move, rotate, and scale objects in CAD and 3D modeling software. The gizmo (530) may correspond to a tool that helps to visually easily perform tasks such as moving, rotating, and scaling objects. The gizmo (530) is composed of elements representing, for example, arrows, circular handles, and / or axes, and can function as an interface that can visually display and manipulate the transformation of an object.

[0105] The electronic device can generate a baseline by creating a curve that is cut into a polyline through a reference plane (520) that is moved, rotated, and / or scaled by the gizmo (530). In this case, the reference plane (520) adjusted by the gizmo (530) can be snapped at a specific angle (e.g., 0 degrees, 45 degrees, 90 degrees) to facilitate creation in domains requiring a disc-shaped filling mesh (e.g., sleeves, skirt hems, etc.). For example, if the baseline generated by the adjustment of the reference plane (520) passes through an avatar wearing a virtual garment (505), the electronic device can generate a baseline by the reference plane (520) snapped at a specific angle in a direction perpendicular to the joints of the avatar. In this case, the specific angle can be set to various references depending on, for example, the orientation of the avatar or the virtual garment.

[0106] In Fig. 5, the curve information cut by the reference plane (520) can be reflected in the mesh of the garment pattern in real time and displayed as a reference line.

[0107] FIG. 6 is a drawing for explaining a method of generating a baseline according to one embodiment. Referring to FIG. 6, a drawing is shown for explaining a method of generating a baseline (650) based on at least one internal line segment (610, 620, 630, 640) that is pre-set in a virtual garment or garment pattern (601) according to one embodiment.

[0108] The electronic device can convert any one of the at least one internal line segment (610, 620, 630, 640) pre-set in the virtual garment or pattern (601) selected by the user (e.g., internal line segment (610)) into a baseline (650).

[0109] Alternatively, the electronic device may receive an offset distance and direction for at least one previously generated internal line segment (610, 620, 630, 640). The electronic device may generate a parametric curve spaced apart from at least one previously generated internal line segment (e.g., internal line segment (610)) by the offset distance and direction. The electronic device may set the generated parametric curve as a reference line (650).

[0110] The electronic device can help the user modify or edit the baseline (650) by drawing a ghost line at the location where the baseline (650) is expected to be created according to the input offset distance. Here, the ghost line may not be an actual line but an auxiliary line displayed on the screen to visually guide the expected location. The ghost line may be represented, for example, in a lighter color than the actual line, a dotted line, translucent, etc.

[0111] According to an embodiment, the electronic device may use not only internal line segments but also the outline of a garment pattern as the basis for a reference line. For example, the electronic device may create a reference line parallel to the skirt hem at a point offset by 15 cm from the skirt hem.

[0112] In one embodiment, by generating a filling mesh for a target area determined based on a baseline and a filling direction, the representation quality of the filling mesh can be improved, while the rendering time for the representation of the filling mesh can be reduced.

[0113] FIGS. 7A and FIGS. 7B are drawings for explaining a method for determining a filling direction according to one embodiment.

[0114] Referring to FIG. 7a, a process is illustrated in which an electronic device according to one embodiment determines a filling direction for filling a filling mesh in a virtual garment based on a reference line (701).

[0115] When a baseline (701) is generated through the process described above, the virtual garment can be divided into an upper area (705) and a lower area (708) based on the baseline (701), as shown in the drawing (710). The electronic device can determine the area among the divided areas (705, 708) where the filling mesh needs to be generated by user input (e.g., mouse click or pen touch, etc.), that is, the filling direction to fill the filling mesh. At this time, the target area to be filled with the filling mesh (e.g., the lower area (708)) can be determined by the determined filling direction.

[0116] When a user moves between the upper area (705) of the virtual garment shown in drawing (710) and the lower area (725) of the virtual garment shown in drawing (720) by mouse hovering, the area where the mouse is located may be highlighted. When the user selects the lower area (735) of the virtual garment as in drawing (730), the electronic device may determine the area (e.g., the lower area (735)) as the filling direction to fill the filling mesh. The electronic device may generate a filling mesh in the target area (745) corresponding to the selected filling direction as in drawing (740).

[0117] Referring to FIG. 7b, a process is illustrated in which an electronic device according to one embodiment determines a filling direction and / or an area ('target area') corresponding to the filling direction to generate a filling mesh in a clothing pattern based on a reference line (701).

[0118] When a baseline (701) is generated through the above-described process, the clothing pattern can be divided into an upper area (754) and a lower area (752) as shown in the drawing (750) based on the baseline (701). At this time, the electronic device can determine the filling direction for any one of the divided areas (752, 754) where the filling mesh needs to be generated (e.g., the lower area (752)).

[0119] For example, when a user moves between the lower area (765) of the garment pattern as in drawing (760) and the upper area (775) of the garment pattern as in drawing (770) by mouse hovering, the area where the mouse is located may be highlighted. When the user clicks the lower area as in drawing (780), the electronic device may determine the lower area as the filling direction. Corresponding to the filling direction, the electronic device may determine the area (e.g., the lower area) as the target area (785) and generate a filling mesh in the target area (785).

[0120] The baseline (701) may span across multiple garment patterns constituting the virtual garment, but the electronic device may define the sewing-connected patterns among the garment patterns shown in drawing (790) as the target area (797) where the filling mesh is filled, as in drawing (795), with a single click. Alternatively, the electronic device may re-select the target area for each garment pattern individually through subsequent editing.

[0121] The target area (785,797) can be selected at the intersection of the garment pattern and the virtual garment, just like the creation of the baseline.

[0122] FIGS. 8a and 8b are drawings for explaining a method for determining a filling direction according to one embodiment. Referring to FIG. 8a, drawings (810, 830) are shown for explaining an embodiment in which an electronic device according to one embodiment automatically determines a filling direction to generate a filling mesh.

[0123] In drawings (810, 830), among the radiation rays(s) (813, 841, 843), the radiation ray indicated by an arrow in the direction of emission represents a ray that is not obscured by surrounding geometry, and the radiation ray indicated by a circle in the direction of emission represents a ray that is obscured by surrounding geometry.

[0124] Drawing (810) illustrates an embodiment in which an electronic device determines a filling direction using a score obtained through prior calculation. The electronic device may emit radiation beam(s) (813) in the direction of the back (e.g., opposite to the normal vector) hemisphere (180 degrees) from each of the vertices (811) of the virtual garment. The electronic device may determine whether the radiation beam(s) (813) are obscured by surrounding geometry, that is, whether the radiation beam(s) (813) propagate far without being blocked by surrounding garment patterns, etc. (or how far they propagate before being blocked by surrounding geometry, etc.). The electronic device may pre-calculate and store a score corresponding to each of the vertices of the virtual garment. Here, 'surrounding geometry' may refer to meshes on the scene, such as pattern meshes of the avatar and virtual garment. At this time, the score corresponding to a vertex where the direction in which the radiation(s) (813) are obscured by surrounding geometry is many is set low, and the score corresponding to a vertex where the direction in which the radiation(s) (813) are not obscured by surrounding geometry is many is set high. Alternatively, the score may be set in proportion to the degree of propagation before being obscured by surrounding geometry. The electronic device may determine the direction in which the score is higher than a certain threshold value with respect to a reference line, that is, the direction in which the number of radiation(s) (813) propagating far is greater than a certain threshold, as the filling direction (847). The filling direction (847) can be used to set the central axis of the three-dimensional structure of the filling mesh.

[0125] For example, when a reference line is input by a user, the electronic device can determine the direction in which radiation rays are not relatively obscured relative to the input reference line as the filling direction. In this case, the 'direction in which radiation rays are not relatively obscured' may refer to a direction in which a pre-calculated score is higher than a certain threshold. The electronic device can generate a filling mesh in an area ('target area') corresponding to the filling direction. An example of the specific shape of the target area will be described later through FIG. 9.

[0126] Drawing (830) illustrates an embodiment in which an electronic device determines a filling direction from a reference line (840) entered by a user. When a user enters a reference line (840), the electronic device may emit radiation beam(s) (841, 843) from a point (845) on the reference line (840). The electronic device may search for a primary direction (847) (e.g., a 45-degree direction to the lower left) of the radiation beam(s) (841, 843) that is not obscured by surrounding geometry or is projected further than a certain reference. The electronic device may determine the searched primary direction (847) as a filling direction with respect to the reference line (840) as a boundary and generate a filling mesh based on the filling direction.

[0127] Referring to FIG. 8b, drawings (850, 870) are shown to explain a method for an electronic device to determine a filling direction according to a baseline automatically generated using a score obtained through prior calculation.

[0128] The electronic device can automatically generate a smooth baseline by smoothing the score calculated corresponding to each of the vertices of the virtual garment shown in drawing (850) in the preliminary calculation described through FIG. 8a. Alternatively, the electronic device can automatically generate a baseline by converting the score calculated corresponding to each of the vertices of the virtual garment shown in drawing (850) in the preliminary calculation into a boolean value. The electronic device can automatically generate a baseline corresponding to an area where one side is open, such as the neck area, sleeve area, or hem area, and where the aforementioned score is higher than a certain standard.

[0129] The electronic device determines the filling direction for generating a filling mesh in the virtual garment shown in the drawing (870) according to the automatically generated baseline, and can generate a filling mesh (875) based on the baseline and the filling direction.

[0130] An electronic device according to one embodiment can reduce the amount of computation by controlling the mesh size of the filling mesh (875).

[0131] The electronic device can generate a filling mesh (875) with a small amount of computation by adjusting the distance between the vertices constituting the filling mesh (875), and then apply the calculation result to a high resolution. In other words, the electronic device can reduce the amount of computation by filling the filling mesh with a small amount of computation in a low-resolution virtual garment where the distance between the vertices constituting the filling mesh (875) is relatively far, and then applying the result to a high-resolution virtual garment where the distance between the vertices is relatively close.

[0132] Electronic devices can reduce the amount of prior computation by, for example, lowering the mesh size from a high-resolution virtual garment with very narrow particle spacing to a low-resolution one with relatively wide particle spacing.

[0133] Alternatively, the electronic device may maintain an open area that allows the inside to be seen, for example, as shown in Fig. 1b, by adjusting the particle spacing while maintaining the draping shape of the garment. For example, since the two-dimensional shape of the garment pattern is the same at high resolution and low resolution, the electronic device may interpolate the open area that allows the inside to be seen in the virtual garment to the high-resolution virtual garment.

[0134] FIG. 9 is a drawing for illustrating the type of filling mesh generated according to one embodiment. Referring to FIG. 9, a filling mesh is shown comprising a first mesh (930), a second mesh (940), and a third mesh (950) represented with respect to a baseline (920) in a mesh (910) of a virtual garment (e.g., a sleeve portion (901)) according to one embodiment.

[0135] The first mesh (930) corresponds to the inner mesh of the surface that is exposed with respect to the baseline (920) and can be represented in the part that contacts the avatar's arm portion (903). The electronic device can generate the first mesh (930) based on the topology of the virtual clothing mesh (910) so that the wireframe does not twist. The electronic device can copy the topology (e.g., vertices and edges) of the virtual clothing mesh (910) as is and then move the position of the vertices by the thickness of the clothing pattern. At this time, the size (distance) of the offset becomes the thickness of the clothing pattern, and the direction can be the direction of the normal vector of the virtual clothing mesh (910).

[0136] According to an embodiment, the electronic device may selectively determine whether to create a filling mesh on the outside or on the inside based on the normal vector of the mesh (910) of the virtual garment, or may determine it by the user's choice. Depending on the filling direction in which the filling mesh is created, the direction of the offset may be the direction of the normal vector or the opposite direction of the normal vector.

[0137] If the baseline (920) is on the boundary line of the garment pattern, the electronic device may not generate the first mesh (930). The texture of the first mesh (930) may follow the texture of the back material, or may have the same texture as the virtual garment (e.g., sleeve portion (901)).

[0138] The second mesh (940) may correspond to a mesh connecting the first mesh (930) and the mesh (910) of the virtual garment (e.g., sleeve portion (901)), that is, a side mesh that blocks the side surface formed according to the thickness of the garment pattern. The electronic device may generate the second mesh (940) by considering at least one of the curvature, resolution, or thickness between the first mesh (930) and the mesh (910) of the virtual garment (e.g., sleeve portion (901)). The electronic device may form (generate) the second mesh (940) by reflecting the distance (thickness) between the first mesh (930) and the mesh (910) of the virtual garment (e.g., sleeve portion (901)). The shape of the second mesh (940) may vary depending on the number of polygons included according to the set resolution and / or curvature. For example, if the resolution of the second mesh (940) is set high, the electronic device can represent curves or details (e.g., wrinkles) more smoothly and realistically by generating a larger number of polygons corresponding to the second mesh (940). The electronic device can adjust the shape of the second mesh (940) into a rounded or angular shape depending on the curvature of the second mesh (940).

[0139] The texture of the second mesh (940) may follow the texture of the side material, or it may have the same texture as the virtual garment (e.g., sleeve part (901)).

[0140] The third mesh (950) may correspond to a mesh that prevents the inside of the mesh (910) of the virtual garment (e.g., sleeve portion (901)) from being visible. The shape of the third mesh (950) may be, for example, a cone shape based on the center point (952) as in drawing (951), or a bell shape based on the center point (952) as in drawing (953). In this case, the center point (952) may correspond to the point obtained by arithmetically averaging the positions of the vertices existing on the reference line (920). The electronic device may determine the offset by referring to the position where the cursor is clicked in the lower area (725) of the garment pattern in drawing (720) of FIG. 7a and the distance from the reference line (920). The electronic device can, for example, generate a center point (952) at a position offset in the normal direction of the virtual plane where the baseline (701) is generated in FIG. 7a.

[0141] The central axis of the three-dimensional structure of the filling mesh (e.g., cone shape or bell shape, etc.) can be set parallel to the filling direction.

[0142] The texture of the third mesh (950) may be the same as the texture of the first mesh (930). The color of the third mesh (950) may be changed arbitrarily.

[0143] For example, if the baseline (920) corresponds to a closed curve (or closed shape), the electronic device may generate a third mesh (950) that connects the vertices on the baseline (920) and the center point (952) of the closed curve. Alternatively, if the baseline (920) corresponds to an open curve (or open shape), the electronic device may convert the open curve (or open shape) into a closed curve (or closed shape) and then generate a third mesh (950) that connects the vertices on the baseline (920) and the center point (952) of the closed curve.

[0144] If the shape of the third mesh (950) is cone-shaped as in the drawing (951), the resolution is the lowest, so the generation time is shortened, but the image quality may be reduced. If the shape of the third mesh (950) is bell-shaped as in the drawing (953), the third mesh (950) can be naturally connected to the first mesh (930) and the second mesh (940) depending on the resolution.

[0145] FIG. 10 is a drawing for explaining a method for editing a baseline and a filling mesh according to one embodiment. Referring to FIG. 10, a drawing (1010, 1030) for explaining a method for editing a baseline according to one embodiment and a drawing (1050, 1070, 1090) for explaining a method for editing a filling mesh are shown.

[0146] An electronic device according to one embodiment may edit a baseline (1015) based on user input (e.g., pen input) in a three-dimensional window displaying a virtual garment such as drawing (1010), and may also edit a baseline (1035) based on user input (e.g., pen input) in a two-dimensional window displaying a garment pattern such as drawing (1030).

[0147] A baseline (1015, 1035) according to one embodiment may be cross-edited in the virtual garment shown in drawing (1010) and the garment pattern shown in drawing (1030). Additionally, the baseline (1015, 1035) may be generated separately in the garment pattern shown in drawing (1030) and the virtual garment shown in drawing (1010), respectively, or may be generated simultaneously in the garment pattern and the virtual garment.

[0148] When a baseline (1015, 1035) is created by pen input, information that can be referenced (e.g., mesh boundary, internal line segment, mesh wireframe, or specific angle, etc.) can be snapped to the baseline (1015, 1035) when editing the baseline (1015, 1035) just as it was when created.

[0149] Alternatively, if a baseline (1015, 1035) is created through a reference plane adjusted by a user interface (e.g., a gizmo), the electronic device may likewise edit (modify) the baseline (1015, 1035) by the gizmo. In this case, for the convenience of user input, when rotating the reference plane, the reference plane may be snapped to a specific angle (e.g., a specific angle of a 3D disk (0 degrees, 45 degrees, 90 degrees, etc.)). A baseline may be created along a line where the snapped reference plane intersects the garment. If the baseline created by adjusting the reference plane passes through an avatar wearing a virtual garment, the electronic device may also edit the baseline by the reference plane snapped to a specific angle and / or a specific direction (e.g., a direction perpendicular to the avatar's joints).

[0150] The electronic device can re-select the target area where the filling mesh will be generated among the areas divided by the reference lines (1015, 1035).

[0151] Additionally, the electronic device may change the shape of the third mesh into a cone shape as in drawing (1050), or change it into a bell shape as in drawing (1070) or drawing (1090). Alternatively, the electronic device may change the size (height) and / or position of the third mesh, which has been changed into a bell shape as in drawing (1070), to a bell shape as in drawing (1090) by adjusting parameters as in Table 1 below.

[0152]

[0153] The position of the centerpoint of the third mesh may be determined through a gizmo adjusted by the user in the 3D window, in addition to the attribute value adjusted by the electronic device.

[0154] FIG. 11 is a diagram illustrating a method for generating a filling mesh according to a complex baseline according to one embodiment.

[0155] Referring to FIG. 11, drawings (1110, 1120, 1130, 1140, 1150, 1160, 1170, 1180) are shown to explain a method for expressing a filling mesh in a case where the baseline according to one embodiment is not a closed curve and there are multiple wrinkles in the baseline, making it difficult to express it as a single cone shape or a single bell shape.

[0156] Due to the nature of the virtual garment, the baseline may be an open curve with a portion open, as shown in drawing (1110). In this case, the electronic device can transform the open curve into a single closed curve, as shown in drawing (1130), by filling the open portion of the open curve with a filling mesh, as shown in drawing (1120).

[0157] When a reference line of a closed curve appears complex as in drawing (1130), that is, when there are more than a preset number (e.g., 2) of wrinkles in the reference line, the electronic device can divide the convex area of ​​the reference line by convex partitioning (1140) to find a center point (1151) and / or at least one sub-center point (1153, 1155) as in drawing (1150).

[0158] The electronic device can generate a filling mesh by dividing a reference line into convex sub-shapes as in drawing (1160) based on a center point (1151) and / or at least one detailed center point (1153, 1155). The electronic device can perform meshing for each part of the filling mesh by considering the center point (1151) and / or at least one detailed center point (1153, 1155). The center point (1151) and / or at least one detailed center point (1153, 1155) can be used as reference points for meshing.

[0159] The electronic device may mesh the filling mesh in a cone shape as shown in drawing (1170), or mesh the filling mesh in a bell shape as shown in drawing (1180). In this case, the electronic device may reduce rendering time by generating the filling mesh with a small number of faces allocated to the filling mesh. The boundary surface of the third mesh, which blocks the inside of the mesh from being visible, can be determined by the vertices of the baseline.

[0160] FIGS. 12a and FIGS. 12b are drawings for explaining a method of reflecting joint weights in a filling mesh according to one embodiment.

[0161] Referring to FIGS. 12a and 12b, vertices (e.g., detailed center point (1230), inner vertex (1240), and center point (1250)) generated by a filling mesh according to one embodiment and vertex(s) (1210) on a baseline are shown. At this time, since the point(s) (1210) on the baseline are point(s) that already existed on the garment pattern, joint weight values ​​may exist. On the other hand, the newly generated vertices (e.g., detailed center point (1230), inner vertex (1240), and center point (1250)) inside the baseline may have empty joint weight values. Below, a method for filling the joint weights of the newly generated points (e.g., detailed center point (1230), inner vertex (1240), and center point (1250)) inside the baseline is described.

[0162] Referring to FIG. 12a, a diagram is shown to explain a method for reflecting joint weights in a filling mesh that is meshed in a conical shape according to one embodiment. The electronic device can reflect joint weights in the filling mesh using the joint weight of the center point (1250) obtained in the process of FIG. 11 described above, without performing a separate meshing operation to fill the mesh.

[0163] The electronic device can obtain the joint weight value of the center point (1250) by averaging the joint weight values ​​of the vertex(s) (1210) on the reference line connected to the center point (1250) and the edge of the mesh. The electronic device may, for example, obtain the joint weight value of the center point (1250) by averaging the joint weight values ​​of the center point (1250) and the vertex(s) (1210) on the reference line by distance weighting as in Equation 1 below, or by averaging them by arithmetic as in Equation 2 below.

[0164] For example, if the shape of the third mesh is conical as in FIG. 12a, the electronic device can reflect the joint weights in the filling mesh by copying the average value of the joint weights of the detailed center point(s) (1230) along the reference line to one center point (CP) (1250) of the reference line. In this case, the 'average value' of the joint weights corresponding to the detailed center point(s) (1230) may be a distance-weighted average value of the joint weights corresponding to the detailed center point(s) (1230) as in Equation 1 below, or an arithmetic average value as in Equation 2 below.

[0165]

[0166]

[0167] Here, can represent a set of indices of vertices on the baseline. can represent the i-th vertex on the baseline. (or briefly )Is It can represent the j-th center point associated with the set.

[0168] Is and It can represent the distance of the line segments connecting them.

[0169] is a joint weight of CP or P, which may correspond to a weight value indicating how much the corresponding point (e.g., CP or P) is affected by the avatar's joints.

[0170] Referring to FIG. 12b, a drawing is shown to explain a method for reflecting joint weights in a filling mesh that is meshed in a bell shape according to one embodiment.

[0171] For example, if the shape of the third mesh is bell-shaped as in FIG. 12b, the electronic device can reflect the joint weight in the filling mesh by interpolating the joint weight of at least one detailed center point (1230) along the reference line and propagating it to the inner vertices (1240) and / or center point (1250) of the third mesh.

[0172] In FIG. 12b, when the filling mesh is meshed in a bell shape, internal vertices (1240) may be generated in addition to the center point (1250) obtained in the process of FIG. 11 described above. In this case, the center points (e.g., detailed center point (1230) and center point (1250)) can be connected to each other by the edges of the mesh, not only to the vertices on the baseline but also to the internal vertices (1240). At this time, since the center points (e.g., detailed center point (1230) and center point (1250)) are connected to the internal vertices (1240) for which the joint weight value is not yet known, the joint weight cannot be obtained explicitly.

[0173] The electronic device can calculate the joint weights of all vertices (e.g., detailed center point (1230), internal vertex (1240), and center point (1250)) located inside the baseline from the joint weights of vertex(s) (1210) located on the baseline using various interpolation methods, such as a Laplacian matrix.

[0174] The electronic device can, for example, set the joint weight of a baseline as the true value (constraint) and interpolate the weight values ​​of all vertices existing inside the baseline (e.g., detailed center point (1230), inner vertex (1240), and center point (1250)). At this time, the electronic device can calculate the joint weight of all vertices existing inside the baseline (e.g., detailed center point (1230), inner vertex (1240), and center point (1250)) by interpolating by reflecting the geometry characteristics of the mesh (e.g., third mesh), such as the distance and angle from the baseline where the already known joint weight value ('true value') exists.

[0175] The electronic device may set the joint weight of at least one detailed center point (1230) along the baseline as a true value or a constraint. The electronic device may propagate the joint weight of at least one detailed center point (1230) to the inner vertices (1240) and center point (1250) of the third mesh. The electronic device may propagate the joint weight of at least one detailed center point (1230) to the inner vertices (1240) and / or center point (1250) of the third mesh by smoothly interpolating so that the distance and / or angle from the baseline or at least one detailed center point (1230) is reflected.

[0176] For example, the electronic device may reflect a large amount of the joint weight of at least one detail center point (1230) in the inner vertices (1240) that are close to at least one detail center point (1230). Alternatively, the electronic device may reflect a small amount of the joint weight of at least one detail center point (1230) in the inner vertices (1240) that are far from at least one detail center point (1230). The electronic device may reflect a progressively smaller amount of the joint weight of at least one detail center point (1230) as the inner vertices (1240) move progressively further away (closer) from at least one detail center point (1230).

[0177] Alternatively, the electronic device may reflect a large amount of the joint weight of at least one detailed center point (1230) in the inner vertices (1240) located in an angle range similar to that of at least one detailed center point (1230) (e.g., within 0 to 45 degrees). Alternatively, the electronic device may reflect a small amount of the joint weight of at least one detailed center point (1230) in the inner vertices (1240) located in an angle range different from that of at least one detailed center point (1230) (e.g., within 45 to 90 degrees).

[0178] FIG. 13 is a drawing for explaining the case of exporting a garment pattern in which an open portion is filled with a filling mesh according to one embodiment.

[0179] The electronic device can fill the open parts with a filling mesh before exporting, for example, a game character or avatar wearing the virtual costume shown in drawing (1310).

[0180] When the electronic device exports a game character or avatar wearing the virtual costume shown in drawing (1310), it may also export texture information (e.g., UV Map) in addition to the mesh information and / or rigging information of the aforementioned filling mesh (e.g., joint weights described in FIG. 11 and FIG. 12a, 12b).

[0181] For example, the electronic device may use the texture defined in the front panel pattern or back panel pattern (1336) shown in drawing (1330) in the first mesh, second mesh and / or third mesh (1326) shown in drawing (1320). In this case, the electronic device may reflect the UV Map of the front panel pattern and back panel pattern as is in the first mesh, second mesh and / or third mesh.

[0182] In contrast, if an arbitrary color is to be applied to a portion of the garment (e.g., an open portion (1324)) shown in drawing (1320), the electronic device may create a new UV dummy (1334) corresponding to the arbitrary color, as shown in drawing (1330). In this case, the electronic device may create a small square UV dummy corresponding to each newly applied color. The electronic device may randomly or together create small square UV dummys (1334) in locations that do not overlap with other UV objects.

[0183] FIG. 14 is a block diagram of an electronic device for performing a clothing simulation according to one embodiment. Referring to FIG. 14, an electronic device (1400) according to one embodiment may include a memory (1410), a processor (1420), a display (1430), and a user interface (1440). The memory (1410), the processor (1420), the display (1430), and the user interface (1440) may be connected to each other via a communication bus (1305).

[0184] The memory (1410) stores instructions executed by the processor (1420). The instructions cause the processor (1420) to perform the aforementioned costume simulation method.

[0185] The processor (1420) obtains a baseline corresponding to an open part of the virtual garment. The processor (1420) determines a filling direction to fill the open part. The processor (1420) generates a filling mesh based on the baseline and the filling direction. The processor (1420) stores the filling mesh corresponding to the virtual garment. The processor (1420) can output the virtual garment with the stored filling mesh to a display (1430), etc.

[0186] The processor (1420) may be one or more.

[0187] The display (1430) can output at least one of the results of a simulation performed by the processor (1420) for clothing patterns or virtual clothing. The display (1430) can display clothing patterns and / or virtual clothing in which a filling mesh is stored (or represented) through the simulation of the processor (1420).

[0188] The user interface (1440) can receive user input for a clothing pattern and / or a virtual clothing. The user interface (1440) can receive user input (e.g., baseline input or mouse click, etc.) for a clothing pattern(s) and / or a virtual clothing displayed in three-dimensional space, for example, through a stylus pen or a mouse click, etc.

[0189] The display (1430) and user interface (1440) may be optionally configured according to the embodiment.

[0190] The memory (1410) can store various information generated during the processing of the processor (1420) described above. The memory (1410) can store a virtual garment in which a filling mesh is stored.

[0191] According to one embodiment, the memory (1410) can store a program in which the aforementioned clothing simulation method is implemented through FIGS. 1 to 13. In addition, the memory (1410) can store various data and programs. The memory (1410) may include volatile memory or non-volatile memory. The memory (1410) may store various data by having a large-capacity storage medium such as a hard disk.

[0192] Additionally, the processor (1420) may perform at least one method or an algorithm corresponding to at least one method described above through FIGS. 1 to 13. The processor (1420) may be a data processing device implemented in hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program. The processor (1420) may be composed of, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a NPU (Neural Network Processing Unit). For example, the electronic device (1400) implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an ASIC (Application-Specific Integrated Circuit), or a FPGA (Field Programmable Gate Array).

[0193] The processor (1420) can execute a program and control the electronic device (1400). The program code executed by the processor (1420) can be stored in memory (1410).

[0194] An electronic device (1400) according to one embodiment can receive data from a user through an input / output device (I / O) and output generated data. For example, the electronic device (1400) can receive user input (e.g., selection of 2-dimensional clothing pattern(s)) through an input / output device and can output the result of performing a simulation by reflecting the deformation according to the user input together with the clothing patterns. The electronic device (1400) can be connected to an external device (e.g., a personal computer or a network) through an input / output device and exchange data.

[0195] An electronic device (1400) according to one embodiment may further include other components not illustrated. For example, the electronic device (1400) may further include a communication module that provides a function for the electronic device (1400) to communicate with another electronic device or another server via a network. Also, for example, the electronic device (1400) may further include other components such as a transceiver, various sensors, a database, etc.

[0196] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.

[0197] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or instruct the processing unit independently or collectively. Software and / or data may be stored on any type of machine, component, physical device, virtual equipment, computer storage medium, or device so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer-readable recording media.

[0198] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may store program instructions, data files, data structures, etc., either individually or in combination, and the program instructions recorded on the medium may be those specifically designed and configured for the embodiment or those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

[0199] The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

[0200] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based thereon. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.

[0201] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.

Claims

1. A step of obtaining a baseline corresponding to an open part (hole) of a virtual garment; A step of determining the direction for filling to fill the above-mentioned open portion; A step of generating a filling mesh based on the above baseline and the above filling direction; and Step of storing the filling mesh corresponding to the virtual garment A costume simulation method including 2. In Paragraph 1, The step of obtaining the above baseline is A step of obtaining the baseline by user input regarding a two-dimensional representation of a clothing pattern corresponding to the virtual clothing. A costume simulation method including 3. In Paragraph 1, The step of obtaining the above baseline is A step of obtaining the baseline based on user input regarding the 3D representation of the virtual garment. A costume simulation method including 4. In Paragraph 1, The step of obtaining the above baseline is A step of generating the baseline by snapping according to at least one of the boundary, internal line segment, or wire frame of the mesh constituting the garment pattern for the virtual garment. A costume simulation method including 5. In Paragraph 1, The step of obtaining the above baseline is A step of generating the baseline based on sewing information of any one pattern selected from the clothing patterns for the virtual clothing above. A costume simulation method including 6. In Paragraph 1, The step of obtaining the above baseline is A step of generating the reference line by user input through a reference plane displayed in a three-dimensional space where the virtual garment is displayed. A costume simulation method including 7. In Paragraph 6, The step of generating the above baseline is A step of generating the reference line along the line where the reference plane snapped at a specific angle intersects the virtual garment. A costume simulation method including 8. In Paragraph 1, The step of obtaining the above baseline is A step of generating the baseline based on at least one internal line segment previously generated in the virtual garment or the garment pattern for the virtual garment, or at least one of the outline of the garment pattern. A costume simulation method including 9. In Paragraph 8, The step of generating the baseline based on at least one previously generated curve is as follows: A step of receiving an offset distance and direction for at least one internal line segment generated above; A step of generating a parametric curve spaced apart from at least one internal line segment generated above by the offset distance and direction; and Step of setting the above parametric curve as the above baseline A costume simulation method including 10. In Paragraph 1, The above baseline is It includes an adjustable parametric point on a clothing pattern constituting the virtual clothing or a mesh constituting the virtual clothing, and A clothing simulation method comprising the above clothing pattern, the index of the mesh on the virtual clothing, and position information within the mesh.

11. In Paragraph 1, The above baseline is Cross-editing is possible between the 2D representation of the clothing pattern corresponding to the virtual clothing and the 3D representation of the virtual clothing, and Information input through either the 2D representation of the above-mentioned clothing pattern or the 3D representation of the above-mentioned virtual clothing is synchronized to the other. Costume simulation method.

12. In Paragraph 1, A step of calculating a score corresponding to each of the vertices based on whether radiation rays emitted from the vertices of the virtual garment are obscured by surrounding geometry. Includes more, A clothing simulation method in which at least one of the baseline or the filling direction is determined based on the above score.

13. In Paragraph 12, The step of obtaining the above baseline is A step of generating the baseline based on a boundary line obtained by smoothing the score calculated corresponding to the vertices of the virtual garment or converting the score into a boolean value. A costume simulation method including 14. In Paragraph 1, The step of determining the above peeling direction A step of emitting a radiation beam from a point on the above baseline; A step of searching for a primary direction in which the radiation beam is not obscured by surrounding geometry or is projected further than a certain standard; and Step of determining the searched main direction as the filling direction based on the above baseline A costume simulation method including 15. In Paragraph 1, The above filling mesh is A first mesh corresponding to the inner surface of the virtual garment in correspondence with the above-mentioned open portion; A second mesh corresponding to the thickness surface of the virtual garment in correspondence with the above-mentioned open portion; or A third mesh corresponding to the cover surface that blocks the above-mentioned open part A costume simulation method comprising at least one of the following.

16. In Paragraph 15, The shape of the third mesh above is It is either a conical shape or a bell shape, and The texture of the third mesh above is It is identical to the texture of the first mesh above, and The color of the third mesh above is Arbitrarily changeable costume simulation method.

17. In Paragraph 15, The step of generating the above-mentioned filling mesh is A step of generating the first mesh based on the topology of the mesh of the virtual garment; A step of generating the second mesh based on at least one of the curvature, resolution, or thickness between the first mesh and the mesh of the virtual garment; If the above baseline corresponds to a closed curve, a step of generating the third mesh by connecting the vertices on the above baseline and the center point of the above closed curve; or If the above baseline corresponds to an open curve, the step of converting the open curve into the closed curve, and then generating the third mesh by connecting the vertices on the closed curve and the center point of the closed curve. A costume simulation method comprising at least one of the following.

18. In Paragraph 15, A step of reflecting joint weights in at least one of the first mesh, the second mesh, or the third mesh. A costume simulation method including further 19. In Paragraph 1, The step of generating the above-mentioned filling mesh is If there are more than a preset number of wrinkles on the reference line, a step of finding at least one sub-center point by dividing the convex area of ​​the reference line by convex partitioning; and A step of generating the filling mesh by dividing the reference line into convex sub-shapes based on at least one detailed center point. A costume simulation method including 20. In Paragraph 19, If the shape of the above-mentioned filling mesh corresponds to a cone shape, a step of reflecting joint weights in the filling mesh by copying the average value of the joint weights of at least one detailed center point to the center point; or If the shape of the above-mentioned filling mesh corresponds to a bell shape, the step of reflecting the joint weight in the filling mesh by interpolating the joint weight of at least one detailed center point and propagating it to the internal vertices of the filling mesh. A costume simulation method including any one of the additional items.

21. Memory for storing instructions; and One or more processors Includes, When the above instructions are executed by a processor, the one or more processors, Obtain a baseline corresponding to the open part (hole) of the virtual garment, and Determine the direction for filling to fill the above-mentioned open portion, and A filling mesh is generated based on the above baseline and the above filling direction, and An electronic device that stores the filling mesh corresponding to the virtual garment.