Unity 鼠标跟随点击位置

举报
陈言必行 发表于 2021/08/14 00:35:40 2021/08/14
【摘要】 使用网格寻路实现主角跟随鼠标点击位置: 注意 烘焙场景( 查看烘焙过程)和引用命名空间(using UnityEngine.AI)就可以了 using UnityEngine;using UnityEngine.AI; public class MeshlinksDemo : MonoBehaviour { NavMeshAgent mr; /...
使用网格寻路实现主角跟随鼠标点击位置:
注意 烘焙场景查看烘焙过程)和引用命名空间(using UnityEngine.AI)就可以了

   
  1. using UnityEngine;
  2. using UnityEngine.AI;
  3. public class MeshlinksDemo : MonoBehaviour {
  4. NavMeshAgent mr; //声明变量
  5. // Use this for initialization
  6. void Start () {
  7. //获取到自身的NavMeshAgent组件
  8. mr = GetComponent<NavMeshAgent>();
  9. }
  10. // Update is called once per frame
  11. void Update () {
  12. if (Input.GetMouseButtonDown(0))
  13. {
  14. //获取鼠标点击的点,
  15. Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  16. RaycastHit rayhit; //声明RacastHit类型
  17. if (Physics.Raycast(ray, out rayhit))
  18. {
  19. if (rayhit.transform.name == "Plane") //判断是不是点击地面
  20. {
  21. //鼠标点击的点赋值给目标点
  22. mr.SetDestination(rayhit.point);
  23. }
  24. }
  25. }
  26. }
  27. }

 


 

在正常摄像机下,Cube跟随鼠标移动代码:


   
  1. private void Update()
  2. {
  3. if (Input.GetMouseButton(0))
  4. {
  5. Vector3 target = Input.mousePosition;
  6. target.z = Mathf.Abs(Camera.main.transform.position.z);
  7. transform.localPosition = Camera.main.ScreenToWorldPoint(target);
  8. }
  9. }

效果如下:

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/77603423

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。