变换Actor

概述

变换Actor是指移动、旋转或缩放Actor,这是关卡编辑过程中的一个重要部分。在虚幻编辑器中有两种变换Actor的基本方法。这两种方法都可以将变换应用到当前选中的所有Actor上。

手动变换

Details(详细信息) 面板的Transform(变换)部分允许您查看及编辑选中Actor的这些变换属性 - Location(位置)Rotation(旋转度)Scale(比例)

Transform Properties

每种变换属性具有针对 XYZ 轴的数值文本框。您可以直接在这些文本框中输入精确的数值来 调整选中的Actors。当选中了多个Actor且其属性值各不相同时, 这些文本框将会显示 多个值 。在这些情况下,输入一个值将会导致为所有选中的Actor输入这个值。

Rotation(旋转度) 文本框有一个独特的功能,它可以用作为滑块。点击并拖拽该文本框允许您 滚动 这个值,根据您移动鼠标的距离来增加或减小该值。

Scale(比例) 文本框也可以通过点击 button_lock_scale.png 按钮进行锁定。当锁定了该文本框后, 将会维持每个坐标轴的缩放比例值的比率,当单独修改任何一个值时,都会进行均匀缩放。

变换属性默认是 相对 变换。这意味着,变换是相对于组件的父项进行的。 每个属性标签都有超链接,可以点击该链接来在 绝对变换相对变换 之间切换。当使用 绝对 变换时,变换是相对于世界空间进行的而不是相对于父项。

交互式变换

第二种变换Actor的方法需要使用视口中的可视化工具户控件。通过使用该控件,您可以使用鼠标来直接在视口中移动、旋转及缩放该Actor。这种方法的优缺点和手动变换方法正好相反。尽管它非常直观,但是它却不是那么精确,而有时候需要一定精确度。在这个问题方面,拖拽网格、旋转网格及缩放网格可辅助呈现更好地精确度。对齐到已知数值或者按照已知增量进行对齐使得您可以对其进行更加精确的控制。

视口中用于操作Actor的可视化工具称为变换控件。一般,一个变换控件由几个部分组成,每个部分具有不同的颜色,对应着它们所影响的坐标轴。

  • 红色意味着影响X轴。

  • 绿色意味着影响Y轴。

  • 蓝色意味着影响Z轴。

根据所执行的变换类型(平移、旋转或缩放)的不同, 变换控件呈现不同的形式。您可以通过在视口的右上角部分的工具条中点击它的图标,来选择您想使用的变换控件的类型。

LE_Trans_WidgetIcons.png

您可以通过按下键盘上的空格键,来在不同类型的变换控件间切换。

平移控件

平移控件 由一组带颜色的箭头组成,这些箭头分别指向世界中每个坐标轴的正方向。每个箭头实质上是一个手柄,可以拖拽该手柄来沿着特定的坐标轴移动选中的Actor。当鼠标光标悬停到其中一个手柄上时,手柄变为黄色,表示拖拽操作将沿着那个坐标轴移动该对象。

Translation Widget - Axis

同时,每个手柄上会伸出沿着其他两个坐标轴方向的线,这些线最终彼此汇合到一起。这些线构成了沿着每个平面(XY, XZ, YZ)方向的四方形。鼠标悬停到其中一个方形上,将会使得那个方形和相关的箭头变为黄色。拖拽Actor可以沿着这个两个坐标轴定义的平面移动该Actor。

Translation Widget - Plane

在三个坐标轴相交的地方,有一个小的白色球体。当您鼠标悬停到该球体上时,它的颜色变为黄色,表示可以拖拽它。通过拖拽中心球体,可以在空间中自由地相对于场景相机移动该Actor,从而潜在地改变沿着三个坐标轴的位置值。

Translation Widget - All

旋转控件

旋转控件 是三个带颜色的一组弧,每个弧和一个坐标轴相关联。当您拖拽其中一个弧时,选中的Actor则沿着那个坐标轴旋转。在旋转控件中,受到任何相关弧影响的坐标轴都和弧本身垂直。这意味着沿着 XY平面的弧实际上将会围绕Z-轴旋转actor。

Rotation Widget

当鼠标悬停到一个特定弧上时,该弧会变为黄色,表示您可以拖拽它来改变Actor的旋转度。

Rotation Widget

当您开始拖拽来旋转选中的Actor时,控件会改变形状,仅显示Actor围绕其进行旋转的坐标轴。旋转量可以实时显示,以便帮助您调整您的操作过程。

Rotation Widget

缩放控件

缩放控件 具有带颜色的手柄,手柄的尾部有小的立方体形状。当您通过其中一个手柄拖拽控件时,您仅可以沿着相关的坐标轴缩放选中的Actor。这些手柄是按坐标轴进行着色的,同 平移控件旋转控件 类似。

Scaling Widget

您可以同时沿着两个轴缩放Actor,同您使用 平移控件 同时沿着两个坐标轴定义的平面移动Actor一样。每个 缩放控件 的手柄会伸出一条线,沿着其他的每个坐标轴彼此交汇到一起。这些线构成了沿着其中一个平面(XY, XZ, YZ)的三角形。拖拽其中一个三角形,则沿着定义那个平面的两个坐标轴缩放该Actor。当鼠标悬停到其中一个三角形上时,相关的手柄将变为黄色。

Scaling Widget - Plane

您也可以沿着三个坐标轴缩放Actor,从而维持其原始比例。如果您将鼠标悬停到三个坐标轴交互到的立方体处,那么三个手柄会全都变为黄色。通过拖拽中心的立方体可以按比例缩放该Actor。

Scaling Widget - All

Actor支点调整

当变换对象时,您一般都是从该对象的基本支点开始进行变换的。但是,对于某些变换操作,您可能想调整该支点的位置。

DefaultPivot.png

通过从该 变换控件 的中心处,点击并拖拽鼠标中键,您可以临时地移动该支点。然后您可以像往常一样通过按下空格键来切换各个变换工具。

AdjustedPivot.png

现在,您可以使用这个新支点来变换该Ator。

TransformAroundNewPivot.png

您一点击(选择)其他对象,该支点就会跳回到其默认为处。

世界变换模式和局部变换模式

当您使用交互式的变换方法时,您可以选择您执行变换时想使用的参考坐标系统。这意味着您可以在世界空间中沿着世界坐标中变换Actor,或者可以在它自己的局部空间中沿着局部坐标轴变换Actor。这提供了更大的灵活性,而且这几乎是手动设置值所不能做到的;至少在没有事先经过大量复杂的计算的情况下是不能达到的。

Transform_World.png Transform_Local.png
世界坐标系 局部坐标系

默认情况下,虚幻编辑器启动时为世界变换模式。要想切换到局部变换模式,请点击视口右上角部分中工具条上的‘地球’图标。当‘地球’图标变为一个立方体图标时,这表示您现在处于局部变换模式中。

LE_Trans_CubeIcon.png

点击立方体图标可以切换回到世界变换模式。

对齐

这三个手动变换工具都可以让其值对齐到特定的增量值。这对于在您的关卡中精确地放置对象是有用的。在UE4中,可以通过4中不同的方式来完成对齐处理:

  • 拖拽网格

  • 旋转网格

  • 缩放网格

  • 顶点对齐

拖拽网格、旋转网格及缩放网格

DragGrid.png RotationGrid.png ScaleGrid.png
拖拽网格 旋转网格 缩放网格

拖拽网格 允许对齐到场景中的一个三维隐性网格上。旋转网格 提供了增量旋转对齐。Scale Grid(缩放网格) 强制缩放控件对齐到附加的增量值,但是可以在对齐偏好设置中设置为百分比值。

每个对齐网格可以通过点击视口工具条中的相应图标来激活。当激活时,该图标将会突出显示。每个网格的增量可以通过它们激活按钮右侧的下拉菜单来进行修改。

对齐的偏好设置

拖拽网格、旋转网格、缩放网格的设置都可以在编辑器偏好设置中进行设置,同时还可以有其它的几个对齐行为方面的设置。

这些偏好设置可以通过从主工具条中选择 Edit(编辑) > Editor Preferences(编辑器偏好设置) > Viewports(视口)并滚动到 Snap(对齐)** 类目来进行访问。

SnapSettings.png

用户定义的增量

当使用拖拽网格、旋转网格或缩放网格时,您可能注意到每个工具的下拉菜单包含一列预制增量和一列用户定义的增量:

UserDefinedIncrementsShown.png

要想填充用户定义的列表,您可以使用对齐偏好设置中的数组属性:

UserDefinedArrays.png

  • Grid Sizes(网格大小) - 存放了用户为平移控件定义的对齐增量。

  • Rotation Snap Intervals(旋转度对齐间隔) - 存放了用户为旋转控件定义的对齐增量。

  • Scale Grid Sizes(缩放网格大小) - 存放了用户为缩放控件定义的对齐增量。

顶点对齐

偶尔,您可能想使用一个网格物体的多边形顶点将某个对象对齐到另一个对象上。这个通过在使用平移控件时简单地按下 V 键 来完成。当按下 V 键时,一旦您开始移动一个对象,那么您会注意到所有可用的多边形都会突出显示:

VertexSnapping.png

当同支点调整结合使用时,这是非常有用的,因为您可以直接将支点对齐到一个顶点上,然后使用它作为一种对齐到另一个对象的顶点上的方法。在下面的图片中,我们展示了我们如何使用这个方法精确地对齐两段管道。

VertexSnappedPivot.png

通过使用 V+鼠标中键,我们可以将该对象的支点对齐到一个现有顶点上。

一旦该支点移动了,我们可以使用新的支点位置来将该对象对齐到另一个网格物体的相应顶点上。

VertexSnappingObjects.png

通过在拖拽过程中使用V键,我们可以将该对象对齐到另一个网格物体的适当顶点上。

通过重复这个过程,我们就可以很好地放置网格物体。这个技术对于通道、墙壁、门或者需要相对于另一个网格物体或对象进行精确放置的物体是有用的。

snappedMeshes.png