Unity3D学习之_AI人工智能(坦克模型自动寻怪_自动追击)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
今天发布一篇关于但可大战的AI人工只能设置。实现了坦克的自动寻怪和自动追击功能。

该文章出自 【狗刨学习网】 http://www.gopedu.com/

  1. var Enemy_tank: GameObject; //定义坦克
  2. var firepoint: Transform; //定义开火点
  3. var bullet: Rigidbody; //定义子弹
  4. var bullspeed: int=50; //定义子弹速度
  5. var attackRange = 100.0; //定义距离
  6. var target : Transform;//定义共计目标
  7. //static var value : float ;
  8. private var cun_time: int=0;
  9. function Start () //初始化目标
  10. {
  11. if (target == null && GameObject.FindWithTag("hero")) target = GameObject.FindWithTag("hero").transform;
  12. }
  13. function Update () 
  14. {
  15. //Tank Fire
  16. // cun_time++;
  17. // if(cun_time==260)
  18. // { 
  19. // var clone : Rigidbody;
  20. // clone = Instantiate(bullet, firepoint.transform.position, firepoint.transform.rotation);
  21. // clone.velocity = transform.TransformDirection (Vector3.right*bullspeed);
  22. // cun_time=0;
  23. // }
  24. //distance from A and B
  25. //angle from A and B
  26. //var targetDir = transform.position-other.position;
  27. //var right = transform.right;
  28. //var angle = Vector3.Angle(targetDir, right);
  29. //print("angle is ="+angle);//if (angle < 5.0)//transform.Rotate(Vector3.up*0.5);
  30. //var speed = 0.1;
  31. //transform.rotation =Quaternion.Slerp (from.rotation, to.rotation, Time.time * speed);


  32. Enemy_tank=GameObject.Find("Enemy_barrel"); //实例化
  33. if (target == null)
  34. return;
  35. if (!CanSeeTarget ())
  36. return;
  37. // Rotate towards target
  38. var targetPoint = target.position;
  39. var targetRotation = Quaternion.LookRotation (targetPoint - Enemy_tank.transform.position,Vector3.up); //求出与目标之间的角度
  40. Enemy_tank.transform.rotation = Quaternion.Slerp(Enemy_tank.transform.rotation, targetRotation, Time.deltaTime * 2.0); //旋转之角度与目标对齐
  41. //If we are almost rotated towards target - fire one clip of ammo
  42. var forward = Enemy_tank.transform.TransformDirection(Vector3.forward);
  43. var targetDir =Enemy_tank.transform.position-target.position; //求出2者之间的距离
  44. if((Vector3.Angle(forward, targetDir) <10.0)||((Vector3.Angle(forward, targetDir) >-10.0))) //这边是自动开炮的效果
  45. {
  46. cun_time++;
  47. if(cun_time==260)

  48. var clone : Rigidbody;
  49. clone = Instantiate(bullet, firepoint.transform.position, firepoint.transform.rotation);
  50. clone.velocity = Enemy_tank.transform.TransformDirection (Vector3.forward*bullspeed);
  51. cun_time=0;
  52. }
  53. }
  54. if((Vector3.Distance(transform.position, target.position) < attackRange)) //发现目标而且在范围之内,开始追击目标
  55. {
  56. var targetPoint1 = target.position;
  57. //Calculation the angle with target
  58. var targetRotation1 = Quaternion.LookRotation (targetPoint1 - transform.position,Vector3.up);
  59. //Rotated Itself then make a line with target
  60. transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation1, Time.deltaTime * 1.0);
  61. transform.Translate(Vector3.forward*0.05);
  62. }
  63. }
  64. function CanSeeTarget (): System.Boolean //计算是否被发现
  65. {
  66. if (Vector3.Distance(transform.position, target.position) > attackRange) return false;
  67. var hit : RaycastHit; if (Physics.Linecast (transform.position, target.position, hit))
  68. return hit.transform == target; return false;
  69. }
unity有限状态机和模糊状态机(AI自动路) AI 有限状态机 自动路 网格烘焙 阅读详情

相关推荐

Unity有限状态机实现AI(代码框架思路)

有限状态机实现物的AI的代码框架

jianhenhen的博客 1032

U3D坦克大战模型

坦克大战游戏的基本模型,在开发这款游戏时,可以直接导致U3D中直接使用。

Unity3d坦克对战游戏 AI设计

作业要求 使用“感知-思考-行为”模型,建模 AI 坦克 场景中要放置一些障碍阻挡对手视线 坦克需要放置一个矩阵包围盒触发器,以保证 AI 坦克能使用射线探测对手方位 AI 坦克必须在有目标条件下使用导航,并能绕过障碍。(失去目标时策略自己思考) 实现人机对战 这次作业的具体要求如上面所述,简单来说就是实现一个AI坦克,能够搜索玩家并且发现玩家之后会追踪玩家并且发射子弹,同时满足能够避开障...

bkjs626的博客 3868

Unity3D T90坦克模型炮台是可以旋转的。

非常精致的3D模型适合需要的玩家,此模式制作的十分精致。值得下载 。·

Unity3D AI人工智能坦克模型自动自动追击

功能: 1,坦克自动旋转炮管,自动瞄准 2,在坦克的射程之内自动开炮 3,坦克自动向你追击 var Enemy_tank: GameObject; //定义坦克 var firepoint: Transform; //定义开火点 var bullet: Rigidbody; //定义子弹 var bullspeed: int=50; //定义子弹速度 var attackRa

互动教程网[www.hdjc8.com] 4565

Unity3D项目实战:实现T90坦克炮台旋转功能

Unity3D是一个多功能的游戏开发引擎,广泛应用于2D和3D游戏的开发。它提供了一系列强大的工具,从3D建模、动画制作到物理引擎的模拟,再到用户界面和交互设计,以及用C#脚本进行逻辑编程,Unity3D支持游戏开发的全过程。

weixin_42315569的博客 1042

UNITY之敌人AI实现

一些游戏可能更注重物的强度和反应速度,而其他游戏可能更注重物的战术和智能。状态机:状态机是一种常见的敌人AI框架,它基于不同的状态和转换规则来决定敌人的行为。开发者定义一系列规则(如如果…通过与玩家交互并根据结果进行反馈,敌人的AI可以自动调整和优化行为,以及适应玩家的策略和技能。行为树:行为树是一种层次化的敌人AI框架,它使用树形结构表示敌人的各种行为和决策。战术和策略:AI可以根据不同的情况和目标采取不同的战术和策略。视觉和感知:AI具备视觉和感知机制,使物能够感知周围环境和玩家的位置。

百锦再的博客 1万+

Unity3D学习之路——AI坦克

Unity3D学习之路——AI坦克 作业要求: 坦克对战游戏 AI 设计 从商店下载游戏:“Kawaii” Tank 或 其他坦克模型,构建 AI 对战坦克。具体要求 使用“感知-思考-行为”模型,建模 AI 坦克 场景中要放置一些障碍阻挡对手视线 坦克需要放置一个矩阵包围盒触发器,以保证 AI 坦克能使用射线探测对手方位 AI 坦克必须在有目标条件下使用导航,并能绕过障碍。(失去...

ke1950523491的博客 2012

unity3d 没有navMesh的AI坦克大战的实现

unity3d 没有navMesh的AI坦克大战的实现 AI坦克大战 1.游戏简介: > * 游戏目标:击毁地方基地。 > * AI行为: 1.拥有一定的视野范围。 2.若视野范围内出现敌方坦克,随机选择一个目标,旋转坦克机身,使坦克面朝目标并追踪敌方坦克。 3.目标进入攻击范围内,控制炮台瞄准目标并开火,击中率随机。 4.若视野范围内无任何敌方坦克

callMe坤仔的博客 2481

一个Unity3D制作的坦克游戏——《燃烧的地平线》

《燃烧的地平线》是一款类坦克世界/战争雷霆的第三人称载具射击游戏,是我大三学期的游戏开发基础课程期末作品,该作品使用Unity3D引擎开发。本博客旨记录开发心得,分享开发经验,以及纪念这款虽然很拉跨但是是自己独立开发的游戏。由于本人尚在学习阶段,开发手法也不是很标准,欢迎大佬们指出错误和不足。 最后需要说明的是本项目无任何商业用途。所使用模型及粒子特效来自互联网。其中模型及粒子特效采用了POLYGON的二战模型包。其余部分均由本人独立开发完成。 要讲解这个项目,先要说明我做了些什么。这是该项目大概的几个

qq_37856544的博客 5613

unity3d 坦克模型资源

一些unity3d坦克模型资源!

Unity3D +现代坦克3D模型

3D坦克模型,可支持直接导入Unity3D进行使用,并附有动画

unity3D学习---使用Navmesh实现AI坦克大战

   一点写在前面的内容:一直沉迷于斗地主,搞了很久想要自己实现一个斗地主的人机对打,传说中的托管,实际证明还是实力薄弱,快到截止时间还没做好,只能做做已经有模板的坦克大战,之后再补上我喜欢的斗地主。本周内容:4、作业以下作业三选一1、 有趣 AR 小游戏制作2、 坦克对战游戏 AI 设计从商店下载游戏:“Kawaii” Tank 或 其他坦克模型,构建 AI 对战坦克。具体要求使用“感知-思考-...

tangyt77的博客 1492

Unity3D坦克大战》案例源码过程

使用的是Unity 2018版和VS2019 创建新的工程,导入素材包,下面为链接: 链接:https://pan.baidu.com/s/1_KLjColSJVN123aLy4_4fw 提取码:o101 导入素材 先把相机的天空盒改为黑色,画面比例调为5:4还有长度改为8.5 这时候我们就会发现我们的游戏实景面板(左下角的窗口)已经变为黑色的了。 初步制作物体 接着我们要做游戏里的物体,我们打开Project面板Assets文件夹下的GameResource文件,下面有三个文件夹,从上到下分别是声音、字

m0_47605113的博客 9646

【实战】Unity3d实战之Unity3d网络游戏实战篇(1):坦克构建

Unity3d实战之Unity3d网络游戏实战篇(1):坦克构建 阅读文章前请细读以下几点: 学习书籍《Unity3d网络游戏实战》 罗培羽著 机械工业出版。 本文是作者在学习过程中遇到的认为值得记录的点,因此引用的代码等资源基本出资罗培羽老师的书籍 以下为个人的学习简记,与诸君共论。 由于U3D的官方案例Tank Tutorial中对坦克的基本操作已经有了详尽的描述(其...

Rioer的博客 3272

Unity3d 坦克AI_自动自动追击脚本参考

var Enemy_tank: GameObject; //定义的坦克 var firepoint: Transform; //定义的开火点 var bullet: Rigidbody;

RainsSoft 3354

AI坦克对战(实现人机)

坦克对战游戏 AI 设计 1. 游戏要求 从商店下载游戏:“Kawaii” Tank 或 其他坦克模型,构建 AI 对战坦克。具体要求 使用“感知-思考-行为”模型,建模 AI 坦克 场景中要放置一些障碍阻挡对手视线 坦克需要放置一个矩阵包围盒触发器,以保证 AI 坦克能使用射线探测对手方位 AI 坦克必须在有目标条件下使用导航,并能绕过障碍。(失去目标时策略自己思考) 实现人机对战 ...

lossatsea的博客 2520
上一篇: Unity shader编写教程(一)
下一篇: unity学习之Unity3D 脚本常用方法快速参考
Carl180
博客等级 码龄12年 16粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值