unity的碰撞器和触发器简单学习

1.两个物体发生碰撞的条件:(1)两个物体同时有碰撞器;    (2)发起方有刚体(Rigidbody)。

   做游戏时记住都加刚体Rigidbody就行了。万无一失。

2.勾选Is Trigger,变成触发器

   两个物体Box Collider里都勾选Is Trigger,所有碰撞效果失效,两个物体接触时触发所写的命令。

代码举例:

using UnityEngine;
using System.Collections;


public class Pengz : MonoBehaviour {


// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}


    private void OnTriggerEnter(Collider other)                    //OnTriggerStar   刚开始接触就运行下面的命令
    {
        print("你碰着我了");    
    }
    private void OnTriggerStay(Collider other)                      //OnTriggerStay   持续接触就持续执行下面命令
    { 
        print("你怎么还在碰我啊");
    }
    private void OnTriggerExit(Collider other)                        //OnTriggerExit   结束接触就执行下面命令
    {
        print("你终于不碰我了");
    }
}

3.也可以使用OnCollisionEnter方法,做触发器!

这个命令是在发生碰撞效果的时候,执行触发器,触发所写的命令,此时不用在Box  Collider里勾选Is Trigger。

private void OnCollisionEnter(Collision collision)
    {
        print("1");
    }
    private void OnCollisionStay(Collision collision)
    {
        print("1");
    }
    private void OnCollisionExit(Collision collision)
    {
        print("1");
    }


3.总结,OnTriggerEnter的使用条件

  2个物体都有碰撞器,最少有一个勾选Is Trigger,其中有且只有一个物体添加了刚体组件

你可能感兴趣的:(自学)