yokila
yokila
Published on 2022-12-07 / 11 Visits
0
0

UE 枢轴(Render Transform Pivot)

零、这是啥?

0-1

官方释义:

(X,Y)是渲染变换枢轴控制变换所应用的位置

此值是一个标准化坐标,此处将发生旋转之类的情况

0-2

一、这是干啥的?

说白了,就是控制一个图片(或其他东西,本文简单化说是图片)旋转时基于的坐标

1-1

默认是(X,Y)=(0.5, 0.5),指的是通常情况下我们旋转图片基于的是图片的中心点。

就是这个点(如下图):

1-2

1-2

那么,(X,Y)=(0, 0)时,是哪个点呢?答案是左上角这里。

此时,变化 Angel(角度)的值,图片将绕左上角这个点进行旋转

1-3

另外,(X,Y)=(1, 1)时,是右下角位置。

此时,变化 Angel(角度)的值,图片将绕右下角这个点进行旋转

1-4

由此可见,枢轴这里的X的值可以认为是X倍图片的宽度(横向图片长度)Y的值可以认为是Y倍图片的高度(纵向图片长度)

二、有啥用?

简单来说,你要计算出,你实际要让图片围绕着进行旋转的点的位置 和 图片左上角的那个点的位置之间的X和Y的距离,然后分别除以图片的宽和高,由此得到你需要填入的枢轴的(X,Y)。此后,这个图片将围绕着设置的枢轴表示的这个点进行旋转。

举个例子:

2-1

假设,我们要让这个方框(图片)围绕着 图2-1 中的黑点进行旋转。

则已知,图片的宽=5,高=6

黑点距离图片左上角的距离为:横向=2.5,纵向=12

则,枢轴(X,Y)= (2.5/5,12/6)= (0.5,2)

三 、补充

本文说的都是指的是初始情况下,Angel(角度) 设置成 0 的情况。

同时,枢轴点坐标和图片初始位置的图片中心点的(X, Y)有一个是一样的,即位于 图3-1 中所示的两条线上,则效果一般会是比较理想的形式。

3-1

如果初始时枢轴点不是位于图片的这两条线上,则按照第二步所说的计算方式来设置的话,图片旋转时的效果就...会开始出现差异化,主要是图片在旋转时自身也相对得进行了旋转,这个就得看具体场景具体应用是否和需求匹配了。


Comment