在Unity中发射子弹功能有时会发射不出去,原因是发射子弹的物体本身也有碰撞体,子弹与自身碰撞体发生碰撞就消失了。
文章来源:https://www.toymoban.com/news/detail-745306.html
解决方法:将墙体、敌人等需要子弹碰撞触发相应效果的物体添加Tag,在子弹脚本中添加代码判断Tag再进行Destory处理。文章来源地址https://www.toymoban.com/news/detail-745306.html
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Cube"))
{
//当子弹销毁时创建爆炸特效
if (effectObj !=null)
{
GameObject eft = Instantiate(effectObj, this.transform.position, this.transform.rotation);
//改音效的音量和开启状态
AudioSource audios = eft.GetComponent<AudioSource>();
audios.volume = GameDataManager.Instance.musicData.soundValue;
audios.mute = !GameDataManager.Instance.musicData.isOpenSound;
}
Destroy(this.gameObject);
}
}
到了这里,关于Unity子弹发射碰到自己消失解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!