Unity3D + Kinect字符控制器和对象之间的碰撞检测

时间:2014-05-17 11:38:05

标签: unity3d collision-detection kinect collision

我目前正在制作一个简单的“足球”游戏,两个玩家互相对战。他们有一个目标,他们必须把球放到另一个球的目标。他们的动作用Kinect跟踪。

不幸的是,我遇到了碰撞的一些困难。我已经将一个刚体附着在每个角色的脚和手上,这样他们就可以踢球并击球,但它或多或少都有效。问题是脚和手都在转动自己,我无法弄清楚原因。此外,我想在角色踢球(或击球)时添加一个力量。为此,我使用http://docs.unity3d.com/Documentation/ScriptReference/CharacterController.OnControllerColliderHit.html但它不起作用。我添加了一个Debug.Log(“foobar”),但它没有记录任何内容。

1 个答案:

答案 0 :(得分:1)

耶!我用触发器解决了这个问题。我检查了脚和手的“Is Trigger”并使用以下代码处理了触发器:

public float speed;

void OnTriggerEnter(Collider other) {
    Rigidbody body = hit.collider.attachedRigidbody;
    if (body == null || body.isKinematic)
        return;

    body.AddForce(Vector3.forward * speed);
}

它立即解决了所有问题!