上面两节研究了Camera跟随的两种办法,现在给出第三种。
先介绍一个概念:
四元数*向量 == 将向量按照四元数进行一定的旋转后新的向量。(此说法有错的话烦请指正)
问题:
目前通过将Camera的Position和Rotation都赋值成游戏对象的值,达到了第一视角的目的,现在需要将Camera设置到游戏对象坐标系的Z轴负3的位置,以达到第三视角跟随游戏对象的效果。
那么可以这样做:
cameramain.transform.position = gameObj.transform.position - gameObj.transform.rotation * Vector3.forward * 3;
后面的这个gameObj.transform.rotation * Vector3.forward 就是目前游戏对象的Z轴方向在世界坐标中的单位向量。