Unity官方案例篇:Tanks Tutorial全解读(相机控制)
这个相机控制我个人感觉比较难,所以会啰嗦一点,大虾勿喷。
脚本挂在
然后FixedUpdate里面有Move和Zoom两个函数,我们先看Move
我们看39行的FindAveragePosition函数
我们查找m_Targets的所有引用,发现它在GameManager被赋值,分别为坦克1和坦克2的值。
averagePos是平均位置也就是两个坦克的中间位置,得出方法为,两个坦克位置相加除以2。(此方法很健壮,无论多少坦克,只要在GameManager里面赋值给targets,都可以跟踪。)
然后再回到Move方法里
(1)Vector3的API
(2)ref
ref与out基本是类同的,如果在程序中引用原值的话,必须使用ref防止传入未初始化的值。
然后是Zoom方法
先看FindRequiredSize函数
得到的desiredLocalPos为m_DesiredPosition相对于脚本所在物体坐标的世界坐标,为什么要取相对坐标呢,因为这样会让我们进行相机尺寸的计算更加精确,如果不取相对坐标,会有偏差,可自行实验。下面同理。
然后是Size,https://blog.****.net/u012169685/article/details/51142839
下面是根据每个坦克所在的位置来进行最后的size计算。先上下,后左右。
最后设置好开局相机的位置