敌人AI:行走
来源:互联网 发布:matlab魔方矩阵编程 编辑:程序博客网 时间:2024/04/29 01:46
实现的功能
在游戏过程中,有敌人和主角两种形态的GameObject。假设主角的行动和攻击已经设置完毕,现在设计敌人的AI,在本节中只开发敌人的行走---总是朝向主角进行行走。
注意:下面的Enemy.cs脚本挂在敌人身上。控制敌人AI行走的方式有很多,本节只是其中一种方法。
具体实现
1. 首先在敌人的Inspector面板中给敌人添加Character Controller,并设置好相关的参数,如下图所示。
2. 给敌人添加Enemy.cs脚本,用该脚本控制敌人的AI行走。
using UnityEngine;using System.Collections;public class Enemy : MonoBehaviour {public float speed = 2f;// 敌人行走的速度private CharacterController cc; // 定义控制敌人行走的CharacterController组件void Start(){cc = this.GetComponent<CharacterController> ();// 得到CharacterController组件}void Update(){Move ();// 在Update方法中,每一帧调用Move方法}// *********************** 控制敌人AI行走的方法 *********************************void Move(){// 需求分析:要实现敌人总是朝着游戏主角行走// 1. 首先获取主角相关组件// 主角的Transform组件Transform player = TranscriptManager._instance.player.transform;// 获取主角由TranscriptManager类管理Vector3 targerPos = player.position;targerPos.y = transform.position.y;// 敌人的y和主角的y一致// 2. 面向主角transform.LookAt(targerPos); // this/*敌人*/.transform.LookAt(targetPos)// 3. 敌人移动cc.SimpleMove (transform.forward * speed);}}
获取主角的脚本,该脚本挂在空的GameObject上面,用于Transcript中的代码管理。
using UnityEngine;using System.Collections;public class TranscriptManager : MonoBehaviour {public static TranscriptManager _instance;public GameObject player;// Use this for initializationvoid Awake () {_instance = this;player = GameObject.FindGameObjectWithTag("PlayerBoy");} }
0 0
- 敌人AI:行走
- 敌人AI:攻击
- Unity敌人的AI
- 运用Tiled画一条敌人要行走的路径,让敌人按照自己规定的路径行走
- Unity 代码碎片敌人的AI
- [Unity插件]Behavior Designer:制作敌人AI
- Unity3D学习笔记(十九)敌人AI
- 坦克小战~~~~之敌人AI
- Unity 基于状态的简单敌人AI
- Unity 内的敌人AI 或者 有限状态机FSM实现AI
- [Unity插件][AI]敌人自动攻击AI插件
- 【Untiy&项目分享&项目讲解】UnitZ的敌人生成系统 2 敌人AI逻辑说明
- 敌人
- 角色扮演游戏中敌人AI(人工智能)的设计方法
- Advanced AI Pro - 设计智能化的敌人攻击系统
- Unity3D--创建敌人和玩家之间的AI
- Unity3d即时战斗之敌人AI和角色攻击
- Unity5.x制作合金弹头(三)-敌人AI逻辑
- .xin域名
- 一步步在SAE 部署自己的python项目
- 可运行的jar文件
- vim查看函数列表设置步骤
- 反射访问属性,属性类型和修饰符
- 敌人AI:行走
- 为什么百度手机搜索和电脑搜索排名不一样
- 安装图形界面
- echarts2的使用案例
- 简介C#读取XML的两种方式
- Oracle、聚石塔
- Eclipse添加中文javadoc
- 解析阿里云大数据服务——ODPS
- 驱动程序之原子操作