Unity官方案例篇:Tanks Tutorial全解读(相机控制)

版权声明:转载请注明出处!不注明也无所谓,嘿嘿。 https://blog.csdn.net/qq_15020543/article/details/82762537

这个相机控制我个人感觉比较难,所以会啰嗦一点,大虾勿喷。

脚本挂在

然后FixedUpdate里面有Move和Zoom两个函数,我们先看Move

我们看39行的FindAveragePosition函数

我们查找m_Targets的所有引用,发现它在GameManager被赋值,分别为坦克1和坦克2的值。

averagePos是平均位置也就是两个坦克的中间位置,得出方法为,两个坦克位置相加除以2。(此方法很健壮,无论多少坦克,只要在GameManager里面赋值给targets,都可以跟踪。)

扫描二维码关注公众号,回复: 3417243 查看本文章

然后再回到Move方法里

(1)Vector3的API

(2)ref

ref与out基本是类同的,如果在程序中引用原值的话,必须使用ref防止传入未初始化的值。

然后是Zoom方法

先看FindRequiredSize函数

得到的desiredLocalPos为m_DesiredPosition相对于脚本所在物体坐标的世界坐标,为什么要取相对坐标呢,因为这样会让我们进行相机尺寸的计算更加精确,如果不取相对坐标,会有偏差,可自行实验。下面同理。

然后是Size,https://blog.csdn.net/u012169685/article/details/51142839

下面是根据每个坦克所在的位置来进行最后的size计算。先上下,后左右。

最后设置好开局相机的位置

总结:从这个官方案例中,我学到了很多,也明白了自己有很多不足,知道了自己的代码和真正的代码之间的差距,嘛,凡事都有个过程,我会不断学习,提高自己,祝大家也天天进步。

猜你喜欢

转载自blog.csdn.net/qq_15020543/article/details/82762537