终于做完网易第二个任务了, 赶DDL这几天确实是痛苦与快乐并存, 但好在最后还算是顺利完成了, 除了阴影那部分没有完全做完, 用的是阴影矩阵而非常规的深度贴图…… 其实, 消耗精力比较多的反而是小车倒车的逻辑处理上, 其中碰到的一个坑便是旋转矩阵的问题~
在使用
XMVector4Transform(g_pBackwardVec, XMMatrixRotationY(-fabs(g_pSingleRotIncrement))
这行代码求小车的倒车方向时, 发现小车的车轮间距会越来越小, 发现使用XMMatrixRotationY(-fabs(g_pSingleRotIncrement)得到的旋转矩阵并非正交矩阵, 即它无法保持倒车方向向量的模长恒为1, 于是需要对经旋转矩阵变换后的倒车方向向量进行归一化.
然鹅, 坑爹的是使用XMVector3Normalize这一个Direct3D提供的归一化函数根本没卵用, 依旧无法保持倒车方向向量的模长! 真是醉了, 不知道这个是算Bug还是我的使用方法有问题…… 反正最后我是自己手写了一个向量归一化函数额……
反正终于是做完了!!! 完结撒花✿✿ヽ(°▽°)ノ✿
PS: 附旋转矩阵是正交矩阵的证明
证明:旋转矩阵是正交矩阵