当前位置: 首页 > news >正文

项目02《游戏-12-开发》Unity3D

基于      项目02《游戏-11-开发》Unity3D      ,

任务:实现场景怪物自动巡航 ,

首先在场景中创建小球命名为路径点WayPoint0,

取消小球的碰撞器Collider,

再复制两个改名为WayPoint1 和 WayPoint2 ,

在WayPoint0路径点0右键创建空父物体命名为PathA路径A,

将其他路径点0-2(3个路径点)拖拽至PathA作为子物体,

创建脚本WayPoint.cs:

双击脚本WayPoint.cs修改代码:

using UnityEngine;
public class Waypoint : MonoBehaviour{
    public Transform[] waypointArray;
    public float speed = 0.1f;   
    public int currentIndex = 0;  
    void Start(){
        Transform path = GameObject.Find("PathA").transform;
        if (path != null){
            waypointArray = new Transform[path.childCount];
            for (int i = 0; i < waypointArray.Length; i++)
                waypointArray[i] = path.GetChild(i);
        }
        else
            Debug.LogError("查找路径点父物体失败,仔细检查父物体名字");
    }
    void Update(){
        Vector3 direction = waypointArray[currentIndex].position - transform.position;
        transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), 1f);
        transform.Translate(Vector3.forward * speed);
        if (direction.sqrMagnitude < 1f){
            currentIndex++;
            if (currentIndex > waypointArray.Length - 1)
                currentIndex = 0;
        }
    }
}
将导航脚本挂载在敌人怪物上,并添加三个路径点框选。将PathA路径的三个路径点拖拽进框选注意路径顺序,

最后将路径点的材质取消,关闭路径点的场景显示,

运行即可实现怪物自动导航自动了,

End.

http://www.lryc.cn/news/296928.html

相关文章:

  • 记一次面试题
  • Rust入门2——随机数
  • c#: 表达式树的简化
  • 13. UE5 RPG限制Attribute的值的范围以及生成结构体
  • UE4运用C++和框架开发坦克大战教程笔记(十九)(第58~60集)完结
  • ModuleNotFoundError: No module named ‘_ctypes‘报错解决方案
  • 【服务器数据恢复】服务器RAID模块硬件损坏的数据恢复案例
  • spring boot3x登录开发-上(整合jwt)
  • git 克隆拉取代码出现私钥权限问题。
  • 【5G NR】【一文读懂系列】移动通讯中使用的信道编解码技术-卷积码原理
  • 揭开Markdown的秘籍:标题|文字样式|列表
  • 移动最小二乘法
  • 【LeetCode】37. 解数独(困难)——代码随想录算法训练营Day30
  • VUE学习——属性绑定
  • vue3 之 通用组件统一注册全局
  • [Java][算法 双指针]Day 02---LeetCode 热题 100---04~07
  • 【问题解决】如何将一个服务器的docker迁移到另一个服务器
  • C++单例模式详解
  • LLM应用开发与落地:流式响应
  • 神经网络 | 基于 CNN 模型实现土壤湿度预测
  • 江科大STM32 终
  • 《MySQL 简易速速上手小册》第10章:未来趋势和进阶资源(2024 最新版)
  • Stable Diffusion 模型下载:GhostMix(幽灵混合)
  • django解决Table ‘xx‘ already exists的方法
  • qt学习:arm摄像头+c调用v412框架驱动+qt调用v412框架驱动 显示摄像头画面
  • Linux 36.2@Jetson Orin Nano基础环境构建
  • 牛客网SQL264:查询每个日期新用户的次日留存率
  • echarts 曲线图自定义提示框
  • 幻兽帕鲁服务器怎么搭建?Palworld多人联机教程
  • DAY39: 动态规划不同路径问题62