2019年5月14日 星期二

Week 13

Week 13
接續程式碼測試
三、碰撞偵測

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class makeprefebs : MonoBehaviour
{
    public GameObject _Pre_Cube;
    //public Transform Trans;
    // Start is called before the first frame update
    void Start()
    {
     
    }

    // Update is called once per frame
    void Update()
    {
     
    }
    private void OnCollisionEnter(Collision collision)//碰撞偵測器
    {
        if (collision.collider.tag == "pick")
        {
            Instantiate(_Pre_Cube, Vector3.zero, Quaternion.identity);
                                                                               //在坐標原點生成一個cube
            print("yes");                                                //如果成功就yes
        }
    }
}

這裡我們使用unity自帶的碰撞偵測器——OnCollisionEnter(Collision collision)
除此之外還可以用
OnCollisionStay(Collision collision)
OnCollisionExit(Collision collision)
三者的區別在於偵測的時間和次數
Enter是碰到就檢測一次
Stay是檢測是否一直碰到
Exit是物體分離的時候檢測
Ps:要檢測物體碰撞需要在物體上加入collider
(box什麼的都可以,看自身的需求)
       同時還需要在其中一個物體上加入rigidbody

我們在碰撞偵測器中加入碰到就生成一個預製物
使用Instantiate(物件名稱,生成點坐標,生成身份)


沒有留言:

張貼留言