High-quality object-space dynamic ambient occlusion
AssigneeElectronic Arts Inc.
InventorsBinh Huy Le, John Peter Lewis
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for calculating dynamic ambient occlusion (AO) values for character models to yield high-quality approximations of global illumination effects. The approach utilizes a dual component machine-learning model that factorizes dynamic AO computation into a non-linear component, in which visibility is determined by approximating spheres and their casted shadows, and a linear component that leverages a skinning-like algorithm for efficiency. The parameters of both components are trained in a regression against ground-truth AO values. The resulting model accommodates lighting interactions with external objects and can be generalized without requiring carefully constructed training data.
Claims20
A computer-implemented method comprising:
- during runtime execution of a video game application on a user computing device,
- applying a first component of a machine-learning model to a virtual 3D character model in order to:
- generate an arrangement comprising proxy spheres and key points, wherein the arrangement is representative of a pose of the virtual 3D character model;
- determine, for each key point in the arrangement, a shadow cast by each proxy sphere in the arrangement on the respective key point;
- compute, for each key point in the arrangement, a shadow value for the respective key point, wherein the shadow value is based collectively on the shadow cast by each proxy sphere in the arrangement on the respective key point;
- applying a second component of a machine-learning model to the shadow values of the key points in the arrangement in order to:
- calculate an ambient occlusion value for a vertex of the virtual 3D character model based on the shadow values for a plurality of key points in the arrangement near the vertex;
- and
- rendering a frame including at least a portion of the virtual 3D character model based at least in part on the calculated ambient occlusion value for the vertex.
A computing system, comprising:
- one or more processing devices configured to execute instructions in order to:
- apply a first component of a machine-learning model to a virtual 3D character model in order to:
- generate an arrangement comprising proxy spheres and key points, wherein the arrangement is representative of a pose of the virtual 3D character model;
- determine, for each key point in the arrangement, a shadow cast by each proxy sphere in the arrangement on the respective key point;
- compute, for each key point in the arrangement, a shadow value for the respective key point, wherein the shadow value is based collectively on the shadow cast by each proxy sphere in the arrangement on the respective key point;
- apply a second component of a machine-learning model to the shadow values of the key points in the arrangement in order to:
- calculate an ambient occlusion value for a vertex of the virtual 3D character model based on the shadow values for a plurality of key points in the arrangement near the vertex;
- and
- render a frame including at least a portion of the of the virtual 3D character model based at least in part on the calculated ambient occlusion value for the vertex.
Non-transitory computer readable storage media comprising computer-executable instructions that, when executed by a computing system, cause the computing system to:
- apply a first component of a machine-learning model to a virtual 3D character model in order to:
- generate an arrangement comprising proxy spheres and key points, wherein the arrangement is representative of a pose of the virtual 3D character model;
- determine, for each key point in the arrangement, a shadow cast by each proxy sphere in the arrangement on the respective key point;
- compute, for each key point in the arrangement, a shadow value for the respective key point, wherein the shadow value is based collectively on the shadow cast by each proxy sphere in the arrangement on the respective key point;
- apply a second component of a machine-learning model to the shadow values of the key points in the arrangement in order to:
- calculate an ambient occlusion value for a vertex of the virtual 3D character model based on the shadow values for a plurality of key points in the arrangement near the vertex;
- and
- render a frame including at least a portion of the virtual 3D character model based at least in part on the calculated ambient occlusion value for the vertex.
Dependencies are inferred from the claim text.