如何解决Unity:是否可以将场景设置为仅适用于一层的触发对撞机?
Unity已经很好地管理了碰撞并很好地触发了,但我想知道是否可以优化触发器以仅对图层做出反应?
当前,如果我在场景中有许多不同的对象与碰撞器,我需要这样做:
void OnTriggerEnter (Collider other) {
if (other.gameObject.layer == myLayer) {
// do stuff here
}
}
但这意味着,用对撞机女巫的 ALL 计算得出的碰撞似乎没有效率。
如果我想让触发器仅对玩家做出反应,是否有办法告诉它忽略所有其他层,以避免不必要的计算?
解决方法
是的,使用手册here中所述的碰撞矩阵。
,- 添加新的图层蒙版(或仅使用现有的蒙版)
- 取消选中所有可能与之碰撞的层,“ Player”层除外
- 将游戏对象的图层更改为新的修改后的图层
- 现在,该对象只能与玩家碰撞,并且只能由玩家触发(前提是其中一个具有刚体组件)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。