Unity 物体的运动之跟随鼠标

这篇具有很好参考价值的文章主要介绍了Unity 物体的运动之跟随鼠标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

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

Please follow me !

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

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

 文章来源地址https://www.toymoban.com/news/detail-656926.html

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

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 ,该空物体的作用就是记录开始的终点的位置,使得开始的时候你就算不移动鼠标,物体也能到达你想要到的地方

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

 

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

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

我们要进行Bake 一下:

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

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

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

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

 

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

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

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

Unity 物体的运动之跟随鼠标,Unity,unity,游戏引擎

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

然后点击Bake 

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

 

 

到了这里,关于Unity 物体的运动之跟随鼠标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • unity 3D,镜头跟随鼠标移动

    一、鼠标隐藏,使用UI图片作鼠标图 二、射线在屏幕中央,用于交互 三、鼠标与摄像头跟随

    2024年02月12日
    浏览(9)
  • unity摄像机跟随鼠标旋转

     float vertical = Input.GetAxis(\\\"Mouse X\\\") float horizontal = Input.GetAxis(\\\"Mouse Y\\\") 第二种 通过 计算坐标时只需要通过 Quaternion.Euler 来取得旋转四元数,以玩家为原点衍生一条(0,0,-1)的向量并乘上四元数以旋转至 Player 指向摄像机的方向,最后乘上 Distance ,即可得到摄像机相对玩家的偏移

    2024年02月11日
    浏览(14)
  • Unity用鼠标拖拽UI,UI跟随鼠标移动

    Unity用鼠标拖拽UI,UI跟随鼠标移动

    先上效果 继承几个拖拽的接口 IBeginDragHandler, IDragHandler,IEndDragHandler 计算下偏移量,转换下坐标系 限制下可拖拽的范围,我设置的是canvas的大小 欢迎大佬多多来给萌新指正,欢迎大家来共同探讨。 如果各位看官觉得文章有点点帮助,跪求各位给点个“一键三连”,谢啦~ 声明

    2024年02月06日
    浏览(7)
  • 7. unity脚本控制物体运动(转向、移动、旋转)

    1. 移动物体: 在界面中添加一个物体,并给这个物体添加一个脚本文件,在脚本文件当中如果想控制物体运动,就需要在 unity 每一帧更新的时候,给物体的坐标值重新赋值,这样就能按照帧更新速率实时的更改物体的位置,实现移动效果。 位置更新的代码应该写在***update

    2023年04月12日
    浏览(9)
  • unity物体运动经过特定点并绘出轨迹

    unity物体运动经过特定点并绘出轨迹

    经过线如果有圆滑可以参考 Unity物体运动时画出轨迹_天人合一peng的博客-CSDN博客 并修改里面的数值轨迹会有变化 float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;             this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-a

    2023年04月26日
    浏览(6)
  • Unity【角色/摄像机移动控制】【2.角色跟随鼠标转向】

    本章代码实现基于本系列的【1.角色移动】 在前面的基础上,我们在PlayerController脚本中添加如下函数,随后在update方法中调用即可: 其中mouseSensitivity是前面自定义的一个float变量,用来调节对鼠标转向速度,至此,当我们转动鼠标,角色也会跟着转动

    2024年02月22日
    浏览(5)
  • Unity3D_物体抛物线运动

    Unity3D_物体抛物线运动

    参考:Unity 贝塞尔曲线实现抛物线运动,投掷功能实现  用到了DOTween插件, 回想起之前不知道这个插件还在用协程和SmoothDamp做运动控制的自己仿佛是个哈批 路径绘制使用的LineRenderer

    2024年02月13日
    浏览(37)
  • Unity实现2D游戏跟随摄像机(平滑移动)

    Unity实现2D游戏跟随摄像机(平滑移动)

    摄像机运行效果如下所示。 首先创建一个可用的玩家角色,写好移动逻辑,如果要使用在Unity商店中购买的资源,可以点击Window菜单栏 Package Manager选项,来打开Package Manager窗口,如下所示,然后下载你需要的资源。 如果你没有在资源商店的精灵资产,可以在Hierarchy视图,右

    2024年02月19日
    浏览(6)
  • Unity3D根据物体运动画出实体轨迹线

    Unity3D根据物体运动画出实体轨迹线

    在Unity3D根据物体运动画出实体轨迹线 在Inspector里面添加组件LineRender,线条圆滑设置如下, 颜色可以新建材质直接拖上该物体上就行。 添加脚本LineMark 将上面的Line放在OBS里面,对应需要画出的物体直接拖入右侧的 — 小技巧:想画出对应阶段的轨迹曲线可以通过启用和不启

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包