子弹会把物体击飞怎么解决
unity3d吧
全部回复
仅看楼主
level 7
生成的子弹是高速移动的,每次撞击到物体就会把物体击飞,击退效果当然可以有,但感觉这样又太夸张了,有没有大佬知道有没有什么办法可以让物体保持高速移动的同时在撞击其它物体时不要造成那么大的力?
2024年10月22日 13点10分 1
level 7
之前的解决思路是,在子弹碰撞到物体前的一点点距离时,立刻降低子弹速度,但试了几种方法还是没实现成功,怎么限制速度子弹还是往前冲[泪](应该是哪里出bug了但暂时还没解决),后面换了个思路,反过来对受击的npc进行速度限制,但效果也不显著,有没有大佬能提供个思路[乖]
2024年10月22日 13点10分 2
level 7

2024年10月23日 00点10分 3
level 7

2024年10月23日 00点10分 4
level 9
可能是设置的速度不对吧
2024年10月23日 02点10分 5
level 5
不要用碰撞体,用触发器,受力的效果用其他逻辑去实现,比如触发碰撞的时候添加一个力
2024年10月23日 02点10分 6
受力效果 和 子弹运动 两件事解偶
2024年10月23日 02点10分
这个思路可以试试,感谢[太开心]
2024年10月23日 03点10分
level 2
用触发器,挡子弹接触到被射击的物体时,用代码加一个被射击的效果
2024年10月23日 03点10分 7
和楼上的那个思路差不多,可以试试,感谢[吐舌]
2024年10月23日 03点10分
level 1
不用触发器的话也可以修改rigidbody的质量值,子弹值小一点,物体的值大一点,我做推动效果就是这么做的
2024年10月23日 04点10分 8
level 8
1.了解一下 仅查询 和 阻挡 的不同
2.为物体赋予材质
两个方法都行
2024年10月23日 16点10分 9
level 7
昨天试了一下,触发器的方法没能成功,可能是因为弹速太快,触发的几率很小,大部分时候子弹直接穿过去了,最终的解决方法是,当子弹击中对方时,被击中部位的刚体会被设置为static,然后在极短的时间后恢复为dynamic,在被击飞前强行硬控住,虽然在锁链关节方面会出点小问题,但总体效果还算满意
2024年10月24日 00点10分 10
改刚体性质性能特别差,涉及到物理系统重构,非必要不要去改这个,可以试试离散检测改成连续检测
2024年10月24日 07点10分
一般来说都是能检测到 触发器 和碰撞体的回调不是同名的 2d 和 3d 也不是同一套 ,可以把失败的代码贴出来看看
2024年10月24日 07点10分
你可以试试用很慢的速度测试一下,如果没有触发大概率是代码逻辑不对
2024年10月24日 07点10分
@遮天诡术神龙🌀 暂时来看就是速度问题,低速状态是可以触发的,高速状态只能用碰撞检测(设置了连续检测,不设置连续检测连碰撞都没法触发),不过还是感谢了
2024年10月27日 08点10分
level 12
如果是弹速很快的那种游戏,别用物理,用射线去判断,视觉上拿粒子模拟一下弹道就行了
2024年11月01日 10点11分 11
1