using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 导航UI控制类
/// </summary>
public class GuideUICtl : MonoBehaviour
{
    public Transform m_target;                  //指向目标

public RectTransform m_arrow;               //UI箭头

// Update is called once per frame
    void Update() {

//控制导航UI箭头旋转
        Vector3 euler = m_arrow.eulerAngles;
        euler.z = GetGuideUIAngle();
        m_arrow.eulerAngles = euler;
    }

/// <summary>
    /// 获得导航UI旋转角度
    /// </summary>
    /// <returns></returns>
    private float GetGuideUIAngle() {

//脚本挂置在玩家上
        //以玩家前方的单位向量为起始
        Vector3 from = this.transform.forward;
        //求出目标点与玩家之间的向量
        Vector3 to = m_target.position - this.transform.position;

//求出两向量之间的叉乘
        Vector3 cross = Vector3.Cross(from, to);
        //求出两向量之间的角度
        float angle = Vector3.Angle(from, to);

//根据叉乘求出带符号的角度
        //cross.y > 0:目标向量位于起始向量右侧
        //cross.y < 0:目标向量位于起始向量左侧
        angle = cross.y > 0 ? -angle : angle;

return angle;
    }
}

效果:

源程序:

链接:https://pan.baidu.com/s/1YCjimtROinf7yoXvzSCT0A 
提取码:se2w

简单实现目标箭头导航相关推荐

  1. WPF MvvmLight简单实例(1) 页面导航

    原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击"Load"按钮,页面会加载PageOne,点击PageOne ...

  2. html边框有箭头,css简单实现带箭头的边框

    css简单实现带箭头的边框 普通边框 .border { width: 100px; height: 50px; border: 1px solid red; } 实现由四个三角形组成的正方形 .tr ...

  3. 最简单的目标跟踪(模版匹配)

    最简单的目标跟踪(模版匹配) zouxy09@qq.com http://blog.csdn.net/zouxy09 一.概述 目标跟踪是计算机视觉领域的一个重要分支.研究的人很多,近几年也出现了很多 ...

  4. HTML+css简单实现手机邮箱导航网页

    HTML+css简单实现手机邮箱导航网页 前言 基本完成了手机邮箱导航的样式,是很经典的一个试验. 一.邮箱网页代码 ​ <!DOCTYPE html> <html lang=&qu ...

  5. Python实现一个简单的目标检测

    Python实现一个简单的目标检测 相关介绍 实验环境 基本思路 代码实现 输出结果 相关介绍 选择性搜索(Select Search)算法属于候选区域算法,用分割不同区域的办法来识别潜在的物体.在分 ...

  6. AutoCAD Electrical 2022—源箭头和目标箭头

    在一张图纸上插入源 箭头: 选中一根导线: 如果源和目标在同一张图纸上,则可以点击确定,插入目标箭头: 如果不在同一张图纸上,则点击否,后面在插入目标箭头: 在另一张图纸上插入目标箭头: 可以在代号中 ...

  7. 最简单的个人网址导航

    超简单又有点用的html-简单的个人网址导航 看看就会的html网址导航 简单效果图 核心代码 背景和格式相关(这个不能一看就会) 完整代码 总结和后记 看看就会的html网址导航 简单的网址导航就是 ...

  8. Unity 3D追踪效果的实现 目标箭头指引

    版本:unity 5.4.1  语言:C# 有段时间没写博客了,就搞搞自己的小游戏自娱自乐. 今天给大家带来3D空战或者宇宙飞行目标箭头的显示,参考了网友ζ随风去旅行的2D指引效果,自己研究了3D效果 ...

  9. 一个简单漂亮的网址导航HTML5源码

    正文: 一个简单漂亮的网址导航HTML5源码页面自适应,手机电脑都自动适应大小. 纯HTML代码,然后一个CSS一个JS文件,根据设备自适应,更多信息自行研究,修改index.html内容. 字节网盘 ...

最新文章

  1. error LNK2005: “找到一个或多个多重定义的符号” 已经在 xxxx.obj 中定义 的解决方法
  2. php中mysql自增_MySQL的自增字段
  3. 目标检测领域还有什么可做的?19 个方向给你建议
  4. ubuntu19.10下面的redis的启动与关闭
  5. java获取response数据_Java中实现Http请求并获取响应数据
  6. Python之数据加密与解密(hashlib、hmac、random、base64、pycrypto)--转载
  7. CANopen | 对象字典OD 02 - 修改CANopen节点的心跳报文发送间隔
  8. 事件触发控制_基于事件触发机制的直流微电网多混合储能系统分层协调控制方法...
  9. 压力测试和负载测试的区别/性能指标/专项测试/(tps/qps)
  10. linux 关闭后台程序
  11. 中粮营销致远A6应用探秘:高速审批执行,营销策略落地
  12. jenkins:Failed to get hostnam执行启动脚本不执行
  13. 网络安全 (九 缓冲区溢出metasploit)
  14. JavaScript执行顺序分析
  15. chrome打开链接隐私设置错误_Chrome 隐私设置错误
  16. [翁恺老师 城堡游戏(无bug
  17. H5兼容性问题解决方法
  18. 史上十大权势女性排行榜:武则天为何不如慈禧
  19. 分享|智慧环卫规划方案(附PDF)
  20. 机器学习LR模型,在面试中经常被问到的问题

热门文章

  1. redhat7 安装php,Linux/redhat7.3 安装php以及常见错误
  2. ansible架构、安装、简单的使用
  3. 程序员是如何荒废的?
  4. gtk initialization failed可能的解决方法之一
  5. 樱花未开(更新完毕)
  6. Locust使用手册--开始使用Locust
  7. 如果让你设计铁道部购票网站,你怎么做
  8. spring boot接入微信小程序支付流程
  9. 基于springboot微信小程序支付功能实现
  10. android异常相机处理器,Android抛出错误:不幸的是相机已停止在Android模拟器中