Unity3d:获取平行于平面的方向向量

Unity3d: Get a direction vector parallel to plane

我需要从我的相机发送一个与平面(地面)平行且与其前向矢量(由黑色矢量表示)相同方向的光线投射

我不能使用世界 space 方向,因为无论我旋转多少,相机的全局前向矢量都指向相同的方向(因为它是 VR 相机)

我尝试使用 Vector3.ProjectOnPlane,但不确定它是如何工作的。

有人可以帮助我吗?

由于地面始终平行于 XZ 平面,这意味着 Vector3.up 垂直于地面。因此,您可以像这样使用 Vector3.ProjectOnPlane 来获得所需的光线方向:

Vector3 rayDirection = Vector3.ProjectOnPlane(cameraTransform.forward, Vector3.up);