Vector3 方向 属性 值

Vector3 Directional Property Values

我没能找到这方面的文档(可能只是没有输入正确的 search terms in Google). I am currently re-writing an in-house camera and am wondering what the values for Vector3.ForwardRH and Vector3.ForwardLH are. I already know the values for Left, Right, Up, and Down,考虑到传统的 Vector3:

,这已经足够简单了
Vector3.Left  = (-1,  0, 0);
Vector3.Right = ( 1,  0, 0);
Vector3.Up    = ( 0,  1, 0);
Vector3.Down  = ( 0, -1, 0);

我也知道在 UnityVector3 class 具有对应于 Z 轴的属性 forwardback分别是:

Vector3.Forward  = (0, 0,  1);
Vector3.Backward = (0, 0, -1);

问题:但是,DirectX 11 对 forwardback 都有两个属性,它们是LHRH 变体。有没有人有关于这些值是什么以及为什么 LHRH 不同的文档?为什么大多数现代引擎只使用 forward and back 来代替?

NOTE :谢谢大家的帮助,如果你觉得我需要添加更多信息到此 post 为了进一步澄清,请随时在评论中告诉我,我会尽力进一步充实它。

另外:指向Google的链接是我的实际搜索。

答案LHRH代表左撇子和右撇子的区别坐标系。 Forward 属性 需要根据您在 DirectX 中的坐标系来选择。例如,我的坐标系是右手坐标系,所以我需要使用 ForwardRHBackwardRH.

LH和RH分别代表左手坐标系和右手坐标系。 Z 轴将指向相反的方向,具体取决于您使用的坐标系。 DirectX 不知道您使用的是哪个系统,因此为了方便和可读性,它提供了常量。

其他游戏引擎(例如 Unity)只提供一个常量,因为它们假定每个人都使用相同的坐标系。