• 您(nín)的位置:首(shǒu)頁 > 新聞動態 > Unity3D

    unity的碰撞(zhuàng)檢(jiǎn)測詳細解釋

    2018/3/5      點擊:
    1.[AddComponentMenu("MyGame/Player")] //在Component菜單中加入“MyGame/Player”選項
    2.Time.deltaTime表示每幀的經過時間,那(nà)些需(xū)要每幀做增(zēng)減變動(dòng)的數值都需要乘上Time.deltaTime
    3.MonoBehaviour的(de)派生類不能使用構造函數初始化
    4.unity的遊戲(xì)體隻能(néng)使(shǐ)用Instantiate函(hán)數實例化,不能使用new
    5.OnTriggerEnter函數觸發條件:首先兩個(gè)物體都要加碰撞體,被碰撞的物體必(bì)須勾選Is Trigger使其監測觸發(不要加剛體(tǐ)),負(fù)責碰撞的物體必須加上剛體來觸發被碰(pèng)撞物體(加上剛體才擁有了觸(chù)發(fā)別(bié)人的作用,不(bú)要勾選(xuǎn)Is Trigger)。
    或者負責碰撞的物(wù)體勾選Is Trigger使其監(jiān)測觸發(不要加剛體),然後被碰撞的物體加上剛體。(不要勾選Is Trigger)


    6.OnCollisionEnter(碰撞瞬間)函(hán)數和OnCollisionExit(離開(kāi))調用條件(jiàn):首(shǒu)先兩(liǎng)個物體都要加碰撞(zhuàng)體,且Is Trigger(因為(wéi)勾選了(le)它,則碰撞失效)都必須勾掉,另外:剛體碰非剛體會碰撞(這裏碰撞指的是調用碰撞函數),非(fēi)剛體碰剛體(tǐ)不會碰(pèng)撞(詳細來說就(jiù)是:運動中的剛體碰非剛體,則會調用(yòng)被撞物體(tǐ)和撞(zhuàng)物體的(de)OnCollisionEnter係列函數),OnCollisionStay(接觸)函數調用條件(jiàn):兩個滿足條件的物體挨著的時候就會調用OnCollisionStay
    7.Is Trigger和Is Kinematic屬性詳解
    Is Trigger:選(xuǎn)中Is Trigger開啟觸發器(觸發器的(de)範圍則是(shì)碰(pèng)撞的範圍),則碰撞屬性失效了
    Is Kinematic:選中Is Kinematic開啟運動學狀態(一切物體保持靜止或保持勻速向前運(yùn)動,除(chú)非有外力影響它的狀態,這裏的運動學(xué)狀態指的是勻速向前運動(dòng),牛頓大俠的理論)。如選(xuǎn)中,該物體不會受到外力,但是需要注(zhù)意的是碰撞還在(碰撞不屬於剛體組件,它是在碰(pèng)撞體組件裏)
    注:1.角控(kòng)製器(qì)(即Character Controller)不發力不(bú)受力但(dàn)是可以被由代碼(mǎ)施加的力推動,,如果加Rigidbody組件,則這兩個會(huì)衝突(這是unity中非自然的一部分)
    2.運動學剛體發力不受力
    3.剛(gāng)體發力且受力
    4.有時候(hòu)碰撞可以產生(shēng)反作用力,比如角控製器可以通過碰撞給一個運動中的剛體反作用力
    5.剛(gāng)體靜止時,則會進入休眠狀態,休眠(mián)狀態中剛體屬(shǔ)性(xìng)不生效,比(bǐ)如阻力,重力,摩擦力(lì)。如何激活剛體使其喚(huàn)醒:給它力(lì),讓(ràng)它平移(yí)等。(這是unity中非自然的一部分(fèn))
    6.現(xiàn)實生(shēng)活中,先有往某個方向的力(lì)才會有(yǒu)反(fǎn)方向(xiàng)的阻力,而且一(yī)般情況下阻力比該方向的力小,但在unity中(zhōng),阻力是可以事(shì)先設置的,當阻力大於作用力時,物體會向(xiàng)阻力的方(fāng)向運動(dòng),是不是很反自然?(這是unity中非自然的一部分)
    7. 如果兩個物體都不是(shì)剛體,都有碰撞(zhuàng)體,結果穿透,都不(bú)會調用(yòng)碰(pèng)撞(zhuàng)函數
    8.物體1是動力學剛體且有碰撞體,物體2沒有剛體有碰撞體,結果穿透,都不會調用碰撞函數
    9.物體1是動力(lì)學剛體且有碰撞體,物體2有(yǒu)剛體有碰撞體,結(jié)果(guǒ)碰了,調用(yòng)碰撞函數(不同情況調(diào)用不同函數。比如速度不同,調用函數不同[比(bǐ)如速度(dù)過快會穿過去])

    表格:(針對於OnCollisionEnter係列函數,默(mò)認都有碰撞體,重力都取消了,表格列出(chū)的現象可能(néng)片麵)


    Cube

    Sphere

    現象

    剛體

    剛體

    動力學

    運動狀態

    剛體

    剛體

    動力學

    運動狀態

    互相穿透不幹擾

    互相(xiàng)穿透不幹擾

    有(yǒu)

    碰撞檢測,且Cube不會被撞開

    碰(pèng)撞檢測,且Cube不會被撞開

    互相穿透不(bú)幹擾

    互相穿透不幹擾

    有(yǒu)

    碰撞檢測,且Sphere不會被撞開

    有(yǒu)

    碰撞檢測,且相互撞(zhuàng)開

    碰撞檢測,且Sphere隨Cube動

    碰撞檢測,且Sphere不會被撞開

    碰撞檢測,且Sphere不會被撞開(kāi)

    碰撞檢測,且Cube不會被撞開

    嵌入時,碰撞檢測(cè),且Cube不會被撞開

    互相穿透不(bú)幹擾

    嵌入時,互不幹擾

    嵌入時,碰撞檢測,互相撞開

    碰撞檢測,且Cube隨Sphere動

    嵌入時,碰撞檢測,Sphere不會被撞(zhuàng)開(kāi)

    互相(xiàng)穿透不幹擾

    互相穿透不(bú)幹擾

    互相穿透不幹(gàn)擾


    8.this.transform.parent = surface.transform; //改變該物體(this.transform)的父級,父物體為surface.transform處的物體


    91影视免费版下载-91麻豆国产福利精品-91麻豆精品一二三区在线-国产91系列视频在线观看