# US 11,110,352 B2 · Object moving method and apparatus, storage medium, and electronic apparatus

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

- Number: US 11,110,352 B2
- Document ID: US11110352B2
- Status: Granted
- Kind: B2
- Application number: 16/541,643
- Filed: 2019-08-15
- Published: 2019-12-05
- Granted: 2021-09-07
- Earliest claimed: 2017-05-25
- Assignees: Tencent Technology (Shenzhen) Company Limited
- Applicants: Tencent Technology (Shenzhen) Company Limited
- Inventors: Xi Chang Mo
- Web page: https://patentgrep.com/patent/US11110352B2

## CPC

- A63F 13/57: Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game (A63F13/56 takes precedence)
- A63F 13/577: using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
- A63F 13/58: by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
- G06F 9/451: Execution arrangements for user interfaces
- G06T 1/60: Memory management
- G06T 15/08: Volume rendering
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- H04N 21/25883: {being end-user demographical data, e.g. age, family status or address (arrangements for identifying locations of users in broadcast systems H04H60/52)}
- A63F 2300/64: for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- G06T 2210/21: Collision detection, intersection
- G06T 2210/61: Scene description
- G06T 2219/2016: Rotation, translation, scaling
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of moving an object in an application is provided. An operation instruction for moving a target object from a first grid to a second grid among a plurality of three-dimensional grids included in a three-dimensional map is obtained. Each of the plurality of three-dimensional grids is used to indicate a three-dimensional space. Target connectivity information between every two adjacent target grids in a target moving path from the first grid to the second grid, among the plurality of three-dimensional grids is obtained. Whether the first grid and the second grid are connected is determined based on the target connectivity information. The target object is moved from the first grid to the second grid in the three-dimensional map based on determining that the first grid and the second grid are connected.

## Claims

### Claim 1

A method of moving an object in an application, the method comprising:
generating pre-cached connectivity information, which includes connectivity information between any two immediately adjacent grids of a plurality of three-dimensional grids, the plurality of three-dimensional grids being obtained by dividing a three-dimensional map and each of the plurality of three-dimensional grids being used to indicate a three-dimensional space, the pre-cached connectivity information being generated for each grid of the plurality of three-dimensional grids by calculating collision information in advance;
obtaining, by at least one processor, an operation instruction for moving a target object from a first grid to a second grid among the plurality of three-dimensional grids;
obtaining from the pre-cached connectivity information, by the at least one processor, pre-cached target connectivity information indicating whether every two adjacent target grids in a target moving path from the first grid to the second grid are connected, wherein the target moving path comprises at least three grids;
determining, by the at least one processor, that the first grid and the second grid are connected based on the pre-cached target connectivity information indicating that all of two immediately adjacent target grids, of the at least three grids of the target moving path, are connected; and
moving, by the at least one processor, the target object from the first grid to the second grid in the three-dimensional map based on determining that the first grid and the second grid are connected.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising caching the connectivity information, the caching comprises, with respect to each grid that is recorded as a current grid:
obtaining connectivity information between the current grid and a grid adjacent to the current grid on a current layer and connectivity information between the current grid and a grid adjacent to the current grid on an adjacent layer, wherein the current layer is a layer on which the current grid is located in the three-dimensional map, and the adjacent layer is a layer adjacent to the current layer in the three-dimensional map; and
caching the obtained connectivity information.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the obtaining the pre-cached target connectivity information comprises one of the following:
obtaining, by the at least one processor, first target connectivity information indicating that two adjacent target grids are not connected;
obtaining, by the at least one processor, second target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are located on a same layer in the three-dimensional map;
obtaining, by the at least one processor, third target connectivity information indicating that the two adjacent target grids are connected, the two adjacent target grids are respectively located on two adjacent layers in the three-dimensional map, and a grid to which a first target grid of the two adjacent target grids is mapped on a layer on which a second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid; and
obtaining, by the at least one processor, fourth target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are respectively located on different layers in the three-dimensional map, the different layers are spaced by at least one layer, and a grid to which the first target grid of the two adjacent target grids is mapped on a layer on which the second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising, with respect to a third grid and a fourth grid that are given two adjacent grids in the plurality of three-dimensional grids, setting connectivity information indicating one of the following:
first connectivity information from the third grid to the fourth grid to indicate first connectivity in a case where a layer on which the third grid is located in the three-dimensional map is higher than a layer on which the fourth grid is located in the three-dimensional map, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to width of the target object;
second connectivity information from the fourth grid to the third grid to indicate second connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to width of the target object;
third connectivity information from the third grid to the fourth grid to indicate third connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map by a first height difference, the first height difference is less than or equal to a first threshold, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to a width of the target object; and
fourth connectivity information from the fourth grid to the third grid to indicate fourth connectivity in a case where the layer on which the third grid is located in the three-dimensional map is higher than the layer on which the fourth grid is located in the three-dimensional map by a second height difference, the second height difference is less than or equal to a second threshold, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to a width of the target object.

### Claim 5 (depends on 1)

An electronic apparatus, comprising at least one memory operable to store program code; and the at least one processor operable to read the program code and operate as instructed by the program code to perform the method of claim 1.

### Claim 6

An object moving apparatus, comprising:
at least one memory operable to store program code; and
at least one processor operable to read the program code and operate as instructed by the program code, the program code comprising:
generating code configured to cause the at least one processor to generate pre-cached connectivity information, which includes connectivity information between any two immediately adjacent grids of a plurality of three-dimensional grids, the plurality of three-dimensional grids being obtained by dividing a three-dimensional map and each of the plurality of three-dimensional grids being used to indicate a three-dimensional space, the pre-cached connectivity information being generated for each grid of the plurality of three-dimensional grids by calculating collision information in advance;
first obtaining code configured to cause the at least one processor to obtain an operation instruction for moving a target object from a first grid to a second grid among the plurality of three-dimensional grids;
second obtaining code configured to cause the at least one processor to obtain, from the pre-cached connectivity information, pre-cached target connectivity information indicating whether every two adjacent target grids in a target moving path from the first grid to the second grid are connected, wherein the target moving path comprises at least three grids;
determining code configured to cause the at least one processor to determine that the first grid and the second grid are connected based on the pre-cached target connectivity information indicating that all of two immediately adjacent target grids, of the at least three grids of the target moving path, are connected; and
moving code configured to cause the at least one processor to move the target object from the first grid to the second grid in the three-dimensional map based on determining that the first grid and the second grid are connected.

### Claim 7 (depends on 6)

The apparatus according to claim 6, wherein the program code further comprises caching code configured to cause the at least one processor to, with respect to each grid that is recorded as a current grid:
obtain connectivity information between the current grid and a grid adjacent to the current grid on a current layer and connectivity information between the current grid and a grid adjacent to the current grid on an adjacent layer, wherein the current layer is a layer on which the current grid is located in the three-dimensional map, and the adjacent layer is a layer adjacent to the current layer in the three-dimensional map; and
cache the obtained connectivity information.

### Claim 8 (depends on 6)

The apparatus according to claim 6, wherein the program code further comprises caching code configured to cause the at least one processor to, with respect to each grid that is recorded as a current grid:
obtain connectivity information between the current grid and a grid adjacent to the current grid on a current layer and connectivity information between the current grid and a grid adjacent to the current grid on an adjacent layer, wherein the current layer is a layer on which the current grid is located in the three-dimensional map, and the adjacent layer is a layer adjacent to the current layer in the three-dimensional map; and
cache the obtained connectivity information.

### Claim 9 (depends on 6)

The apparatus according to claim 6, wherein the second obtaining code causes the at least one processor to obtain one of the following:
first target connectivity information indicating that two adjacent target grids are not connected;
second target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are located on a same layer in the three-dimensional map;
third target connectivity information indicating that the two adjacent target grids are connected, the two adjacent target grids are respectively located on two adjacent layers in the three-dimensional map, and a grid to which a first target grid of the two adjacent target grids is mapped on a layer on which a second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid; and
fourth target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are respectively located on different layers in the three-dimensional map, the different layers are spaced by at least one layer, and a grid to which the first target grid of the two adjacent target grids is mapped on a layer on which the second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid.

### Claim 10 (depends on 6)

The apparatus according to claim 6, wherein the program code further comprises setting code configured to cause the at least one processor to, with respect to a third grid and a fourth grid that are given two adjacent grids in the plurality of three-dimensional grids, set connectivity information indicating one of the following:
first connectivity in a case where a layer on which the third grid is located in the three-dimensional map is higher than a layer on which the fourth grid is located in the three-dimensional map, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to width of the target object;
second connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to width of the target object;
third connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map by a first height difference, the first height difference is less than or equal to a first threshold, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to a width of the target object; and
fourth connectivity in a case where the layer on which the third grid is located in the three-dimensional map is higher than the layer on which the fourth grid is located in the three-dimensional map by a second height difference, the second height difference is less than or equal to a second threshold, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to a width of the target object.

### Claim 11

A non-transitory storage medium, the storage medium storing a computer program executed by at least one processor to perform:
generating pre-cached connectivity information, which includes connectivity information between any two immediately adjacent grids of a plurality of three-dimensional grids, the plurality of three-dimensional grids being obtained by dividing a three-dimensional map and each of the plurality of three-dimensional grids being used to indicate a three-dimensional space, the pre-cached connectivity information being generated for each grid of the plurality of three-dimensional grids by calculating collision information in advance;
obtaining an operation instruction for moving a target object from a first grid to a second grid among the plurality of three-dimensional grids;
obtaining, from the pre-cached connectivity information, pre-cached target connectivity information indicating whether every two adjacent target grids in a target moving path from the first grid to the second grid are connected, wherein the target moving path comprises at least three grids;
determining that the first grid and the second grid are connected based on the pre-cached target connectivity information indicating that all of two immediately adjacent target grids, of the at least three grids of the target moving path, are connected; and
moving the target object from the first grid to the second grid in the three-dimensional map based on determining that the first grid and the second grid are connected.

### Claim 12 (depends on 11)

The storage medium according to claim 11, further comprising caching the connectivity information, the caching comprises, with respect to each grid that is recorded as a current grid:
obtaining connectivity information between the current grid and a grid adjacent to the current grid on a current layer and connectivity information between the current grid and a grid adjacent to the current grid on an adjacent layer, wherein the current layer is a layer on which the current grid is located in the three-dimensional map, and the adjacent layer is a layer adjacent to the current layer in the three-dimensional map; and
caching the obtained connectivity information.

### Claim 13 (depends on 11)

The storage medium according to claim 11, wherein the obtaining the pre-cached target connectivity information comprises one of the following:
obtaining, by the at least one processor, first target connectivity information indicating that two adjacent target grids are not connected;
obtaining, by the at least one processor, second target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are located on a same layer in the three-dimensional map;
obtaining, by the at least one processor, third target connectivity information indicating that the two adjacent target grids are connected, the two adjacent target grids are respectively located on two adjacent layers in the three-dimensional map, and a grid to which a first target grid of the two adjacent target grids is mapped on a layer on which a second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid; and
obtaining, by the at least one processor, fourth target connectivity information indicating that the two adjacent target grids are connected, and the two adjacent target grids are respectively located on different layers in the three-dimensional map, the different layers are spaced by at least one layer, and a grid to which the first target grid of the two adjacent target grids is mapped on a layer on which the second target grid of the two adjacent target grids is located is the same as or adjacent to the second target grid.

### Claim 14 (depends on 11)

The method according to claim 11, further comprising, with respect to a third grid and a fourth grid that are given two adjacent grids in the plurality of three-dimensional grids, setting connectivity information indicating one of the following:
first connectivity information from the third grid to the fourth grid to indicate first connectivity in a case where a layer on which the third grid is located in the three-dimensional map is higher than a layer on which the fourth grid is located in the three-dimensional map, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to width of the target object;
second connectivity information from the fourth grid to the third grid to indicate second connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to width of the target object;
third connectivity information from the third grid to the fourth grid to indicate third connectivity in a case where the layer on which the third grid is located in the three-dimensional map is lower than the layer on which the fourth grid is located in the three-dimensional map by a first height difference, the first height difference is less than or equal to a first threshold, a height of the fourth grid is greater than or equal to a height of the target object, and a width of the fourth grid is greater than or equal to a width of the target object; and
fourth connectivity information from the fourth grid to the third grid to indicate fourth connectivity in a case where the layer on which the third grid is located in the three-dimensional map is higher than the layer on which the fourth grid is located in the three-dimensional map by a second height difference, the second height difference is less than or equal to a second threshold, a height of the third grid is greater than or equal to a height of the target object, and a width of the third grid is greater than or equal to a width of the target object.
