美文网首页
Unity-实现鼠标点击型人物移动

Unity-实现鼠标点击型人物移动

作者: ssttIsme | 来源:发表于2023-01-20 12:04 被阅读0次

创建一个Plane


创建一个Capsule放在地面上,模拟为人

勾上地面的Navgiation Static

打开Navigation窗口,修改一下Agent Radius为0.2,点击Bake,点击时会提示保存场景,保存为需要的名字,比如说Main即可

新建一个名字为Human的脚本

编写代码如下
using UnityEngine;
using System.Collections;

public class Human : MonoBehaviour {
    public NavMeshAgent agent;

    // Update is called once per frame
    void Update () {
        //鼠标左键按下
        if(Input.GetMouseButtonDown(0)){
            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
            RaycastHit hit;
            if(Physics.Raycast(ray,out hit)){
                agent.SetDestination(hit.point);
            }
        }
    }
}

为Capsule添加Nav Mesh Agent

Capsule挂载Human脚本


Nav Mesh Agent拖入Agent位置进行赋值


运行可发现功能已实现

如果需要摄像机跟随,先调整好摄像机Main Camera的位置,比如像作者这样

新建一个名字为FollowTarget的脚本

编写代码如下
using UnityEngine;
using System.Collections;

public class FollowTarget : MonoBehaviour {
    //跟随目标
    public Transform target;
    //偏移
    public Vector3 offset;
    // Use this for initialization
    void Start () {
        offset = transform.position - target.position;
    }
    
    // Update is called once per frame
    void Update () {
        transform.position = offset + target.position;
    }
}

Camera挂载FollowTarget脚本


拖入CapsuleTarget位置进行赋值

运行即可


相关文章

  • Unity-实现鼠标点击型人物移动

    创建一个Plane 创建一个 放在地面上,模拟为人 勾上地面的 打开 窗口,修改一下 为0.2,点击 ,点击时会提...

  • Unity 3D的角色移动

    在Unity控制角色移动时,要注意两大点: 鼠标点击地面,检测射线以及人物面朝移动方向。 控制人物的移动与速度首先...

  • 实现小球在弹射前的拉伸特效和动态障碍物特效

    当前我们实现小球弹射时,会先用鼠标点击小球,然后移动鼠标,当松开鼠标时,小球会弹射向鼠标松开的位置。我们按住小球的...

  • 坚果云如何打开链接?

    将鼠标光标移动放到链接上并点击鼠标左键

  • DOM事件传播机制

    事件:JavaScript 和 HTML的交互是通过事件实现的。 事件是某个行为或者触发,比如点击、鼠标移动: 当...

  • DOM事件传播机制

    事件:JavaScript 和 HTML的交互是通过事件实现的。 事件是某个行为或者触发,比如点击、鼠标移动: 当...

  • 独家公益服《斗破沙城SF》满v26服今日新开,无赦单职业1:10

    斗破沙城基本操作攻略 1、角色移动 玩家可以通过以下几种方式来实现角色移动操作: 鼠标点击地面,常按左键后再移动鼠...

  • UI自动化07 屏幕动作ActionChains

    点击操作单击、双击、右键 鼠标移动移动到某个控件、移动到某个位置、移动到某个元素的某个位置 拖拽点击、移动、放松 ...

  • js实现拖拽

    ①鼠标按下+鼠标移动 → 拖拽②鼠标松开 → 无拖拽③鼠标偏移 → 拖拽距离 js实现 ① onmousedown...

  • JS一些方法

    onclick() 点击onmouseover() 鼠标在区域内移动onmouseout() 鼠标在区域内移出...

网友评论

      本文标题:Unity-实现鼠标点击型人物移动

      本文链接:https://www.haomeiwen.com/subject/aakchdtx.html