根据对象标记Unity 2d禁用或启用冲突

 狗狗水灵灵_266 发布于 2023-02-13 18:32

我想基于其标签在Unity 2d游戏中禁用或启用与对象的碰撞.假设我有标签"foo1"的对象和标签为"foo2"的对象.如果用户选择与对象"foo1"发生碰撞,则它不应与对象"foo2"发生碰撞.

我怎么能实现这个目标?我试过这个:

 void OnCollisionEnter(Object other)
 {
      if (other.tag == "foo1")
          collider.enabled = false;
 }

但这有两个原因无效.第一个对象必须将isTrigger设置为true(这不能为作为地面的对象设置),如果我禁用整个对撞机,那么对象将通过地面掉落.

我是团结的新手,我将更详细地研究它,但我要求快速帮助,也许想知道如何做到这一点?

1 个回答
  • 您可能希望查看图层,而不是通过标记执行此操作.

    通过将不同的对象分配给不同的层,您可以将它们设置为彼此冲突,或忽略任何潜在的冲突.你可以实现这个目标

    编辑 - >项目设置 - >物理

    您可以在其中编辑图层碰撞矩阵,以启用或禁用图层元素之间的碰撞.

    2023-02-13 18:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有