欢迎光临散文网 会员登陆 & 注册

unity 学习:弹坑与碰撞检测

2022-11-18 22:41 作者:东边的BiLi  | 我要投稿

今天学习模拟弹坑,一开始想去学,然后unity官方给我说,如果不是对画面要求很高,就用 QUAD 就好了。

也行吧,都是学习。于是我就去学了。然后发现即便的官方的教材也有非常多的细节没给你说。这里我就当给自己做笔记了。


一,quad 跟 贴花有本质的区别, quad就是一块硬纸板,不能完美地覆盖在曲面上,但是贴花(似乎)又需要新的渲染管线来做,消耗会更大,我以后再说吧。

二、quad 如果跟 目标的mesh贴在一起,会闪烁,我的解决方案是给 quad 做厚一点点,覆盖在目标贴图上面,而不是重叠

三、尽管我现在是在说贴图,但又跟碰撞检测高度关联,因为弹坑是给射中的目标准备的,你要获取正确目标,就必须要关注 碰撞检测。 unity 的碰撞检测有四种:

离散:最高性能,但计算非常粗糙,如果物体的速度很高(比如子弹),则会无法达到你的预期。表现为,明明应该撞上某物体(比如一堵墙),但是算法认为子弹有几率穿过墙是合理的

连续:最低性能,但是最接近现实,因为它是进行最严格的计算。unity 建议我们别用,但如果你有非常高速的物体需要精密计算,你还是得用它。

动态连续:性能比【连续】稍微好一点点,它是以取巧的方式来换取性能,我现在就用的它,还行吧。建议子弹这类高速物体都用它。(测试用的速度 每秒40米 ,我很满意)

扫描连续:性能比动态连续更加好,unity 官方推荐,同样是取巧的方式,但取巧的思路不同(可以认为走了邪路),经过我实际测试,这个方式在画面表现上,可以取代动态连续,但是由于走的邪路,对碰撞目标的计算会出错(一定出错,不是几率),所以 你只能在不需要获取目标的场景下使用


解决掉基础问题后,由于我现在可以准确获得目标了,于是我就能进行判断,是否允许留下弹坑,留下什么样的弹坑(石头材质 和 皮革材质 , 我就可以分别制作不同的弹坑了)以及给它做特效,比如着火,冒烟,木屑等等。


好了,今天就这样吧。

unity 学习:弹坑与碰撞检测的评论 (共 条)

分享到微博请遵守国家法律