简单实现目标箭头导航
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
简单实现目标箭头导航相关推荐
- WPF MvvmLight简单实例(1) 页面导航
原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击"Load"按钮,页面会加载PageOne,点击PageOne ...
- html边框有箭头,css简单实现带箭头的边框
css简单实现带箭头的边框 普通边框 .border { width: 100px; height: 50px; border: 1px solid red; } 实现由四个三角形组成的正方形 .tr ...
- 最简单的目标跟踪(模版匹配)
最简单的目标跟踪(模版匹配) zouxy09@qq.com http://blog.csdn.net/zouxy09 一.概述 目标跟踪是计算机视觉领域的一个重要分支.研究的人很多,近几年也出现了很多 ...
- HTML+css简单实现手机邮箱导航网页
HTML+css简单实现手机邮箱导航网页 前言 基本完成了手机邮箱导航的样式,是很经典的一个试验. 一.邮箱网页代码 <!DOCTYPE html> <html lang=&qu ...
- Python实现一个简单的目标检测
Python实现一个简单的目标检测 相关介绍 实验环境 基本思路 代码实现 输出结果 相关介绍 选择性搜索(Select Search)算法属于候选区域算法,用分割不同区域的办法来识别潜在的物体.在分 ...
- AutoCAD Electrical 2022—源箭头和目标箭头
在一张图纸上插入源 箭头: 选中一根导线: 如果源和目标在同一张图纸上,则可以点击确定,插入目标箭头: 如果不在同一张图纸上,则点击否,后面在插入目标箭头: 在另一张图纸上插入目标箭头: 可以在代号中 ...
- 最简单的个人网址导航
超简单又有点用的html-简单的个人网址导航 看看就会的html网址导航 简单效果图 核心代码 背景和格式相关(这个不能一看就会) 完整代码 总结和后记 看看就会的html网址导航 简单的网址导航就是 ...
- Unity 3D追踪效果的实现 目标箭头指引
版本:unity 5.4.1 语言:C# 有段时间没写博客了,就搞搞自己的小游戏自娱自乐. 今天给大家带来3D空战或者宇宙飞行目标箭头的显示,参考了网友ζ随风去旅行的2D指引效果,自己研究了3D效果 ...
- 一个简单漂亮的网址导航HTML5源码
正文: 一个简单漂亮的网址导航HTML5源码页面自适应,手机电脑都自动适应大小. 纯HTML代码,然后一个CSS一个JS文件,根据设备自适应,更多信息自行研究,修改index.html内容. 字节网盘 ...
最新文章
- error LNK2005: “找到一个或多个多重定义的符号” 已经在 xxxx.obj 中定义 的解决方法
- php中mysql自增_MySQL的自增字段
- 目标检测领域还有什么可做的?19 个方向给你建议
- ubuntu19.10下面的redis的启动与关闭
- java获取response数据_Java中实现Http请求并获取响应数据
- Python之数据加密与解密(hashlib、hmac、random、base64、pycrypto)--转载
- CANopen | 对象字典OD 02 - 修改CANopen节点的心跳报文发送间隔
- 事件触发控制_基于事件触发机制的直流微电网多混合储能系统分层协调控制方法...
- 压力测试和负载测试的区别/性能指标/专项测试/(tps/qps)
- linux 关闭后台程序
- 中粮营销致远A6应用探秘:高速审批执行,营销策略落地
- jenkins:Failed to get hostnam执行启动脚本不执行
- 网络安全 (九 缓冲区溢出metasploit)
- JavaScript执行顺序分析
- chrome打开链接隐私设置错误_Chrome 隐私设置错误
- [翁恺老师 城堡游戏(无bug
- H5兼容性问题解决方法
- 史上十大权势女性排行榜:武则天为何不如慈禧
- 分享|智慧环卫规划方案(附PDF)
- 机器学习LR模型,在面试中经常被问到的问题