Outer Rim Archives
Archives · 2021 · 11062060

Granted patent

Guided simulation with generalized collision objects

Number
11062060
Published
2021-07-13
Filed
2016-09-09
Assignee
Disney Enterprises, Inc.
Inventors
Stomakhin; Alexey
CPC
G06F30/20; G06T19/00
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Physics simulation technique with collision objects (VFX).

Abstract

The disclosure provides an approach for simulating three-dimensional (3D) virtual environments using generalized collision objects. In one aspect, the generalized collision object includes a shape specifying the boundary of the generalized collision object, a shape velocity specifying how the generalized collision object moves and evolves through space, and a material velocity specifying how the material being simulated moves at the boundary of the generalized collision object. Taking the shape, shape velocity, and material velocity as inputs, a simulation application determines source and sink boundary conditions to apply in a simulation based on a difference between components of the shape velocity and the material velocity that are normal to the boundary of the generalized collision object. The simulation application then performs the simulation of the 3D virtual environment while enforcing velocity boundary conditions using the material velocity and the determined source and sink boundary conditions.

Background

BACKGROUND Field of the Invention (1) Aspects of the disclosure presented herein relate to computer simulation and rendering of three-dimensional (3D) virtual environments. More specifically, this disclosure presents techniques for guided simulation of virtual environments using generalized collision objects. Description of the Related Art (2) Physically based simulation has been used to create realistic three-dimensional (3D) virtual environments by leveraging the power of modern computer systems to simulate highly complex visual effects which would otherwise be infeasible to animate “by hand.” However, with physically based simulations, an artist is still responsible for providing the initial setup for the simulation to make sure it hits desired visual cues, which typically requires the artist to specify an appropriate set of initial and boundary conditions. It may be difficult for the artist to provide the initial setup that produces the desired visual cues in many cases, such as when the artist wishes to create a breaking wave that needs to have a certain shape at a certain time. (3) “Guided simulation” refers to a set of techniques that an artist can use to improve such simulations that are difficult to set up, including manually overriding or injecting velocities into the system; applying external force fields; and creating artificial collision objects, sources, and sinks. Creating artificial collision objects, sources, and sinks in particular may give an organic and pl

Claims

1. A computer-implemented method for simulating a three-dimensional (3D) virtual environment, the computer-implemented method comprising: receiving a 3D shape specifying a boundary of a generalized collision object, a shape velocity specifying at least one of a motion of the generalized collision object and a change in shape of the generalized collision object, and a material velocity specifying a motion of a material at the boundary of the generalized collision object, wherein the 3D shape encompasses a solid object configured to advance across the material, wherein the 3D shape divides the material into (i) an inner portion surrounding the solid object and that is inside of the 3D shape and (ii) an outer portion surrounding the inner portion and that is outside of the 3D shape; determining surfaces defining the 3D shape that respectively act as a source, a sink, and an impenetrable collision object based on a normal component of the material velocity being respectively greater than, less than, and equal to a normal component of the shape velocity at the surfaces, the impenetrable collision object having at least one of a sliding collision and a sticky collision with the material; performing a simulation of the motion of the generalized collision object, including motion of the inner portion surrounding the solid object, as the generalized collision object advances across the material, by performing, for one or more time steps of the simulation, advection and adding or consuming material based on the determined surfaces acting as the source, the sink, and the impenetrable collision object and by operation of one or more computer processors; and rendering, based on the simulation, one or more images comprising one or more frames of an animation. || 13. A non-transitory computer-readable medium storing a program executable to perform operations for simulating a three-dimensional (3D) virtual environment, the operations comprising: receiving a 3D shape specifying a boundary of a generalized collision object, a shape velocity specifying at least one of a motion of the generalized collision object and a change in shape of the generalized collision object, and a material velocity specifying a motion of a material at the boundary of the generalized collision object, wherein the 3D shape encompasses a solid object configured to advance across the material, wherein the 3D shape divides the material into (i) an inner portion surrounding the solid object and that is inside of the 3D shape and (ii) an outer portion surrounding the inner portion and that is outside of the 3D shape; determining surfaces defining the 3D shape that respectively act as a source, a sink, and an impenetrable collision object based on a normal component of the material velocity being respectively greater than, less than, and equal to a normal component of the shape velocity at the surfaces, the impenetrable collision object having at least one of a sliding collision and a sticky collision with the material; performing a simulation of the motion of the generalized collision object, including motion of the inner portion surrounding the solid object, as the generalized collision object advances across the material, by performing, for one or more time steps of the simulation, advection and adding or consuming material based on the determined surfaces acting as a source, a sink, and an impenetrable collision object and by operation of one or more computer processors when executing the program; and rendering, based on the simulation, one or more images comprising one or more frames of an animation. || 20. A system to perform operations for simulating a three-dimensional (3D) virtual environment, the system comprising: one or more computer processors; and a memory including a program executable by the one or more computer processors to perform operations comprising: receiving a 3D shape specifying a boundary of a generalized collision object, a shape velocity specifying at least one of a motion of the generalized collision object and a change in shape of the generalized collision object, and a material velocity specifying a motion of a material at the boundary of the generalized collision object, wherein the 3D shape encompasses a solid object configured to advance across the material, wherein the 3D shape divides the material into (i) an inner portion surrounding the solid object and that is inside of the 3D shape and (ii) an outer portion surrounding the inner portion and that is outside of the 3D shape; determining surfaces defining the 3D shape that respectively act as a source, a sink, and an impenetrable collision object based on a normal component of the material velocity being respectively greater than, less than, and equal to a normal component of the shape velocity at the surfaces, the impenetrable collision object having at least one of a sliding collision and a sticky collision with the material; performing a simulation of the motion of the generalized collision object, including motion of the inner portion surrounding the solid object, as the generalized collision object advances across the material, by performing, for one or more time steps of the simulation, advection and adding or consuming material based on the determined surfaces acting as the source, the sink, and the impenetrable collision object; and rendering, based on the simulation, one or more images comprising one or more frames of an animation.