# US 2018/0322709 A1 · Systems, methods, and computer-readable media for placing an asset on a three-dimensional model

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322709 A1
- Document ID: US20180322709A1
- Status: Published application
- Kind: A1
- Application number: 16/037,376
- Filed: 2018-07-17
- Published: 2018-11-08
- Earliest claimed: 2010-09-28
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Thomas Goossens
- Web page: https://patentgrep.com/patent/US20180322709A1

## CPC

- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06T 2200/04: involving 3D image data
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2219/2004: Aligning objects, relative positioning of parts
- G06T 2219/2016: Rotation, translation, scaling
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and computer-readable media are provided for placing an asset on a three-dimensional model. Each asset can be associated with a pivot point and with an asset normal. A contact point on the surface of a model where an asset is to be positioned may be identified, and a surface normal that may be perpendicular to the surface at the contact point may also be identified. Then, the asset can be placed on the model such that the position of the pivot point of the asset may coincide with the position of the identified contact point on the surface of the model, and such that the orientation of the asset normal may match the orientation of the identified surface normal.

## Claims

### Claim 1

A method comprising:
presenting a model representing an avatar;
storing an asset library that includes a plurality of assets that can be applied to the model;
receiving user input selecting a particular asset of the plurality of assets to apply to the model;
generating a modified avatar by placing the particular asset on the model, wherein generating the modified avatar comprises:
identifying a contact point on a surface of a model at which to place the particular asset;
determining a first alignment vector extending from the surface of the model at the identified contact point;
positioning a pivot point of the particular asset at the identified contact point; and
orienting the particular asset with respect to the surface of the model by aligning a second alignment vector of the particular asset with the first alignment vector of the model.

### Claim 2 (depends on 1)

The method of claim 1, wherein the avatar has a likeness of a human.

### Claim 3 (depends on 1)

The method of claim 1, wherein the particular asset is stored separately from the model.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first alignment vector is a surface normal that extends perpendicularly from the surface of the model at the identified contact point.

### Claim 5 (depends on 1)

The method of claim 1, wherein the particular asset corresponds to a representation of a fashion accessory.

### Claim 6 (depends on 1)

The method of claim 1, wherein the particular asset corresponds to a representation of a biological feature of a human.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving user input identifying the contact point on the surface of the model.

### Claim 8

A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, cause the processors to perform operations comprising:
presenting a model representing an avatar;
storing an asset library that includes a plurality of assets that can be applied to the model;
receiving user input selecting a particular asset of the plurality of assets to apply to the model;
generating a modified avatar by placing the particular asset on the model, wherein generating the modified avatar comprises:
identifying a contact point on a surface of a model at which to place the particular asset;
determining a first alignment vector extending from the surface of the model at the identified contact point;
positioning a pivot point of the particular asset at the identified contact point; and
orienting the particular asset with respect to the surface of the model by aligning a second alignment vector of the particular asset with the first alignment vector of the model.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the avatar has a likeness of a human.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the particular asset is stored separately from the model.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the first alignment vector is a surface normal that extends perpendicularly from the surface of the model at the identified contact point.

### Claim 12 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the particular asset corresponds to a representation of a fashion accessory.

### Claim 13 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the particular asset corresponds to a representation of a biological feature of a human.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the instructions cause the processors to perform operations comprising:
receiving user input identifying the contact point on the surface of the model.

### Claim 15

A system comprising:
one or more processors; and
a non-transitory computer readable medium including one or more sequences of instructions that, when executed by the one or more processors, cause the processors to perform operations comprising:
presenting a model representing an avatar;
storing an asset library that includes a plurality of assets that can be applied to the model;
receiving user input selecting a particular asset of the plurality of assets to apply to the model;
generating a modified avatar by placing the particular asset on the model, wherein generating the modified avatar comprises:
identifying a contact point on a surface of a model at which to place the particular asset;
determining a first alignment vector extending from the surface of the model at the identified contact point;
positioning a pivot point of the particular asset at the identified contact point; and
orienting the particular asset with respect to the surface of the model by aligning a second alignment vector of the particular asset with the first alignment vector of the model.

### Claim 16 (depends on 15)

The system of claim 15, wherein the avatar has a likeness of a human.

### Claim 17 (depends on 15)

The system of claim 15, wherein the particular asset is stored separately from the model.

### Claim 18 (depends on 15)

The system of claim 15, wherein the first alignment vector is a surface normal that extends perpendicularly from the surface of the model at the identified contact point.

### Claim 19 (depends on 15)

The system of claim 15, wherein the particular asset corresponds to a representation of a fashion accessory.

### Claim 20 (depends on 15)

The system of claim 15, wherein the particular asset corresponds to a representation of a biological feature of a human.
