Unity_弹壳抛出

这几天做项目,一个FPS游戏,中间做武器时一个开枪后抛出弹壳,但是换个方向后弹壳抛出后的方向就不对,经过测试后发现是使用Rigibody.AddForce时添加力的坐标位置不对。

以弹壳抛出的位置作为弹壳刚体添加力的坐标点

GameObject _pistolShell = Instantiate(PistolShell,PistolShellPoint.transform.position,PistolShell.transform.rotation) as GameObject;
            _pistolShell.GetComponent().AddForce(PistolShellPoint.transform.up * -8);
            Destroy(_pistolShell,4.0f);


同时在贴出几种在修复这个bug时所使用到的方法给刚体物体是施加力的方法

Rigibody.AddForce   添加到刚体的力

Rigibody.AddRelativeForce  添加力到刚体,相对于它的系统坐标

Rigibody.AddExplosionForce  添加爆炸力

Rigibody.velocity  改变刚体的速度向量


其中Rigibody.AddRelativeForce没有太过仔细去看,Rigibody.velocity 使用的方法和AddForce相近,但是Rigibody.velocity更多的是改变刚体的移动速度,以米为单位;Rigibody.AddExplosionForce则是应用于爆炸效果中,设置一个点让物体造成一个给弹开的效果


Untiy使用的时间还不是很久,当中若有错误的地方欢迎提出,毕竟只有错误才能使人进步

你可能感兴趣的:(unity,C#,vr-开发)