初学unity的朋友大家可能在制作自己脑海中的游戏的时候回用到AI
今天我来写一篇关于简单AI的代码及教程

第一步

首先在项目中创建一个Cube和一个Plane吧
在plane上添加脚本(在其他物体上添加也是可以的)
首先我们把这个cube制作成一个预制体;
然后这个cube就可以删除了
在这里插入图片描述
在之后就是编写脚本了
只需要熟悉Instantiate函数的用法就可以;
Instantiate(物体名字,实例化位置,实例化之后旋转的角度);
在这个脚本中不需要旋转(如果需要的话就是四元数 Quaternion。Euler(立体角度))
首先在上边public GameObject Cube;(记得在unity中赋值)
然后就是Instantiate(Cube,new Vector3(0,0,0),Quaternion.identity);(里边的Quaternion.identity是无旋转的意思);
在这里插入图片描述
代码就是这样;
注意在这句必须写在Awake()函数中;
如果写在Update中会无限生成Cube;
这样第一步就完成了;

第二步

我们给预制体Cube上添加一个简单的AI脚本
这个脚本比较复杂 我的思路是让这个物体每三秒向随机方向运动一次
在这里插入图片描述
首先做好准备工作;之中SportTime是计时器
我们要创建一个方法专用于AI
在这里我要介绍一个随机数
就是int nun=Rando,.Range(0,8)这个就是从零到八随机的数

在这里插入图片描述
这一段就是利用随机数而形成的赋值
其中的H和V 接下来会用到
大家应该可以看懂上边的代码 在这里我就不做介绍了
接下来就是
在这里插入图片描述
调用上边的方法然后利用Translate 函数的让物体移动
在这里介绍一下Translate函数
Translate(速度的方向*倍率,坐标系);
就完成了;
在unity中赋值然后运行就好了
我们就会发现这个实例化后的Cube 就会自动移动了;

嗯 就这样,完成了。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐