找回密码
 注册帐号

扫一扫,访问微社区

zhang273162308 Unity人工智能学习—简单的集群运动算法

448
回复
4532
查看
  [ 复制链接 ]
排名
141
昨日变化

125

主题

596

帖子

7038

积分

Rank: 9Rank: 9Rank: 9

UID
3579
好友
109
蛮牛币
5632
威望
0
注册时间
2013-9-10
在线时间
1584 小时
最后登录
2019-12-13

专栏作家活力之星游戏蛮牛QQ群会员蛮牛哥

2019-7-17 15:14:22 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 zhang273162308 于 2019-7-17 15:16 编辑

一、介绍

      本篇的主要内容是解决大量物体运动时候不发生相互碰撞和重叠等的算法,本篇使用的Unity2018.2.14,算法的脚本主要就两个,一个创建大量鱼并进行初始化的脚本,还有一个就是核心的鱼集群运动的算法。效果如图所示

ssdddd.gif

二、实现

1、首先,需要再指定的区域随机的创建大量的鱼,代码如下,其中goalPos会再集群运动的单个鱼中会用到,这里只是再随机的时

游客,如果您要查看本帖隐藏内容请回复

间里随机的改变其值。

2、然后是集群运动的单个鱼的控制,在初始化的时候先让其运动的速度和游动的动画速度随机。

游客,如果您要查看本帖隐藏内容请回复

然后,其转弯的逻辑上做两种处理,第一种是鱼和边界之间,如果当前鱼游动的位置超过了预定的边界,则立马掉头

游客,如果您要查看本帖隐藏内容请回复

还有一种是鱼和鱼之间,其基本思路就是鱼和其他所有的鱼的位置进行计算,如果有其他鱼的位置在设定的范围内,则将其和当前控制鱼的位置计算方向向量。让后将所有的这个方向向量进行相加,就可以得到它应该去到所有其他在需要规避范围内的鱼的位置的中心点,该中心点和鱼当前位置的向量为向量1,向量1再和总控中的goalPos位置与当前鱼位置的方向向量2,组成方向向量3,然后在计算控制鱼与其他鱼的相反向量为向量4,最后向量4和向量3计算当前鱼的转动方向。其运动的速度取所有范围内的鱼的平均值。完整代码如下:

游客,如果您要查看本帖隐藏内容请回复

3、最后还有一个我自己写的基类代码BaseGameObj

游客,如果您要查看本帖隐藏内容请回复

三、总结

1、真的模型的大小没有考虑,在模型的大小和它们应该规避的最小距离之间没有进行处理

2、运动的随机性比较符合预期

3、完整工程下载地址(包含鱼的模型和动画)

游客,如果您要查看本帖隐藏内容请回复



回复

使用道具 举报

排名
6098
昨日变化

2

主题

169

帖子

675

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
23682
好友
2
蛮牛币
1736
威望
0
注册时间
2014-5-2
在线时间
278 小时
最后登录
2019-9-4
2019-7-17 15:22:02 显示全部楼层
写的挺不错的
回复

使用道具 举报

5熟悉之中
723/1000
排名
5983
昨日变化

3

主题

190

帖子

723

积分

Rank: 5Rank: 5

UID
21834
好友
0
蛮牛币
69
威望
0
注册时间
2014-4-17
在线时间
298 小时
最后登录
2019-12-9
2019-7-17 15:22:33 显示全部楼层
Flocking Flocking Flocking Flocking
回复 支持 1 反对 0

使用道具 举报

5熟悉之中
869/1000
排名
9400
昨日变化

11

主题

162

帖子

869

积分

Rank: 5Rank: 5

UID
167486
好友
0
蛮牛币
250
威望
0
注册时间
2016-9-8
在线时间
566 小时
最后登录
2019-12-13
2019-7-17 15:26:28 显示全部楼层
钱钱钱钱钱钱钱钱钱
回复 支持 反对

使用道具 举报

5熟悉之中
852/1000
排名
2760
昨日变化

7

主题

85

帖子

852

积分

Rank: 5Rank: 5

UID
15101
好友
3
蛮牛币
1778
威望
0
注册时间
2014-2-20
在线时间
232 小时
最后登录
2019-12-12
2019-7-17 15:27:18 显示全部楼层
厉害了大佬
回复

使用道具 举报

4四处流浪
383/500
排名
11661
昨日变化

2

主题

83

帖子

383

积分

Rank: 4

UID
258424
好友
0
蛮牛币
129
威望
0
注册时间
2017-12-7
在线时间
214 小时
最后登录
2019-12-13
2019-7-17 15:29:07 显示全部楼层
回复看帖
回复

使用道具 举报

7日久生情
1745/5000
排名
1995
昨日变化

1

主题

228

帖子

1745

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
150319
好友
0
蛮牛币
1046
威望
0
注册时间
2016-5-30
在线时间
836 小时
最后登录
2019-12-13
2019-7-17 15:29:20 显示全部楼层
学习学习学习
回复

使用道具 举报

7日久生情
2124/5000
排名
773
昨日变化

8

主题

140

帖子

2124

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
106862
好友
0
蛮牛币
7619
威望
0
注册时间
2015-6-9
在线时间
752 小时
最后登录
2019-12-5
2019-7-17 15:29:37 显示全部楼层
1111111111111111111111111111111111111111111111111111111
回复 支持 0 反对 1

使用道具 举报

3偶尔光临
150/300
排名
20608
昨日变化

0

主题

21

帖子

150

积分

Rank: 3Rank: 3Rank: 3

UID
33844
好友
1
蛮牛币
71
威望
0
注册时间
2014-7-12
在线时间
116 小时
最后登录
2019-12-13
2019-7-17 15:31:08 显示全部楼层
写的挺不错
回复

使用道具 举报

6蛮牛粉丝
1285/1500
排名
2967
昨日变化

14

主题

217

帖子

1285

积分

Rank: 6Rank: 6Rank: 6

UID
159012
好友
1
蛮牛币
3905
威望
0
注册时间
2016-7-27
在线时间
556 小时
最后登录
2019-12-9
QQ
2019-7-17 15:32:48 显示全部楼层
回复看帖
回复

使用道具 举报

5熟悉之中
591/1000
排名
9680
昨日变化

6

主题

136

帖子

591

积分

Rank: 5Rank: 5

UID
72128
好友
3
蛮牛币
172
威望
0
注册时间
2015-1-30
在线时间
291 小时
最后登录
2019-10-31
2019-7-17 15:32:54 显示全部楼层
很不错,赞赞赞、、、、、、、
回复 支持 反对

使用道具 举报

3偶尔光临
224/300
排名
34890
昨日变化

0

主题

52

帖子

224

积分

Rank: 3Rank: 3Rank: 3

UID
288889
好友
0
蛮牛币
6
威望
0
注册时间
2018-7-7
在线时间
164 小时
最后登录
2019-11-12
2019-7-17 15:34:46 显示全部楼层
回复

使用道具 举报

7日久生情
2339/5000
排名
1960
昨日变化

3

主题

114

帖子

2339

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219633
好友
0
蛮牛币
2085
威望
0
注册时间
2017-4-27
在线时间
1532 小时
最后登录
2019-12-13
2019-7-17 15:39:06 显示全部楼层
厉害了大佬
回复

使用道具 举报

5熟悉之中
789/1000
排名
4940
昨日变化

1

主题

88

帖子

789

积分

Rank: 5Rank: 5

UID
257307
好友
0
蛮牛币
1335
威望
0
注册时间
2017-12-1
在线时间
397 小时
最后登录
2019-12-12
2019-7-17 15:43:34 显示全部楼层
简单的集群运动算法
回复 支持 反对

使用道具 举报

排名
34890
昨日变化

0

主题

19

帖子

59

积分

Rank: 2Rank: 2

UID
121683
好友
0
蛮牛币
57
威望
0
注册时间
2015-9-8
在线时间
32 小时
最后登录
2019-9-2
2019-7-17 15:43:55 显示全部楼层
在模型的大小和它们应该规避的最小距离之间没有进行处理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则