unity 为什么要做动态骨骼的碰撞,有什么用吗?请问

unity 为什么要做动态骨骼的碰撞,有什么用吗?请问,第1张

首先为了降低计算消耗,大多数情况下不会用 MeshCollider,而是用多个标准几何体的组合来近似包裹住你的模型

要做随蒙皮骨骼动画而运动的碰撞器其实很简单,你在 Unity 里把每个骨骼模型展开,给每个部分添加近似的标准几何体 Collider 包裹它就可以了(比如把两个圆柱 Collider 附加到腿上,把胶囊 Collider 附加到身子上等),最后把整个动画角色做成一个 Prefab,因为 Collider 是相对定位的,骨骼动画时,Collider 会跟随它管理的 Mesh 而动。

选中目标物体,Component->physics->XXX Collider就是不同形式的碰撞体,其中Mesh Collider为和目标模型一致的碰撞体,模型大的话会消耗大量内存,一般复杂模型的碰撞体都是在建模期间专门做的。

比如我有一个空物体,这个物体上有一个,LineRenderer 的Component,那么如果想把它当做一个很细的线来当阻挡,我会调整line的width,之后将他position的位置原样赋值给EdgeCollider2D的Points;如果我想做成的是很大面积的阻挡(线很粗),那我可能选择用PolygonCollider2D,但其实它俩的效果应该就是封闭不封闭了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7929405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存