[[蓝图变量#|Rotator 三维旋转体]] + Rotator from Axis and Angle + Make Role From(X,Y,Z) ![[../Picture/蓝图节点-向量与旋转体的转换.png]] 1. **xis**:这是你想要围绕旋转的轴。这是一个向量,表示了旋转的方向。比如,如果你想让一个物体围绕Z轴(即,向上的方向)旋转,你就可以给这个参数传入 (0,0,1)。 2. **Angle**:这是你想要旋转的角度,以度为单位。如果你想让物体旋转90度,你就可以给这个参数传入90。 这个节点的输出结果是一个 Rotator,表示了一个围绕 Axis 旋转 Angle 度的旋转。 假设你正在制作一个模拟飞机的游戏,并且你想让飞机向左倾斜45度。在这种情况下,你可以使用 "Rotator from Axis and Angle" 节点来实现这个效果。你可以把 Axis 设置为 (0,0,1) (即,Z轴),然后把 Angle 设置为 45。这样,你就得到了一个表示飞机向左倾斜45度的旋转。 然后,你可以使用这个旋转来更新飞机的旋转状态。你可以将这个旋转赋值给飞机的旋转属性,或者使用 "Combine Rotators" 节点来将这个旋转和飞机当前的旋转合并。 总的来说,"Rotator from Axis and Angle" 节点提供了一种直观的方式来创建旋转,这在需要模拟各种旋转效果的游戏开发中非常有用。 在Unreal Engine中,你可以通过蓝图系统中的许多节点来在向量和旋转体之间进行转换。以下是一些常用的节点和它们的应用场景: 1. **Make Rotator**:此节点可以将三个欧拉角(Pitch、Yaw和Roll)转换为一个Rotator。这在需要设置角色或者对象的旋转时非常有用。 2. **Break Rotator**:这个节点可以将Rotator转换为三个欧拉角。这在需要获取旋转角度进行比较或计算时会用到。 3. **Get Forward Vector**、**Get Right Vector**、**Get Up Vector**:这些节点可以从Rotator获取对应的前向、右向和上向向量。这些在需要根据角色或者对象的朋向进行移动时非常有用,例如实现角色的前进、侧移或者跳跃。 4. **Rotation From XVector**、**Rotation From YVector**、**Rotation From ZVector**:这些节点可以从一个向量获取对应的旋转。这在需要根据向量设置角色或者对象的朋向时非常有用,例如实现角色的望向。 5. **Rotate Vector**:这个节点可以用一个Rotator旋转一个向量。这在需要以特定角度移动对象时非常有用。 6. **Find Look at Rotation**:这个节点可以计算从一个位置(起点)看向另一个位置(终点)所需要的旋转。这个节点非常有用,例如,你可以用它来让一个角色或者物体朝向另一个位置。 7. **RInterp To** 或 **RInterp To Constant**:这些节点可以平滑地插值(lerp)一个旋转到另一个旋转,用于实现旋转的平滑过渡。这些节点经常被用来实现视角的平滑移动、物体的平滑旋转等效果。 8. **Combine Rotators**:这个节点可以合并两个旋转,得到一个新的旋转。例如,你可以使用它来合并一个角色的全局旋转和局部旋转。 9. **Get Rotation XVector**、**Get Rotation YVector**、**Get Rotation ZVector**:这些节点可以从旋转中获取对应的前向、右向和上向向量。与前面提到的 Get Forward Vector 等节点类似,这些节点在需要根据旋转进行移动时非常有用。 10. **Inverse Transform Rotation**:这个节点可以将一个旋转从世界空间转换到局部空间,或者从局部空间转换到世界空间。 11. **Normalize**:对于旋转,这个节点可以将旋转标准化到 [-180,180] 范围内。对于向量,它可以将向量标准化为单位向量。