我正在尝试检测子弹(有刚体和箱式对撞机)是否击中我的模型(具有CharacterController和网格对撞机),但它不起作用。如果我在一个立方体(也有一个CharacterController和一个Box Collider)上尝试相同的脚本,它的效果非常好。我已经尝试将它作为触发器并使用OnTriggerEnter,但它仍然无法在模型上工作,但在多维数据集上也能很好地工作。这是我的代码。
function OnControllerColliderHit (hit : ControllerColliderHit)
{
//doesnt work for either of them
if(hit.gameObject.tag == "bullet")
{
print("i have been hit by a bullet");
}
}
function OnTriggerEnter(hit : Collider)
{
//works for the cube and not the model
if(hit.gameObject.tag == "bullet")
{
print("i have been hit by trigger hit ");
}
}
function OnCollisionEnter(hit: Collision)
{
//works for the cube and not the model
if(hit.gameObject.tag == "bullet")
{
print("i have been hit by trigger hit ")
}
}
答案 0 :(得分:0)
角色控制器的碰撞检测仅在两个碰撞的对象包含角色控制器时有效。
因此,您的子弹不会与您的模型发生冲突。
你的立方体与模型碰撞,因为它包含角色控制器。如果你移除了盒子对撞机,立方体它仍会检测到与模型的碰撞。
您必须选择使用哪种碰撞系统。
如果你在子弹上添加角色控制器,碰撞就会起作用。
希望这有帮助!