level 5
想做一个飞机上的旋转炮塔的,但是子弹因为不具有飞机飞行时的惯性速度而导致弹道弯曲看着非常怪,将子弹速度增加后虽然这个状况有所减轻,但真实感下降了,而且也不是解决问题的关键。
有高手知道怎么解决这个问题吗?
2017年02月03日 18点02分
1
level 1
当发射子弹的时候,实例化一颗子弹,把飞机的速度赋给它,包括大小和方向,然后再给它一个力的作用,方向就是炮塔发射的方向,速度靠力控制,这样应该是两个效果的叠加吧
2017年02月04日 03点02分
8
不行啊,我都试过了。
2017年02月04日 05点02分
level 5
利用飞机本身的速度方向以及速度的变量来施展力,gameObject.GetComponent.<Rigidbody>().AddForce(main.playerjiti.GetComponent.<Rigidbody>().velocity*fly.planespeed);弹道各种乱。应该是施加力大小不对。
fly.planespeed=planes.GetComponent.<Rigidbody>().velocity.magnitude;
数值不对。另外我移动、普通力、恒力都试过了。也试过增加一些参数,但因为无法获得准确的值导致飞机在不同的速度下弹道各种不
正确的
扭曲。
2017年02月04日 05点02分
9
level 5
ok,我找到方法了。
是我太二了,忘记了一个简单的逻辑,就是让物体直接带有也就是等于想要得到的那个物体的速度就可以了。
A.GetComponent.<Rigidbody>().velocity = B.GetComponent.<Rigidbody>().velocity;
A是子弹,B是飞机,这样无论A再慢的速度发射也会带有一个基本的速度方向量。不会再出现弹道弯曲的情况。
希望这个能对大家有帮助,之前看了一些案例都没提到这个。不加这个炮弹飞出去很不真实。
2017年02月04日 07点02分
10