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.csdn.net/u012169685/article/details/51142839

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

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

 

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值