使用射线Raycast判断某个方向是否有碰撞体
1个回答
展开全部
public class NewBehaviourScript : MonoBehaviour {
void Start () {
if (Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider"))) {
string colliderName = Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider")).collider.gameObject.name;
Debug.Log("Collider " + colliderName + " is under the CubeUp");
}
else {
Debug.Log("No collider is under the CubeUp");
}
}
void Update () {
}
}
可以看到这里需要把下方物体CubuDown的Layer设置为Collider(上方物体CubeUp不需要设置):
运行后:
即可以检测到下方有碰撞体。
void Start () {
if (Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider"))) {
string colliderName = Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider")).collider.gameObject.name;
Debug.Log("Collider " + colliderName + " is under the CubeUp");
}
else {
Debug.Log("No collider is under the CubeUp");
}
}
void Update () {
}
}
可以看到这里需要把下方物体CubuDown的Layer设置为Collider(上方物体CubeUp不需要设置):
运行后:
即可以检测到下方有碰撞体。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
康科达
2023-08-22 广告
2023-08-22 广告
北京康科达科技有限公司是一家专业从事放射治疗配套设备及耗材生产、经营的科技企业。客户面向全国的疾控中心和放疗科医院。主营电离室、放疗剂量仪、放疗自动扫描水箱、调强验证系统、放疗质控设备、激光定位系统、放疗定位产品、放疗定位膜、放疗模室产品、...
点击进入详情页
本回答由康科达提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询