【发布时间】:2016-10-24 00:02:54
【问题描述】:
我使用此代码检测侧面的碰撞,但它不起作用。我将角色控制器连接到我的播放器和蓝色盒子上的盒子碰撞器,但是当我与它们碰撞时它没有检测到碰撞。 https://i.stack.imgur.com/eUpOg.png
void OnControllerColliderHit (ControllerColliderHit hit){
if (controller.collisionFlags == CollisionFlags.Sides) {
Debug.Log (hit.gameObject.name);
Debug.DrawRay (hit.point, hit.normal, Color.red, 2f);
}
【问题讨论】:
-
一个好的建议是将
Debug.Log (hit.gameObject.name);放在 if 语句之外,看看是否有任何日志。 -
我做到了,但我也没有得到任何东西。
-
这很有趣。你能验证你的立方体有碰撞器并且它们的碰撞器有
IsTrigger禁用/取消选中吗?还将刚体添加到每个 Collider,看看会发生什么...... -
它们没有设置为触发器,我用刚体在蓝色盒子上进行了测试,它也不起作用。看起来很奇怪,昨天我在另一个项目上尝试了相同的代码,它运行良好。
-
你是如何移动角色控制器的?
标签: c# unity3d collision-detection collider