Unity3D物理組件之碰撞體(十)

本節(jié)要點(diǎn)

#1.碰撞體簡(jiǎn)介

1.碰撞體

使用剛體移動(dòng)的物體高诺,與場(chǎng)景中其他的物體相碰撞:

其實(shí)是碰撞的目標(biāo)物體的“碰撞體”組件,也就是 Collider。

另外和目標(biāo)物體碰撞的梳虽,是我們移動(dòng)的物體的自身的“碰撞體”組件岖圈。

碰撞體可以理解為我們的模型的“外骨骼”魂挂。

模型只要加了剛體粹断,就必須要加碰撞體派敷,否則沒(méi)有意義癌压。

2.給物體添加碰撞體組件

選中游戲物體-->菜單 Component-->Physics-->Xxxx Collider

(我們?cè)?Unity 中創(chuàng)建的基本模型仰泻,自身都帶有碰撞體組件)

#2.Box Collider

1.簡(jiǎn)介

盒子碰撞體,形狀是立方體形滩届,用于包裹類似“立方體”的模型集侯,比如:盒子,

箱子帜消,門棠枉,房子等。

2.組件屬性

Center[中心點(diǎn)]

設(shè)置 Box Collider 的中心點(diǎn)泡挺。
Size[大小]

設(shè)置 Box Collider 的大小辈讶。



#3.Sphere Collider

1.簡(jiǎn)介

球形碰撞體,形狀是球形娄猫,用于包裹類似“球形”的模型贱除。

2.組件屬性

Radius[半徑]

設(shè)置 Sphere Collider 的大小咳促。

#4.Capsule Collider

1.簡(jiǎn)介

膠囊碰撞體,形狀是膠囊狀勘伺,用于包裹“膠囊形”的模型跪腹。

2.組件屬性

Height[高度]

設(shè)置 Capsule Collider 的高度。

Direction[方向]

設(shè)置 Capsule Collider 的高度方向(軸向)飞醉。

#5.Mesh Collider

1.簡(jiǎn)介

網(wǎng)格碰撞體冲茸,用于包裹復(fù)雜結(jié)構(gòu)的模型。

2.組件屬性

Mesh[網(wǎng)格]

根據(jù)指定的網(wǎng)格缅帘,生成碰撞體轴术。

場(chǎng)景視圖

關(guān)鍵代碼

InputTest

// Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {

        //鍵盤的值
        //按下A鍵持續(xù)返回true
        if (Input.GetKey(KeyCode.A))
        {
            Debug.Log("Get...........A");
        }
        //按下A鍵瞬間返回true
        if (Input.GetKeyDown(KeyCode.A))
        {
            Debug.Log("Getkeydown...........A Down!");
        }
        //松開(kāi)A鍵瞬間返回true
        if (Input.GetKeyUp(KeyCode.A))
        {
            Debug.Log("Getkeyup..............A Up!");
        }


        //鼠標(biāo)的值
        //獲取鼠標(biāo)的按鍵,持續(xù)返回true
        if (Input.GetMouseButton(0))
        {
            Debug.Log("Mouse Left");
        }


        //點(diǎn)擊鼠標(biāo)按鍵瞬間返回true
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("Left Down!");
        }

        //松開(kāi)鼠標(biāo)瞬間返回true
        if (Input.GetMouseButtonUp(0))
        {
            Debug.Log("Left Up!");
        }
    }
}

StudentMove

public class StudentMove : MonoBehaviour {

    private Transform m_Transform;

    // Use this for initialization
    void Start () {

        //獲取相應(yīng)組件的引用钦无,聲明同類型字段去接收
        m_Transform=gameObject.GetComponent<Transform>();
    }
    
    // Update is called once per frame
    void Update () {
    
        //移動(dòng)物體位置的關(guān)鍵語(yǔ)句
      //  m_Transform.Translate(Vector3.forward*0.1f,Space.World);
        //參數(shù)1:Vector3移動(dòng)物體的三維變量(枚舉類型),表示x逗栽,y,z失暂;Space參數(shù)2:移動(dòng)物體的坐標(biāo)系(枚舉類型)自身坐標(biāo)系或世界坐標(biāo)系
        //0.1f 表示將當(dāng)前速度下調(diào)到原來(lái)十分之一彼宠;切記加上f

        //獲取相應(yīng)鍵控制方向;w a s d
        if (Input.GetKey(KeyCode.W))
        {
            m_Transform.Translate(Vector3.forward*0.1f,Space.World);//往前
        }

        if (Input.GetKey(KeyCode.S))
        {
            m_Transform.Translate(Vector3.back * 0.1f, Space.World);//向后
        }

        if (Input.GetKey(KeyCode.A))
        {
            m_Transform.Translate(Vector3.left * 0.1f, Space.World);//向左
        }

        if (Input.GetKey(KeyCode.D))
        {
            m_Transform.Translate(Vector3.right * 0.1f, Space.World);//向右
        }


    
    }
}

RigidbodyMove

public class RigidbodyMove: MonoBehaviour {


    private Rigidbody m_Rigidbody;
    private Transform m_Tranform;
    // Use this for initialization
    void Start () {
        m_Rigidbody=gameObject.GetComponent<Rigidbody>();
        m_Tranform=gameObject.GetComponent<Transform>();
        //Test
       // m_Rigidbody.MovePosition(m_Tranform.position+ Vector3.forward*10);
    
    }
    
    // Update is called once per frame
    void Update () {
        //向前
        if (Input.GetKey(KeyCode.W))
        {
            m_Rigidbody.MovePosition(m_Tranform.position+Vector3.forward*0.1f);
        }

        if (Input.GetKey(KeyCode.S))
        {
            m_Rigidbody.MovePosition(m_Tranform.position + Vector3.back * 0.1f);
        }



        if (Input.GetKey(KeyCode.A))
        {
            m_Rigidbody.MovePosition(m_Tranform.position + Vector3.left * 0.1f);
        }


        if (Input.GetKey(KeyCode.D))
        {
            m_Rigidbody.MovePosition(m_Tranform.position + Vector3.right * 0.1f);
        }




    
    }
}

小結(jié)

外骨骼(碰撞器).jpg
剛體和碰撞器.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弟塞,一起剝皮案震驚了整個(gè)濱河市凭峡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌决记,老刑警劉巖摧冀,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異系宫,居然都是意外死亡索昂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門扩借,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)椒惨,“玉大人,你說(shuō)我怎么就攤上這事往枷】虿” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵错洁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我戒突,道長(zhǎng)屯碴,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任膊存,我火速辦了婚禮导而,結(jié)果婚禮上忱叭,老公的妹妹穿的比我還像新娘。我一直安慰自己今艺,他們只是感情好韵丑,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著虚缎,像睡著了一般撵彻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上实牡,一...
    開(kāi)封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天陌僵,我揣著相機(jī)與錄音,去河邊找鬼创坞。 笑死碗短,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的题涨。 我是一名探鬼主播偎谁,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼纲堵!你這毒婦竟也來(lái)了搭盾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤婉支,失蹤者是張志新(化名)和其女友劉穎鸯隅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體向挖,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝌以,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了何之。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跟畅。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖溶推,靈堂內(nèi)的尸體忽然破棺而出徊件,到底是詐尸還是另有隱情,我是刑警寧澤蒜危,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布虱痕,位于F島的核電站,受9級(jí)特大地震影響辐赞,放射性物質(zhì)發(fā)生泄漏部翘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一响委、第九天 我趴在偏房一處隱蔽的房頂上張望新思。 院中可真熱鬧窖梁,春花似錦、人聲如沸夹囚。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荸哟。三九已至假哎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敲茄,已是汗流浹背位谋。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留堰燎,地道東北人掏父。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像秆剪,于是被迫代替她去往敵國(guó)和親赊淑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容