正切

正弦函数 sinθ=y/r
余弦函数 cosθ=x/r
正切函数 tanθ=y/x
余切函数 cotθ=x/y
正割函数 secθ=r/x
余割函数 cscθ=r/y
 
已知y和x,求角度θ:arctan(y/x),arctan是反正切,tanθ=y/x,θ=arctan(y/x)。
UE4提供有arctan反正切等常用数学函数。

  

UE4提供了更直接的函数,可以把角度很方便的计算出来。

  1、表示角度有2种方式:Vector、Rotator。Vector本身也是可以表示方向,Vector包含方向和大小。

  2、Vector和Rotator是可以互相转换的。

    

  3、手指在手柄圆盘上的位置就是坐标,可以映射到UE4中坐标,然后调用RotationFromXVector,就可以把手指所在位置直接转换成角度。

  4、分析手柄原本坐标与UE4坐标的对应关系。视角的方向正好是X轴,横轴是Y轴;

     

  5、可以通过MotionController thumbstick X和MotionController thumbstick Y事件得到手指在手柄圆盘上的位置。thumbstick X和thumbstick Y事件是每一帧都会被调用,如果手指没有触摸手柄圆盘,则Axis Value的值为0。

    

  6、UE4提供了2个函数可以更直接地获得手指在手柄圆盘上的位置:Get MotionController Thumbstick X、Get MotionController Thumbstick Y

    

  7、SetWorldrotation和SetRelativeRotation。我们拿着手柄的时候,大拇指停留在手柄圆盘的右上角,箭头朝向就应该是相对于手柄右上角,手拿着手柄转动的时候,但是大拇指相对于手柄圆盘的位置是不变的,

    箭头相对于手柄的朝向是发生变化的,箭头的绝对朝向和绝对位置都是发生变化的,但是相对于手柄圆盘的朝向和位置是不变的。

    箭头的朝向是相对于手柄朝向的。因此我们要使用相对Rotation来设置,也就是SetRelativeRotation。

    

    

    

    

    Arrow应该要放在手柄下面,作为手柄的子节点,因为箭头的朝向是相对于手柄朝向的。

[UE4]计算箭头方向:正切、SetRelativeRotation、RotationFromXVector、Get MotionController Thumbstick X的更多相关文章

  1. [UE4]计算小地图比例尺

    一.调整到顶视图,按住鼠标中键从地图的左边拉一根线到右边,可以看到距离是4000厘米(UE4单位是厘米). 二.查看到缩略图片的长度是512px,512/4000 = 0.128,比例尺是0.128. ...

  2. [UE4]计算两点距离

    (Vector-Vector).VectorLength (Vector_End- Vector_Start ).Normalize,获取从起始位置指向目标位置的单位向量.

  3. [UE4]计算AimOffset偏移动画的角度

  4. [UE4]计算2点坐标附近的坐标:线性插值法

    float distance = FVector::Distance(SelfLocation, TargetLocation); .f / distance; DrawDebugPoint(GetW ...

  5. JAVA Math类

    public class MathTest{ public static void main(String[] args)  {  /*---------下面是三角运算---------*/  //将 ...

  6. Java基础知识强化79:被遗忘的Java Math类

    1. Math类概述 Math类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 2. 成员变量 和 成员方法(常用的) (1)成员变量 public static final d ...

  7. CG 标准函数库

    (1)数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回tu ...

  8. java.math.*;(一)

    package com.test; /* Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(Bi ...

  9. 【Java】-NO.16.EBook.4.Java.1.007-【疯狂Java讲义第3版 李刚】- Java基础类

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.007-[疯狂Java讲义第3版 李刚]-  Java基础类 Style:EBook Series:J ...

随机推荐

  1. element UI 下拉菜单滚动监听(vue指令)

    直接看代码吧,可以直接粘贴此代码到你的编辑器中看效果. <template> <div class="page-component"> <div cl ...

  2. SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)

    0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...

  3. Flyweight 享元(结构型)

    一:描述:(该模式实际应用较少) Flyweight 享元模式是对大量细粒度的元素进行共享和重用.减少对象的创建减轻内存: 注和单例模式不同的是:享元模式的各个对象佣有各自的行为并可实例化,单例模式的 ...

  4. 六、Django模型基础第一节

    1 数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 '; grant all on *.* to 'xiang ...

  5. 【EMV L2】Cardholder Verification Rule(CVR) Format

    Cardholder Verification Rule(CVR)由两个字节组成: 高字节为Cardholder Verification Method (CVM) Codes,表示执行Cardhol ...

  6. Cannot create PoolableConnectionFactory (Communications link failure The last packet sent successfu

    SQL: Cannot create JDBC driver of class '' for connect URL 使用数据库数据源的web 项目,发布后,访问数据库500报错: 浏览器端: 控制台 ...

  7. Mawawa CSS 学习之旅 Display

    CSS 类型之 Display 更新时间: 2018-2-10: 一个良好的布局结构从 display 开始! 分类:外部值.内部值.列表值.属性值.混合值.显示值.全局值: 一.外部值 作用:主要用 ...

  8. JavaScript新手入门 贪吃蛇

    从小就在玩贪吃蛇,但是知道今天自己做了一遍才知道原理的具体的实现步骤. 刚进入界面时显示开始游戏(不重要,本人比较喜欢吹毛求疵) 中间黑色部分为游戏的主要展示部分 主要步骤及源码: body中代码,红 ...

  9. ssh 端口更改或ssh 远程接不上的问题(尤其是国外服务器)

    问题: Connecting to 149.*.*.*:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]' ...

  10. 剑指offer前6题

    二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 时间限制:1秒 ...