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 里面进行操作啦!
相关文章:
Unity 物体的运动之跟随鼠标
你想让鼠标点击哪里,你的运动的对象就运动到哪里吗? Please follow me ! 首先,你要先添加一个Plane ,以及你的围墙,你的移动的物体 想要实现跟随鼠标移动,我们先创建一个脚本 using System.Collections; using Syst…...
C++基础Ⅱ变量
目录儿 4 变量4.1 原始数据类型字符 char整型 short整型 int整型 long整型 long long单精度浮点型 float双精度浮点型 double布尔型 bool 4.2 sizeof 关键字 5 指针和引用 4 变量 4.1 原始数据类型 原始数据类型是构建C程序的最基础数据类型 所有数据都是基于这些原始数据类型…...
Linux管理SpringBoot应用shell脚本实现
Liunx系统如何部署和管理SpringBoot项目应用呢?最简单的方法就是写个shell脚本。 Spring Boot是Java的一个流行框架,用于开发企业级应用程序。下面我们将学习如何在Linux服务器上部署Spring Boot应用,并通过一个脚本实现启动、停止、重启等操…...
一篇搞懂浏览器的工作原理(万字详解)
摘要 本文是学习极客时间上的课程,进而整理出的浏览器工作原理。 第一部分:浏览器的进程和线程 (1)进程和线程的区别? 在浏览器中,各个进程负责处理自己的事情,而不同的进程中,也…...
C语言调用python训练的机器学习模型(项目需求轻体量)
问题描述 机器学习模型基本上都是python下的实现与使用,有关C如何调用训练好的模型或是C实现模型的相关教程相对较少 同时,项目需求整个模型大小尽可能小,大概在几十Kb 由于是表格类型的数据,因此主要考虑树模型 一般而言&#…...
get和post请求的区别以及post请求的url参数问题
1.主要区别 1.GET请求方法有以下几个特点: 默认的请求方法;GET请求通常用于获取信息,所以应该是安全的、幂等的;请求数据表现在URL上,以名称/值的形式发送。对请求的长度有限制;在IE和Opera等浏览器会产生…...
android NullPointerException externalCacheDir
先看代码: fun Context.getMyCacheDir(): String {return externalCacheDir!!.absolutePath "/my_cache" }如上代码,在某些手机可能会出现crash。 原因详细阅读api,注意他有一个大大的注解Nullable: Nullablepublic a…...
设计模式-过滤器模式(使用案例)
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式…...
成功解决修改已经push到远程git仓库的commit message
1.使用 Git 命令行进入要修改的项目目录。 2.运行 git log 命令查看提交历史,找到要修改的提交的哈希值(commit hash)。 3.运行 git rebase -i <commit hash> 命令,将 <commit hash> 替换为要修改的提交的哈希值。这将…...
Ubuntu18.04 交叉编译openssl-1.1.1
源码下载地址: openssl 此处使用的是openssl-1.1.1-pre5.tar.gz 解压: $tar -zxvf openssl-1.1.1-pre5.tar.gz $cd openssl-1.1.1-pre5/ 执行配置生成Makefile: $./config no-asm shared --prefix$PWD/__install 或者 $./config no-asm shared no-…...
七夕学算法
目录 P1031 [NOIP2002 提高组] 均分纸牌 原题链接 : 题面 : 思路 : 代码 : P1036 [NOIP2002 普及组] 选数 原题链接 : 题面 : 思路 : 代码 : P1060 [NOIP2006 普及组] 开心的金明 原题链接 : 题面 : 思路 : 01背包例题 : 代码 : P1100 高低位交换 原题…...
在C++中利用rapidjson实现Python中的字典(Dict)
python 中的dict如下: Dicts = {"Stain":{"ResultType": "Physics","Results": [{"Key": "KeyPoints","Title": "瑕疵区域","Unit": "","Value": stainlist…...
数组和指针练习(3)
题目: int main() { int a[5][5]; int(*p)[4]; p a; printf( "%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]); return 0; } 思路分析: int(*p)[4]; 定义了指针变量p是一个数组指针,且该数组指…...
如何用树莓派Pico针对IoT编程?
目录 一、Raspberry Pi Pico 系列和功能 二、Raspberry Pi Pico 的替代方案 三、对 Raspberry Pi Pico 进行编程 硬件 软件 第 1 步:连接计算机 第 2 步:在 Pico 上安装 MicroPython 第 3 步:为 Thonny 设置解释器 第 4 步ÿ…...
【填坑向】MySQL常见报错及处理系列(ERROR! The server quit without updating PID file)
本系列其他文章 【填坑向】MySQL常见报错及处理系列(Communications link failure & Access denied for user ‘root‘‘localhost‘)_AQin1012的博客-CSDN博客翻一下大致的意思就是默认会按照如下的顺序读取配置文件,我上面贴出的配置文…...
如何处理MySQL自增ID用完
检查当前自增ID的最大值:你可以使用以下SQL查询语句来获取当前最大的自增ID值: SELECT MAX(id) FROM your_table;假设你的表名为 your_table 和自增ID列名为 id。 确定使用的自增ID类型:根据当前最大值来判断你使用的自增ID类型。如果当前…...
Docker 安装教程【菜鸟级】
文章目录 前言1.安装及环境1.1.Linux安装1.2.Windows安装 2.初识Docker2.1.进入docker2.2.命令行基本操作 Docker实例Docker安装Centos使用启动、关闭、删除容器将主机中的文件放入容器中的方式查看容器日志 前言 1.安装及环境 1.1.Linux安装 1.2.Windows安装 2.初识Docker…...
centos7.9 用docker安装mysql8.0
一.安装docker 切换到root1.安装依赖包 $ yum install -y yum-utils2.registry更换阿里源 $ yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ sed -i s/download.docker.com/mirrors.aliyun.com\/docker-ce/g /etc/yum.…...
JVM和消息队列面经(自用)
JVM和消息队列面试八股文,自用。 Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC 一文搞懂 - 知乎 32 道 JVM 面试题总结(含答案解析和思维导图) - 知乎 百度安全验证 JVM面经汇总_所幸你是例外的博客-CSDN博客 38道精品JVM面…...
四、pikachu之文件包含
文章目录 1、文件包含漏洞概述1.1 文件包含漏洞1.2 相关函数1.3 文件包含漏洞分类 2、File Inclusion(local)3、File Inclusion(remote) 1、文件包含漏洞概述 1.1 文件包含漏洞 文件包含漏洞:在web后台开发中,程序员往往为了提高效率以及让代码看起来更…...
南北阁模型新玩法:一键部署极简WebUI,体验手机短信般AI对话
南北阁模型新玩法:一键部署极简WebUI,体验手机短信般AI对话 还在用那些界面老旧、反应迟钝的AI对话工具吗?每次发送问题后,只能盯着屏幕上的加载图标干等,几秒甚至十几秒后才能看到一大段文字“啪”地一下弹出来&…...
终极指南:用OpenCore Legacy Patcher让旧Mac焕发新生的5个简单步骤
终极指南:用OpenCore Legacy Patcher让旧Mac焕发新生的5个简单步骤 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为手中的旧款Mac无法…...
Beyond Compare 5终极激活指南:免费获取永久授权密钥的完整教程
Beyond Compare 5终极激活指南:免费获取永久授权密钥的完整教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 5作为业界领先的文件对比工具,其强大的功…...
高频电路布线十大实用技巧与EMC解决方案
1. 高频电路布线的基本概念与挑战高频电路通常指工作频率达到或超过45MHz~50MHz的数字逻辑电路,当这类电路占整个电子系统1/3以上比重时,就必须考虑高频特性带来的设计挑战。我在实际项目中多次遇到这样的场景:一个原本在低频下工作良好的电路…...
小白友好!MogFace本地部署全攻略,从安装到检测只需3步
小白友好!MogFace本地部署全攻略,从安装到检测只需3步 1. 工具简介 MogFace是一款基于CVPR 2022论文的高精度人脸检测工具,特别适合需要保护隐私的本地化应用场景。它能够准确识别照片中的多个人脸,无论这些人脸是大是小、是正脸…...
PCB叠层设计原则与高速电路信号完整性优化
1. 多层PCB叠层设计基础原则在高速数字电路设计中,PCB叠层设计直接影响信号完整性、电源完整性和电磁兼容性。经过多年实践验证,优质叠层设计必须遵循两个核心原则:参考层邻近原则:每个信号走线层都必须有直接相邻的电源层或地层作…...
Go语言中的Interface:面向接口编程
Go语言中的Interface:面向接口编程 1. Interface的基本概念 Interface是Go语言中用于定义行为的一种类型,它指定了一组方法签名,但不提供具体实现。Interface是Go语言实现多态和解耦的核心机制,也是面向接口编程的基础。 Go语言的…...
Kandinsky-5.0-I2V-Lite-5s Web工具深度解析:非聊天页,专注图生视频的生产级界面
Kandinsky-5.0-I2V-Lite-5s Web工具深度解析:非聊天页,专注图生视频的生产级界面 1. 工具概述 Kandinsky-5.0-I2V-Lite-5s是一款专为图生视频任务设计的轻量级AI模型,它通过简洁直观的Web界面,让用户能够快速将静态图片转化为动…...
NVMe 2.0 Boot Partitions:解锁高效固件更新的双分区机制
1. 为什么我们需要NVMe 2.0的双启动分区? 想象一下你正在给手机升级系统,突然断电了——传统单分区方案会让设备直接变砖,而NVMe 2.0的双启动分区就像给系统上了双保险。这个设计最初是为了解决企业级SSD在724小时运行时的固件更新难题&#…...
MusePublic实战教程:多语言Prompt支持(日/韩/法/西)本地化适配
MusePublic实战教程:多语言Prompt支持(日/韩/法/西)本地化适配 你是不是也遇到过这样的烦恼?看到一张惊艳的艺术人像,想用MusePublic复刻出来,但脑子里蹦出的描述词全是中文、日文或者韩文,对着…...
