如何从OnCollisionStay中排除与地面的碰撞?

问题描述 投票:-1回答:1

我正在尝试为播放器制作一个墙面脚本,并且正在尝试OnCollisionStay,我唯一的问题是它可以检测与地面的碰撞以及我不希望其检查的东西。有什么办法可以只检查墙壁或检查我想要的东西吗?

c# unity3d
1个回答
0
投票

有两种方法可以做到这一点:

  1. 在OnCollisionStay方法中使用if语句,然后检查与之碰撞的对象的标签:

    void OnCollisionStay(Collision coll) {
        if (coll.transform.tag.Equals("Wall") {
            // Do wall related stuff
        }
    }
    
  2. 设置基于层的冲突检测。本文档说明:https://docs.unity3d.com/Manual/LayerBasedCollision.html

取决于您要实现这些方法中的一种还是两种方法的结合,应该会为您带来所需的结果。

© www.soinside.com 2019 - 2024. All rights reserved.