Unity 3D 碰撞觸發(fā)實踐案例

2020-07-15 10:00 更新

碰撞體需要和剛體一起作用來產(chǎn)生碰撞。

如果兩個剛體撞在一起,物理引擎不會計算碰撞,除非它們包含一個碰撞體組件。

沒有碰撞體的剛體會在物理模擬中相互穿透。

案例設(shè)計

本案例在 Unity 3D 內(nèi)創(chuàng)建一個簡單的三維場景,場景內(nèi)放有 SpherePlane,Plane 用于充當(dāng)?shù)孛妫?code>Sphere 用于做碰撞測試,當(dāng)人物與 Sphere 距離足夠近時發(fā)生碰撞,小球消失。

![](https://atts.w3cschool.cn/attachments/image/20200715/1594778383989575.gif)

案例實施

  1. 創(chuàng)建平面(0,0,0,)和小球(0,1,0),將小球置于平面上方。

  1. 執(zhí)行 AssetsImport PackageCustomer Package 命令添加第一人稱資源。

  1. 選中第一人稱資源后單擊 Import 按鈕導(dǎo)入。

由于第一人稱資源自帶攝像機,我們需要關(guān)掉場景中的攝像機。

  1. 在 Project 視圖中搜索 first person controller,將其添加到 Hierarchy 視圖中,并擺放到平面上合適的位置。

  1. 選中 Cube,為 Cube 對象添加 Box Collider,并勾選 Is Trigger 屬性。

  1. 編寫腳本 "Colliders.cs"。

    using UnityEngine;
    using System.Collections;
    public class Colliders:MonoBehaviour{
        void OnTriggerEnter(Collider other){
            if(other.tag=="Pickup"){
                Destroy(other.gameObject);
            }
        }
    }

  1. Colliders 腳本鏈接到 first person controller 上。

  1. Cube 添加標(biāo)簽 Pickup。

  1. 運行測試。

可以發(fā)現(xiàn),當(dāng)人物靠近立方體盒子后,盒子會立刻消失。

以上為第一人稱視角。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號