FIELD OF THE INVENTION

The present disclosure generally relates to methods of generating visual representations of a collision between an object and a fluid and more particularly to generating visual representations of the fluid clinging to and/or dripping from the object during and/or after such a collision.

BACKGROUND

Visual representations of scenes intended to reflect real-world scenarios are common in animation and other fields. For example, a computer-generated imagery scene could be created by having an artist manually draw a sequence of frames to form a video sequence. For simple cartoons, for example, this is a feasible approach. However, as viewers have come to expect more complex visuals, there is a need for computer-driven imagery generation. Some of that computer-driven imagery generation might rely on simulation.

Computer simulation that is used for imagery generation has been used to animate natural phenomena as well as natural movements of characters, such as by using a physics engine to output movements of an articulated character that are consistent with real-world physics and joint constraints. In some ways, this is often a simple problem—how to determine natural-looking movements of at most a few dozen attached body parts. For other simulations, such as those with flexible objects, fluids, and the like, the number of degrees of freedom of individual units is much greater and typically computer simulation requires a trade-off between realism, resolution, and amount of computing resources available.

To enable such trade-offs, efficient computer simulation techniques are needed for an increase in realism and/or resolution without requiring significant increases in computing resources. Therefore, advanced simulation computations involving fluid surface features and other fluid interactions that take into account such trade-offs are urgently needed.

SUMMARY

A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. One general aspect includes a computer-implemented method for generating one or more visual representations of an object colliding with an interface between a simulated fluid and a material under the control of one or more computer systems configured with executable instructions: obtaining shape and movement data of a bulk fluid, obtaining shape and movement data of an object, identifying an interface where the bulk fluid covers a portion of a surface of the object, generating an emitted fluid at the interface, and generating shape and movement data of the emitted fluid interacting with the surface of the object. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. The computer-implemented method further including: obtaining a fluid signed distance field for the bulk fluid; obtaining an object signed distance field for the object; and extrapolating the fluid signed distance field into the object signed distance field such that the bulk fluid covers a portion of the object, the extrapolation including: (a) identifying a fluid value in the fluid signed distance field for each of a plurality of regions within a simulated volume, (b) identifying an object value in the object signed distance field for each of the plurality of regions within the simulated volume, (c) for each region of the plurality of regions within the simulated volume, determining whether a condition is true, for the condition being true when the object value indicates the region is on or in the object and the fluid value indicates that the region is in the simulated fluid, on the simulated fluid, or within a threshold distance of the interface between the simulated fluid and the material, and (d) when the condition is determined to be true, setting the value of the fluid signed distance field equal to a negative of the value of the object signed distance field when the negative of the object value is greater than the fluid value. The computer-implemented method further including: obtaining a map that identifies a portion of the object covered by the simulated fluid. The computer-implemented method further including: obtaining a viscosity value of the bulk fluid; calculating an adjusted viscosity value by multiplying the viscosity value by a viscosity multiplier value before the one or more visual representations are generated; and assigning the adjusted viscosity value to a first portion of the simulated fluid within a threshold distance of the object and assigning the viscosity value to a second portion of the simulated fluid beyond the threshold distance of the object before the one or more visual representations are generated. The computer-implemented method wherein the viscosity multiplier varies with a position on the surface. The computer-implemented method wherein the viscosity multiplier varies with a distance from the surface. The computer-implemented method wherein generating the shape and movement data of the emitted fluid interacting with the surface is based at least in part on a contact angle between the surface and the emitted fluid. The computer-implemented method further including: identifying a boundary along the interface where the object collides with the bulk fluid and the material; and placing a fluid emitter at the boundary, the fluid emitter configured to generate the emitted fluid along at least a portion of the object. The computer-implemented method wherein the fluid emitter is placed by creating the fluid emitter at the boundary by dilating the boundary in a direction relative to a surface of the object. The computer-implemented method wherein the fluid emitter generates a stream of emitted fluid that travels along the surface of the object. A computer system for generating the one or more visual representations of the object colliding with the interface of the simulated fluid, the system including: at least one processor; and a computer-readable medium storing instructions, which when executed by the at least one processor, cause the system to carry out the method. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one processor of a computer system, cause the computer system to carry out the method. A computer-readable medium carrying instructions, which when executed by at least one processor of a computer system, cause the computer system to carry out the method. The computer-implemented method further including generating the one or more visual representations of the object colliding with the interface based at least in part on the shape and movement data of the bulk fluid, the shape and movement data of the object, and the shape and movement data of the emitted fluid. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

One general aspect includes a computer-implemented method for generating one or more visual representations of an object colliding with an interface between a simulated fluid and a material under the control of one or more computer systems configured with executable instructions: obtaining an object signed distance field for the object, obtaining a fluid signed distance field for the simulated fluid, obtaining a viscosity value of the simulated fluid, calculating an adjusted viscosity value by multiplying the viscosity value by a viscosity multiplier value, assigning the adjusted viscosity value to a first portion of the simulated fluid within a threshold distance of the object and assigning the viscosity value to a second portion of the simulated fluid beyond the threshold distance of the object, and extrapolating the fluid signed distance field into the object signed distance field such that the simulated fluid covers a portion of the object. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. The computer-implemented method further including: identifying a boundary along the interface where the object collides with the simulated fluid and the material; and placing a fluid emitter at the boundary, the fluid emitter configured to generate a new fluid along at least a portion of the object. The computer-implemented method wherein the object travels in a direction at a predetermined rate, and where the new fluid travels in the direction and at the predetermined rate, and the fluid emitter generates fluid droplets that travel in a second direction opposite from the direction the object travels. The computer-implemented method wherein the fluid emitter is placed by creating the fluid emitter at the boundary by dilating the boundary in a direction relative to a surface of the object. The computer-implemented method wherein the fluid emitter generates a stream of new fluid that travels along the surface of the object. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

