找回密码
 注册帐号

扫一扫,访问微社区

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

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

123

主题

594

帖子

6992

积分

Rank: 9Rank: 9Rank: 9

UID
3579
好友
109
蛮牛币
5238
威望
0
注册时间
2013-9-10
在线时间
1542 小时
最后登录
2019-8-20

专栏作家活力之星游戏蛮牛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

主题

167

帖子

672

积分

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

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

使用道具 举报

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

3

主题

189

帖子

715

积分

Rank: 5Rank: 5

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

使用道具 举报

5熟悉之中
757/1000
排名
9398
昨日变化

11

主题

146

帖子

757

积分

Rank: 5Rank: 5

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

使用道具 举报

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

7

主题

83

帖子

830

积分

Rank: 5Rank: 5

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

使用道具 举报

4四处流浪
323/500
排名
11659
昨日变化

1

主题

75

帖子

323

积分

Rank: 4

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

使用道具 举报

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

1

主题

223

帖子

1638

积分

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

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

使用道具 举报

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

7

主题

130

帖子

2086

积分

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

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

使用道具 举报

2初来乍到
112/150
排名
20607
昨日变化

0

主题

19

帖子

112

积分

Rank: 2Rank: 2

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

使用道具 举报

6蛮牛粉丝
1179/1500
排名
2966
昨日变化

14

主题

205

帖子

1179

积分

Rank: 6Rank: 6Rank: 6

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

使用道具 举报

5熟悉之中
580/1000
排名
9678
昨日变化

6

主题

128

帖子

580

积分

Rank: 5Rank: 5

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

使用道具 举报

3偶尔光临
194/300
排名
34887
昨日变化

0

主题

51

帖子

194

积分

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

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

3

主题

108

帖子

2132

积分

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

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

使用道具 举报

5熟悉之中
675/1000
排名
4938
昨日变化

1

主题

68

帖子

675

积分

Rank: 5Rank: 5

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

使用道具 举报

排名
34887
昨日变化

0

主题

19

帖子

59

积分

Rank: 2Rank: 2

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

使用道具 举报

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

本版积分规则