unity, multi collider

比如下面鸭子模型,只用一个box collider难以很好地吻合其的外形。

unity, multi collider_第1张图片

我们可以为它添加两个box collider,如下图所示:

unity, multi collider_第2张图片

注意:

1,colliders一定要添加在模型根节点(即图中dock节点上)。

2,如果想让模型是动态的,不要忘了添加Rigidbody。

另外,如果需要在脚本里对两个collider分别编程的话,若直接在脚本里get这两个collider,由于都是box collider,也没有特殊标识,所以区分不开。一个简单但不太完美的办法是在脚本中定义两个public变量,然后在inspector中把两个collider分别赋给它们。上面中的colliderDistinguish.cs如下:

using UnityEngine;
using System.Collections;
public class colliderDistinguish : MonoBehaviour {
    public Collider m_collider1;
    public Collider m_collider2;
    // Use this for initialization
    void Start () {
        Debug.Log ("collider1 center:"+m_collider1.bounds.size);
        Debug.Log ("collider2 center:"+m_collider2.bounds.size);
    }
}

输出结果:

 

你可能感兴趣的:(unity)