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

Unity 物体的运动之跟随鼠标

        你想让鼠标点击哪里,你的运动的对象就运动到哪里吗?

Please follow me !

首先,你要先添加一个Plane ,以及你的围墙,你的移动的物体

 

想要实现跟随鼠标移动,我们先创建一个脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;public class MovementController : MonoBehaviour
{public Transform goal;  // 目标位置的Transform组件private NavMeshAgent agent;  // NavMeshAgent组件用于控制移动// 在第一帧更新前调用void Start(){// 获取自身上的NavMeshAgent组件agent = GetComponent<NavMeshAgent>();// 设置初始目标位置为goal的位置agent.destination = goal.position;}// 在每一帧更新时调用void Update(){// 检测鼠标左键是否被点击if (Input.GetMouseButtonDown(0)) {RaycastHit hit;  // 存储射线击中的信息// 从鼠标点击位置创建一条射线,进行射线检测if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100)) {// 如果射线击中物体,设置NavMeshAgent的目标位置为射线击中的点agent.destination = hit.point;}}}
}

先简单的分析一下代码:

开始的时候应该先创建一个空物体,将该空物体拉进去脚本位置Goal ,该空物体的作用就是记录开始的终点的位置,使得开始的时候你就算不移动鼠标,物体也能到达你想要到的地方

 

将这个脚本挂在你所要移动的物体上(这里我把脚本挂在我的红色柱子上,简化我的物体)

就算挂好脚本,现在的物体也不能移动

我们要进行Bake 一下:

在windows --> AI---->Navigation  打开Navigation 的窗口

 注意你可以 在Inspector 和 Navigation 窗口不断变换

 

先将我们除了移动的物体以外的物体全部设置为 static 

然后找到我们所要移动的物体

可以适当调整你的Agent Radius 就是不能靠近障碍物体的范围(就是你设置成stadtic 的物体)

然后点击Bake 

这样就可以在Game 里面进行操作啦!

 

 

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

相关文章:

  • C++基础Ⅱ变量
  • Linux管理SpringBoot应用shell脚本实现
  • 一篇搞懂浏览器的工作原理(万字详解)
  • C语言调用python训练的机器学习模型(项目需求轻体量)
  • get和post请求的区别以及post请求的url参数问题
  • android NullPointerException externalCacheDir
  • 设计模式-过滤器模式(使用案例)
  • 成功解决修改已经push到远程git仓库的commit message
  • Ubuntu18.04 交叉编译openssl-1.1.1
  • 七夕学算法
  • 在C++中利用rapidjson实现Python中的字典(Dict)
  • 数组和指针练习(3)
  • 如何用树莓派Pico针对IoT编程?
  • 【填坑向】MySQL常见报错及处理系列(ERROR! The server quit without updating PID file)
  • 如何处理MySQL自增ID用完
  • Docker 安装教程【菜鸟级】
  • centos7.9 用docker安装mysql8.0
  • JVM和消息队列面经(自用)
  • 四、pikachu之文件包含
  • 【SVN内网穿透】远程访问Linux SVN服务
  • 没消费?复购难?不如试试即拼七人拼团模式
  • vscode+ros开发环境搭建
  • 10个最好的云GPU服务
  • 使用Nodejs搭建简单的HTTP服务器 - 内网穿透公网远程访问
  • Windows下搭建Tomcat HTTP服务,发布外网远程访问
  • 【Spring Boot】详解条件注解以及条件拓展注解@Conditional与@ConditionalOnXxx
  • Android 12 源码分析 —— 应用层 一(SystemUI准备篇)
  • 记录 MySQL 如何开启已有的定时任务
  • 三种生成树(STP,RSTP,MSTP)的基本配置(自我理解)
  • FRP内网穿透,配置本地电脑作为服务器