https://www.bilibili.com/video/BV19T4y1P7RS/?spm_id_from=333.1391.0.0&p=14&vd_source=e1d40d71665d290916d5c90eef97017b
https://www.bilibili.com/video/BV1tx411a7dm/?spm_id_from=333.1391.0.0&vd_source=e1d40d71665d290916d5c90eef97017b
在 Unreal Engine 5(UE5)蓝图中,要把Get Transform at Distance Along Spline
和Break Rotator
这两个节点连接起来,可按以下步骤操作:
1. 节点功能概述
Get Transform at Distance Along Spline
:该节点的作用是依据指定的距离从样条曲线里获取一个变换(Transform)。变换包含位置、旋转和缩放信息。Break Rotator
:此节点用于把旋转体(Rotator)拆分成其组成部分,也就是Pitch(俯仰)、Yaw(偏航)和Roll(翻滚)。
2. 连接步骤
- 放置节点:在蓝图图表中,把
Get Transform at Distance Along Spline
和Break Rotator
节点放置好。 - 获取旋转体:
Get Transform at Distance Along Spline
节点有一个名为Rotation
的输出引脚,它输出的是一个旋转体(Rotator)。 - 连接节点:把
Get Transform at Distance Along Spline
节点的Rotation
输出引脚连接到Break Rotator
节点的Rotator
输入引脚。
3. 示例代码(蓝图可视化操作难以用代码展示,但可概念性说明)
下面是用伪代码形式对这个连接所代表的逻辑进行说明:
// 获取样条曲线指定距离处的变换
Transform = GetTransformAtDistanceAlongSpline(Spline, Distance);
// 从变换中提取旋转体
Rotator = Transform.Rotation;
// 拆分旋转体为 Pitch、Yaw 和 Roll
Pitch = Rotator.Pitch;
Yaw = Rotator.Yaw;
Roll = Rotator.Roll;
4. 具体操作
- 打开蓝图编辑器,把
Get Transform at Distance Along Spline
节点添加到图表中。 - 把
Break Rotator
节点也添加到图表中。 - 鼠标悬停在
Get Transform at Distance Along Spline
节点的Rotation
输出引脚上,鼠标指针会变成一个十字线。 - 按住鼠标左键并拖动,将连线拉到
Break Rotator
节点的Rotator
输入引脚上,然后松开鼠标左键完成连接。
完成连接后,Break Rotator
节点就能把Get Transform at Distance Along Spline
节点输出的旋转体拆分成 Pitch、Yaw 和 Roll 这三个分量。
从问题描述看,是物体旋转方向未正确对齐样条线导致车头不朝前。以下是修改步骤:
-
检查旋转修正逻辑:
当前蓝图中Break Rotator
后对旋转分量做了加法(加90.0
),这可能错误改变了旋转方向。先删除Break Rotator
与Make Rotator
之间的加法节点(+ 90.0
),直接将Break Rotator
输出的Yaw
、Pitch
、Roll
连到Make Rotator
对应输入,确保旋转未经错误偏移。 -
验证基础旋转连接:
若删除加法后仍不对,尝试直接将Get Transform at Distance Along Spline
的Rotation
输出,跳过Break Rotator
和Make Rotator
,直接连到Set Relative Transform
的Rotation
输入。若此时车头朝前,说明中间旋转拆分重组逻辑有误,需重新检查。 -
样条线旋转方向确认:
确保样条线本身旋转设置正确。选中样条线组件,检查其编辑模式下的旋转方向(可通过在场景中预览样条线切线方向,确认车头应朝的方向是否与样条线切线方向一致)。 -
最终修正:
若直接连接Get Transform at Distance Along Spline
的Rotation
正常,但拆分重组后异常,可尝试在Break Rotator
后,仅调整需要修正的旋转分量(如确认是Yaw
需调整,可尝试改为加0
或其他合理值,而非90
)。例如,若样条线旋转输出的Yaw
本身正确,确保加法节点数值为0
,再连到Make Rotator
,最后接入Set Relative Transform
的Rotation
。
通过上述步骤,可修正旋转方向,使 car_merged
车头沿样条线方向运动。