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);
我需要从我的相机发送一个与平面(地面)平行且与其前向矢量(由黑色矢量表示)相同方向的光线投射
我不能使用世界 space 方向,因为无论我旋转多少,相机的全局前向矢量都指向相同的方向(因为它是 VR 相机)
我尝试使用 Vector3.ProjectOnPlane,但不确定它是如何工作的。
有人可以帮助我吗?
由于地面始终平行于 XZ 平面,这意味着 Vector3.up
垂直于地面。因此,您可以像这样使用 Vector3.ProjectOnPlane
来获得所需的光线方向:
Vector3 rayDirection = Vector3.ProjectOnPlane(cameraTransform.forward, Vector3.up);