Skip to content

Commit 813a20b

Browse files
committed
add SpatialPartition.md
1 parent 4338f77 commit 813a20b

3 files changed

Lines changed: 27 additions & 33 deletions

File tree

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,5 @@
11
# Game Programming Patterns 游戏编程模式
22
Unity实现《游戏编程模式》
33

4-
# 优化模式
5-
-
6-
7-
8-
9-
-
10-
11-
## 空间分区
12-
13-
### 定义
14-
15-
将对象根据它们的位置存储在数据结构中,来高效地定位对象
16-
17-
### 场景
18-
19-
* 这是存储活跃的、移动的游戏对象的常用模式,也可用于静态美术和世界地理。 复杂的游戏中,不同的内容有不同的空间分区。
20-
21-
* 这个模式的基本要求是一系列有位置的对象,而你做了太多的通过位置寻找对象的查询,导致性能下降。
22-
23-
### 案例
24-
25-
### 实现方式
26-
27-
* 对于一系列**对象**,每个对象都有**空间上的位置**
28-
* 将它们存储在根据位置组织对象的**空间数据结构**中,让你**有效查询在某处或者某处附近的对象**
29-
* 当对象的位置改变时,**更新空间数据结构**,这样它可以继续找到对象。
30-
31-
### 优缺点
32-
33-
以空间换时间
34-
35-
### 与其他设计模式的关系
4+
###
365

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## 空间分区
2+
3+
### 定义
4+
5+
将对象根据它们的位置存储在数据结构中,来高效地定位对象
6+
7+
### 场景
8+
9+
* 这是存储活跃的、移动的游戏对象的常用模式,也可用于静态美术和世界地理。 复杂的游戏中,不同的内容有不同的空间分区。
10+
11+
* 这个模式的基本要求是一系列有位置的对象,而你做了太多的通过位置寻找对象的查询,导致性能下降。
12+
13+
### 案例
14+
15+
### 实现方式
16+
17+
* 对于一系列**对象**,每个对象都有**空间上的位置**
18+
* 将它们存储在根据位置组织对象的**空间数据结构**中,让你**有效查询在某处或者某处附近的对象**
19+
* 当对象的位置改变时,**更新空间数据结构**,这样它可以继续找到对象。
20+
21+
### 优缺点
22+
23+
以空间换时间
24+
25+
### 与其他设计模式的关系

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
- [数据局部性](./GameProgrammingPatterns/DataLocality.md)
2828
- [脏标识模式](./GameProgrammingPatterns/DirtyFlag.md)
2929
- [对象池模式](./GameProgrammingPatterns/ObjectPool.md)
30-
- [空间分区](./GameProgrammingPatterns/)
30+
- [空间分区](./GameProgrammingPatterns/SpatialPartition.md)
3131

3232
# QFormwork Unity框架
3333

0 commit comments

Comments
 (0)