【Unity3D】学习笔记(第1记) 敌人AI之Seek(靠近)

本文是Unity3D学习笔记的第一部分,主要探讨敌人的智能行为——Seek,即敌人如何朝目标方向移动以靠近目标。通过C#编程实现LookAt功能,让敌人能面向并追踪目标,为游戏AI基础提供实战应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using UnityEngine;
using System.Collections;

public class enemyController : MonoBehaviour {

 public float  distanceToMe;           //智能体到目标的距离
 public GameObject  me;                //目标角色
 public float isSeekDistance = 10.0f;  //可靠近范围
 public int state;                     //智能体状态

 void Start()
 {
  me = GameObject.FindWithTag ("Player");
 }
利用Switch()可以添加其他功能,如攻击,逃跑等;
 void Update()
 {
  switch (state)
  {
   case 0:
    Idle();   //空闲,四处游荡
    break;
   case 1:
    Seek();   //向目标靠近
    break;
  }
 }
 //智能体空闲函数
 void Idle()
 {
  //获取两者间的距离
  distanceToMe = Vector3.Distance( me.transform.position ,this.transform .position);
  if (distanceToMe > isSeekDistance) //大于可靠近范围,进入空闲状态
  {
   state = 0;
   if(Random.value >0.5)             //通过随机值,使其随机左右移动
   {
    this.transform.Rotate(Vector3.up*5);
   }
   else
   {
    trans
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值