BACKGROUND

1. Field

The following description relates to a modeling method using a fluid animation graph. The following description also relates to an apparatus using a fluid animation graph.

2. Description of Related Art

In a visual effects (VFX) field of a computer graphics (CG) area, any one of a rigid body, a deformable body, and a fluid, or a combination thereof may be modeled. For example, when a fluid or a combination of a fluid and a deformable body are modeled, a fluid movement modeling method based on a height field may be used. The fluid movement modeling method may be used to perform simple modeling and real-time modeling based on rapid calculations. However, a representation of the fluid may be simplified or a scale of the modeling may be reduced, thereby reducing realism of the model. Therefore, performing real-time modeling while maintaining realism may be difficult.

SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

In one general aspect, a modeling method includes searching for a sequence matched to a user input using a fluid animation graph generated based on similarities among frames included in sequences included in the fluid animation graph, and modeling a movement corresponding to the user input based on a result of the searching.

The modeling may include modeling the movement corresponding to the user input by blending sequences similar to the user input from among sequences included in the fluid animation graph in response to the sequence matched to the user input not being retrieved.

The modeling may include blending the sequences similar to the user input based on at least one of velocity information and form information of the sequences included in the fluid animation graph.

The modeling may include searching for retrieved sequences similar to the user input from among the sequences included in the fluid animation graph, generating a blending sequence corresponding to the user input by blending the retrieved sequences, and modeling the movement corresponding to the user input using the blending sequence.

The searching for the retrieved sequences similar to the user input may include searching for the retrieved sequences similar to the user input based on a tag added to the sequences included in the fluid animation graph.

The generating of the blending sequence may include extracting a blending weight based on the retrieved sequences and the user input, and generating the blending sequence by assigning the blending weight to the retrieved sequences.

The generating of the blending sequence may include generating similar transition edges between the blending sequence and the retrieved sequences based on a transition edge between the retrieved sequences.

The modeling may include replaying frames included in the retrieved sequences, verifying that a current frame being replayed corresponds to a frame transition from at least one of the retrieved sequences to the blending sequence, and replaying frames included in the blending sequence based on the similar transition edges between the blending sequence and the retrieved sequences.

The generating of the blending sequence may include generating the blending sequence during a transition based on a transition edge between the retrieved sequences.

The modeling may include replaying the retrieved sequence in response to the sequence matched to the user input being retrieved, wherein the retrieved sequence includes consecutive frames that represent a movement of a deformable body corresponding to the user input and a movement of a fluid due to the movement of the deformable body.

The searching may include selecting a sequence having a tag matched to the user input from among the sequences included in the fluid animation graph, and searching for a transition path from a current sequence being replayed to the selected sequence.

The searching may include determining a direction in which a deformable body is controlled based on the user input, selecting a sequence corresponding to the direction from among the sequences included in the fluid animation graph, and searching for a transition path from a current sequence being replayed to the selected sequence.

The fluid animation graph may be configured to control a movement of a deformable body and includes sequences corresponding to scenarios reflecting a movement of a fluid due to the movement of the deformable body.

The fluid animation graph may include at least one of a circulating sequence generated based on first similarities among frames included in at least one sequence from among the sequences included in the fluid animation graph, the circulating sequence being recursive in the at least one sequence, and a transition edge generated based on second similarities between the frames included in the at least one sequence from among the sequences included in the fluid animation graph and frames included in remaining sequences of the sequences included in the fluid animation graph, the transition edge indicating a possible moving path between the sequences.

The modeling may include replaying frames in a current sequence, verifying that a current frame being replayed corresponds to a frame transitioning from the current sequence to the sequence matched to the user input, and replaying frames in the sequence matched to the user input based on a transition edge to transition between the current sequence and the sequence matched to the user input.

The replaying of the frames in the current sequence may include recursively replaying a circulating sequence in the current sequence.

The replaying of the frames in the sequence matched to the user input may include recursively replaying a circulating sequence in the sequence matched to the user input until an additional user input is received.

The user input may be input by an input device combined with or interconnected with a user apparatus.

In another general aspect a preprocessing method for modeling includes generating sequences corresponding to a predetermined modeling set, wherein each of the sequences includes frames, and generating a fluid animation graph based on similarities among the frames included in the sequences.

The similarities may include at least one of a form similarity, an energy similarity, and a frame similarity.

The generating of the fluid animation graph may include calculating at least one similarity between the frames included in the sequences, assigning a weight to the at least one similarity, and generating the fluid animation graph based on a weighted sum of the at least one similarity to which the weight is assigned.

The generating of the fluid animation graph may include calculating first similarities among frames included in at least one sequence among the sequences, and generating a circulating sequence that is recursive in the at least one sequence based on the first similarities.

The generating of the fluid animation graph includes generating a transition edge indicating a possible moving path from among the sequences based on second similarities between frames included in at least one sequence from among the sequences and frames included in remaining sequences, and generating the fluid animation graph based on the transition edge.

The generating of the transition edge may include calculating the second similarities between the frames included in the at least one sequence from among the sequences and the frames included in the remaining sequences, and generating the transition edge from among frames of which the second similarities correspond to a preset reference.

The generating of the fluid animation graph may include analyzing a motion energy of each frame included in at least one sequence from among the sequences, and setting a transition point in time for each of the sequences based on the motion energy.

The generating of the sequences further includes adding a tag corresponding to the sequences.

The tag may be defined based on at least one of a user input, an external force, an inflow and disappearance of a fluid, and an interaction with another object.

The sequences may include frames representing different scenes.

The sequences may include sub-sequences.

The method may further include determining the modeling set based on predetermined scene elements.

In another general aspect, a non-transitory computer-readable storage medium stores instructions for causing processor processor/computer to perform the first method described above.

In another general aspect, a modeling apparatus includes a memory configured to store sequences corresponding to a modeling set, wherein each of the sequences includes frames, and a fluid animation graph pre-generated based on similarities among the frames included in the sequences included in the fluid animation graph, and a processor configured to search for a sequence matched to a user input based on the fluid animation graph and model a movement corresponding to the user input based on a result of the searching.

The processor may be configured to model the movement corresponding to the user input by blending sequences similar to the user input from among the sequences included in the fluid animation graph in response to the sequence matched to the user input not being retrieved.

The processor may be configured to blend the sequences similar to the user input based on at least one of velocity information and form information of the sequences included in the fluid animation graph.

The processor may be configured to search for retrieved sequences similar to the user input from among the sequences included in the fluid animation graph, generate a blending sequence corresponding to the user input by blending the retrieved sequences, and model the movement corresponding to the user input using the blending sequence.

The processor may be configured to search for the retrieved sequences similar to the user input based on a tag added to the sequences included in the fluid animation graph.

The processor may be configured to extract a blending weight based on the retrieved sequences and the user input, and generate the blending sequence by assigning the blending weight to the retrieved sequences.

The processor may be configured to generate similar transition edges between the blending sequence and the retrieved sequences based on a transition edge between the retrieved sequences.

The processor may be configured to replay frames included in the retrieved sequences, verify whether a current frame being replayed corresponds to a frame transitioning from at least one of the retrieved sequences to the blending sequence, and replay frames included in the blending sequence based on the similar transition edges to transition between the retrieved sequences and the blending sequence.

The processor may be configured to replay the retrieved sequence in response to the sequence matched to the user input being retrieved and the retrieved sequence includes consecutive frames that represent a movement of a deformable body corresponding to the user input and a movement of a fluid due to the movement of the deformable body.

The processor may be configured to select a sequence having a tag matched to the user input from among the sequences included in the fluid animation graph and search for a transition path from a current sequence being replayed to the selected sequence.

The processor may be configured to determine a direction in which a deformable body is controlled based on the user input, select a sequence corresponding to the direction from among the sequences included in the fluid animation graph, and search for a transition path from a current sequence being replayed to the selected sequence.

The apparatus may further include a preprocessor configured to generate the sequences corresponding to the modeling set and generate the fluid animation graph based on the similarities among the frames included in the sequences.

The preprocessor may be configured to calculate at least one similarity between the frames included in the sequences, assign a weight to the at least one similarity, and generate the fluid animation graph based on a weighted sum of the at least one similarity to which the weight is assigned.

The fluid animation graph may be configured to control a movement of a deformable body and includes sequences corresponding to scenarios reflecting a movement of a fluid due to the movement of the deformable body.

In another general aspect, a modeling method includes searching for a fluid animation graph stored in a database, in response to a user input received, determining whether a retrieved sequence matched to the user input is retrieved from among sequences included in the fluid animation graph, in response to the determining indicating that the retrieved sequence matched to the user input is retrieved, fusing detailed modeling elements in the retrieved sequence into a fused sequence, and in response to the determining indicating that the sequence matched to the user input is not retrieved, blending sequences similar to the user among the sequence included in the fluid animation graph and fusing detailed modeling elements in the blending sequences into the fused sequence.

The blending may include form blending performed at a high resolution.

The blending may include velocity blending performed at a low resolution.

The method may further include replaying the fused sequence.

Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.

