Unity关于子弹发射tansform.up和Vector3.up在transform.translate()函数中的区别

        无论up.right.还是forward,都是一样的原理。

transform.Translate(transform.up * BulletSpeed * Time.deltaTime, Space.World);

        Transform.up在移动对象的同时还要加上旋转,如果此时使用的Space.Self,那么对象(这里是发射子弹)还要加上本身旋转的角度再发射出去:如果坦克朝左发射,那么子弹会朝左,但是向下运动(向左的绿轴 + 旋转90°)

transform.Translate(Vector3.up * BulletSpeed * Time.deltaTime, Space.Self);

         而Vector3.up只是移动如果坦克朝左发射,那么子弹也会朝左运动。如果使用Space.World,那么无论坦克从哪个方向发射,子弹永远是向着世界坐标轴的绿轴运动的

所以在以上情况下,transform.up要对应Space.World,Vector3.up要对应Space.Self

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值