一:UE4中物体的旋转
在开始之前我要介绍一些准备知识.
如下图所示:
在空间变换中物体的旋转有三个情况:
分别对应X轴旋转,Y轴旋转,Z轴旋转,对应起来就是roll, pitch, yaw.
以飞机的空间运动我们可以称:roll—翻滚角,yaw—航向角 ,pitch—为俯仰角
如图ue4 中物体的旋转都需要用到前面介绍的知识,所以我们必需要了解,下面我介绍一下如何控制物体的旋转.
如下图所示:
ue4中这些函数可以控制物体在任意方向旋转,但是这几个函数看起来虽然相似但是有区别,当然这种函数还有很多但是我这里主要讲几个相似的和容易搞混的,至于其他的区别较明显的节点我就不再重复了.
1.make rotation form X
通过给定的x向量重新构建一个轴,Y和Z轴不需要指定(这里ue4引擎会默认构建一个隐式的(0.0.1)Z轴用来保证x,y,z三个轴正交),
并且通过节点我们可以使目标物体的x轴方向始终朝向我们给定的X向量,但是这个节点无法控制Y和Z轴的旋转,所以使用时要注意。
通过给定的X向量使物体的X轴指向某一个目标,Y轴也通过你输入的向量指向某个地方,再通过X,Y来确定Z轴(但是Y轴可能会有偏差,因为X轴朝向是固定的),就需要用到Make Rot from XY
所以,此函数是保证X轴朝向不变的情况下,计算Z轴,修正Y轴,以达到使X朝向指定方向的目的。
3.make rot from YX
这个函数Y和上一个看起了相似的节点有一些细微的区别
make rot from YX是通过给定的Y向量使物体的Y轴指向某一个目标,此函数是保证Y轴朝向不变的情况下,计算Z轴,修正X轴,以达到使Y朝向指定方向的目的。
4.make rot from XZ
这个函数应该比较明显
函数主要是保证X轴朝向不变的情况下,计算Y轴,修正Z轴,以达到使X朝向指定方向的目的。
所以Y轴是由X和Z轴来确定
2.设置物体旋转
设置物体的旋转我大概总结了一下有这三个节点,.他们的功能其实相差并不大,大家在用的过程中估计也没感觉出来不同,但是有区别的.
set actor rotation 节点的旋转轴是世界坐标,
set actor relative rotation 节点的旋转轴是相对旋转,并且它的相对的旋转轴是指定actor的根组件的旋转轴.
这里是旋转的一些相关的函数,我只把它给大家看一下,具体的使用如果感兴趣的可以自己动手试试,毕竟 "纸上得来终觉浅,觉知此事要躬行 ".
如何物体始终在玩家面前,面对玩家
这个是我在ue4的应用开发时中遇到的问题.有时候会出现需要在玩家面前生成以一个物品并且确保物体不会因为旋转而到玩家的身后或者侧面的需求.
如果我们这个时候使用 “set actor at location”,则可能会因为玩家到处移动而出问题,因为我们用来参考的玩家(对象)坐标和旋转会变化,所以会出现生成物体在玩家的侧面或者身后,这个时候我发现了一个函数可以解决这里分享一下:
1.find look at rotation
这个函数就是让物体面朝目标,其实和make rotation form X有点相似 但是这个只能控制旋转不能让物体始终在玩家面前生成,所以我还要一个节点
2.project point on to plan
这个函数就是把物体的生成坐标的点投影到我想要的平面上,
通过两个节点配合我就可以在玩家面前生成一个在任何时候都会出想在玩家面前并且面朝玩家的物体.
最后:
以上是我的大致总结,这里因为篇幅问题我只写了旋转的,物体位移的下一遍再写,水平有限,如有不正确的地方,欢迎大家指正,大家一起进步学习.