国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第二十六章 Unity碰撞體Collision(上)

這篇具有很好參考價(jià)值的文章主要介紹了第二十六章 Unity碰撞體Collision(上)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在游戲世界中,游戲物體之間的交互都是通過(guò)“碰撞接觸”來(lái)進(jìn)行交互的。例如,攻擊怪物則是主角與怪物的碰撞,觸發(fā)機(jī)關(guān)則是主角與機(jī)關(guān)的碰撞。在DirectX課程中,我們也大致介紹過(guò)有關(guān)碰撞檢測(cè)的內(nèi)容。游戲世界中的3D模型的形狀是非常復(fù)雜的,我們不可能按照模型的原始形狀進(jìn)行兩者之間的碰撞檢測(cè),而是將模型看做近似的立方體或者球體來(lái)進(jìn)行碰撞檢測(cè),雖然這種形式的檢測(cè)精度不是很高,但是對(duì)于一般的游戲體驗(yàn)來(lái)講,已經(jīng)足夠了。

在Unity中碰撞體分為:盒型碰撞體、球形碰撞體和膠囊碰撞體,還有一個(gè)網(wǎng)格碰撞體。當(dāng)然,我們還可以將任意數(shù)量的上述碰撞體添加到單個(gè)游戲?qū)ο笠詣?chuàng)建復(fù)合碰撞體。復(fù)合碰撞體可以更加貼近的模擬游戲?qū)ο蟮男螤?,同時(shí)保持較低的性能開(kāi)銷。復(fù)合碰撞體一般用于父子化的游戲?qū)ο?,并且根游戲?qū)ο笊蠎?yīng)該只使用一個(gè)剛體組件。在某些情況下,如果復(fù)合碰撞體也不夠準(zhǔn)確。我們才可以使用網(wǎng)格碰撞體精確匹配游戲?qū)ο缶W(wǎng)格的形狀。網(wǎng)格碰撞體需要更高的性能開(kāi)銷,因此請(qǐng)盡量不要在游戲中大量使用。此外,網(wǎng)格碰撞體之間無(wú)法進(jìn)行碰撞檢測(cè),只能是簡(jiǎn)單的盒型或球形碰撞體與網(wǎng)格碰撞體進(jìn)行碰撞檢測(cè)。

接下來(lái),我們創(chuàng)建一個(gè)新的場(chǎng)景“SampleScene2.unity”來(lái)演示碰撞體的使用。

第二十六章 Unity碰撞體Collision(上)

我們?cè)谝粋€(gè)平面上面添加兩個(gè)球體,默認(rèn)情況下,創(chuàng)建的球體會(huì)自動(dòng)添加球形碰撞體。

第二十六章 Unity碰撞體Collision(上)

?第二十六章 Unity碰撞體Collision(上)

如上圖所示中的“Sphere Collider”球形碰撞組件,為了能夠讓我們左邊的黃色球體Sphere2產(chǎn)生運(yùn)動(dòng),我們需要添加一個(gè)剛體,如下所示:

第二十六章 Unity碰撞體Collision(上)

此時(shí),我們的黃色球體Sphere2同時(shí)具備了碰撞體和剛體兩個(gè)組件。接下來(lái),我們給黃色球體施加一個(gè)力,讓其能夠向右運(yùn)動(dòng)去撞擊紫色的球體Sphere1。

第二十六章 Unity碰撞體Collision(上)

我們?cè)黾恿艘粋€(gè)X軸方向的數(shù)值為2的力。接下來(lái),我們就運(yùn)行這個(gè)工程來(lái)查看效果:

第二十六章 Unity碰撞體Collision(上)

我們發(fā)現(xiàn),當(dāng)黃色球體接觸到紫色球體的時(shí)候,就靜止不動(dòng)了。我們暫時(shí)不解釋這個(gè)結(jié)果。我們上面提到過(guò),球體是自動(dòng)添加球形碰撞體的,也就是說(shuō),我們的紫色球體上面有一個(gè)球形碰撞體(沒(méi)有剛體)。我們?nèi)∠仙蝮w上面的球形碰撞體,在重新運(yùn)行這個(gè)工程。

第二十六章 Unity碰撞體Collision(上)

?第二十六章 Unity碰撞體Collision(上)

我們發(fā)現(xiàn),黃色球體會(huì)穿過(guò)紫色球體繼續(xù)向右運(yùn)動(dòng)下去。從紫色球體的表現(xiàn),我們可以看出碰撞體組件最明顯的表現(xiàn)就是不會(huì)讓對(duì)方游戲?qū)ο蟠┩福ㄒ步写┠#?/span>。接下來(lái),我們將黃色球體的碰撞體組件也取消掉(同時(shí)取消剛體Use Gravity屬性,防止重力影響掉落平面以下),也就是說(shuō)兩個(gè)球體都沒(méi)有碰撞體組件了。如果我們?cè)俅芜\(yùn)行工程的話,就會(huì)發(fā)現(xiàn)黃球依然穿透紫球。那么,我們恢復(fù)紫球的碰撞體組件呢?我們?cè)俅芜\(yùn)行工程,就會(huì)發(fā)現(xiàn)黃色再次穿透紫球了。最后的結(jié)論就是,兩者都具備碰撞體組件的時(shí)候,才會(huì)發(fā)生碰撞檢測(cè)。這個(gè)道理非常簡(jiǎn)單,熟悉我們DirectX課程的應(yīng)該知道,碰撞檢測(cè)的本質(zhì)就是兩個(gè)碰撞模型進(jìn)行相互包含計(jì)算,因此碰撞雙方都必須具備碰撞體,否則沒(méi)辦法進(jìn)行檢測(cè)計(jì)算。

接下來(lái),我們就來(lái)介紹一些碰撞體組件的參數(shù)。

第二十六章 Unity碰撞體Collision(上)

首先是Edit Collider按鈕,點(diǎn)擊這個(gè)按鈕,可以讓我們可視化的調(diào)整碰撞體的尺寸。

第二十六章 Unity碰撞體Collision(上)

點(diǎn)擊線框連接點(diǎn),拖動(dòng)就可以修改碰撞體的大小,同時(shí)在Inspector檢視面板中看到

第二十六章 Unity碰撞體Collision(上)

上圖中的中心點(diǎn)的Y值和半徑Radius值就隨之改變了。對(duì)于圓形來(lái)講,只需要圓心和半徑就能確定它的大小了。這一點(diǎn)應(yīng)該很容易理解。當(dāng)然我們還可以通知修改數(shù)值改變大小。

第二十六章 Unity碰撞體Collision(上)

Is Trigger是一個(gè)觸發(fā)選項(xiàng),后面我們會(huì)詳細(xì)介紹它。

Material代表物理材質(zhì)。當(dāng)碰撞體相互作用時(shí),它們的表面需要模擬所應(yīng)代表的材質(zhì)的屬性。例如,一塊冰將是光滑的,而橡膠球?qū)⑻峁┐罅磕Σ亮Σ⑶覐椥院芎谩km然碰撞時(shí)碰撞體的形狀不會(huì)變形,但可以使用 Physics Materials(物理材質(zhì))配置碰撞體的摩擦力和彈力。

Center就是碰撞體的中心,默認(rèn)X/Y/Z都是0,等效于于局部坐標(biāo)系原點(diǎn)。

Radius是圓形碰撞體的半徑大小,默認(rèn)值是0.5。

如果是盒型碰撞體的話,這里應(yīng)該是Size屬性,其X/Y/Z代表盒性的長(zhǎng)寬高。

第二十六章 Unity碰撞體Collision(上)

如果是膠囊碰撞體的話,這里應(yīng)該是Radius和Height,以及Direction三個(gè)屬性。其中Radius代表膠囊體的半徑,Height代表膠囊體的高度,而Direction則是局部空間中縱向方向的軸,默認(rèn)是Y軸。膠囊體通常用來(lái)模擬“人形”形狀進(jìn)行碰撞檢測(cè),因此多用于人物角色上。

第二十六章 Unity碰撞體Collision(上)

我們使用碰撞體的時(shí)候,最重要的注意點(diǎn)就是,讓碰撞體的尺寸能夠恰當(dāng)?shù)陌∥覀兊哪P?。因?yàn)槲覀兪窃赨nity上創(chuàng)建的球體,而Unity會(huì)根據(jù)球體的尺寸自動(dòng)匹配添加球型碰撞體。因此,球體模型和球型碰撞體的尺寸是非常吻合的。但是,如果是我們自己手動(dòng)導(dǎo)入的FBX格式的3D模型,Unity就不能保證碰撞體能夠恰當(dāng)?shù)陌?D模型了。碰撞體能夠恰當(dāng)?shù)陌?D模型非常的重要,這個(gè)將直接決定我們游戲中模型之間的碰撞檢測(cè),因?yàn)榕鲎搀w是不可見(jiàn)的,我們只能通過(guò)模型與模型的距離來(lái)檢查是否發(fā)生碰撞。但是我們自己都很明白,模型與模型的距離并不代表碰撞體與碰撞體之間的距離。如果模型與碰撞體不能恰當(dāng)?shù)陌?,那么我們可能在視覺(jué)上產(chǎn)生很大的差異,影響游戲體驗(yàn)。

本課程涉及的內(nèi)容已經(jīng)共享到百度網(wǎng)盤:https://pan.baidu.com/s/1e1jClK3MnN66GlxBmqoJWA?pwd=b2id文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-445042.html

到了這里,關(guān)于第二十六章 Unity碰撞體Collision(上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ChatGPT 與生成式 AI 的崛起:第二十六章到第三十三章

    ChatGPT 與生成式 AI 的崛起:第二十六章到第三十三章

    原文:Rise of Generative AI and ChatGPT 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 恐怖分子、罪犯、警察、國(guó)防、執(zhí)法機(jī)構(gòu)、工程師、作家和學(xué)生等都在使用 ChatGPT,這是來(lái)自 OpenAI 的強(qiáng)大自然語(yǔ)言人工智能工具,作為他們?nèi)粘9ぷ鞯闹匾M成部分。自去年 11 月底發(fā)布以來(lái),這種生成式人工智

    2024年01月24日
    瀏覽(224)
  • Unity常用方法-- Collision碰撞檢測(cè)

    Unity常用方法-- Collision碰撞檢測(cè)

    LayerMask 描述 指定要在?Physics.Raycast?中使用的層。 代碼 Physics2D.Raycast 函數(shù)結(jié)構(gòu) public static?RaycastHit2D?Raycast? (Vector2?origin, ?Vector2?direction, float?distance= Mathf.Infinity, int?layerMask= DefaultRaycastLayers, float?minDepth= -Mathf.Infinity, float?maxDepth= Mathf.Infinity); 參數(shù) origin 射線在 2D 空間中的

    2024年02月03日
    瀏覽(24)
  • VRRP技術(shù)和浮動(dòng)路由(第二十六課)

    一、浮動(dòng)路由 1、浮動(dòng)路由概述 1)浮動(dòng)路由是什么 -浮動(dòng)路由又稱為路由備份,由兩條或多條鏈路組成浮動(dòng)路由 -浮動(dòng)路由指配置兩條靜態(tài)路由,這兩條靜態(tài)路由的目的地址相同,但是下一跳地址不同兩條靜態(tài)路由 -給這兩條靜態(tài)路由設(shè)置不同的優(yōu)先級(jí),優(yōu)先級(jí)高的那條靜態(tài)路

    2024年02月15日
    瀏覽(28)
  • 第四十六章 Unity 布局(上)

    第四十六章 Unity 布局(上)

    學(xué)習(xí)了UI元素的使用,并不能構(gòu)建出一個(gè)完整的UI界面,我們需要使用一些方法將這些UI元素按照“設(shè)計(jì)稿”的效果,將其擺放到對(duì)應(yīng)的位置上。如何擺放這些UI元素,就是我們需要講的“布局”,當(dāng)然這需要借助一些布局組件來(lái)完成。我們知道在畫布Canvas下的每個(gè)UI元素都會(huì)自

    2024年02月03日
    瀏覽(22)
  • 第五十六章 Unity 音頻播放

    第五十六章 Unity 音頻播放

    Unity可以導(dǎo)入大多數(shù)標(biāo)準(zhǔn)音頻文件格式,精通于在3D 空間中播放聲音,還可根據(jù)需要提供其他效果。雖然播放聲音是一件非常簡(jiǎn)單的事情,但是為了模擬現(xiàn)實(shí)直接中的各種聲音效果,Unity會(huì)提供各種各樣的組件來(lái)實(shí)現(xiàn)。 首先,我們需要了解“多普勒效應(yīng)”。他是一名奧地物理

    2024年02月07日
    瀏覽(30)
  • 服務(wù)(第二十六篇)redis的主從復(fù)制、哨兵、集群

    服務(wù)(第二十六篇)redis的主從復(fù)制、哨兵、集群

    主從復(fù)制,是指將一臺(tái)Redis服務(wù)器的數(shù)據(jù),復(fù)制到其他的Redis服務(wù)器。前者稱為主節(jié)點(diǎn)(Master),后者稱為從節(jié)點(diǎn)(Slave);數(shù)據(jù)的復(fù)制是單向的,只能由主節(jié)點(diǎn)到從節(jié)點(diǎn)。 原理: 主從關(guān)系確定好后,開(kāi)啟從節(jié)點(diǎn)時(shí),會(huì)發(fā)送一個(gè)sync的同步命令給主節(jié)點(diǎn),主節(jié)點(diǎn)接收到后會(huì)把redis內(nèi)存

    2024年02月06日
    瀏覽(27)
  • 學(xué)C的第二十六天【指針的進(jìn)階(二)】

    學(xué)C的第二十六天【指針的進(jìn)階(二)】

    ========================================================================= 相關(guān)代碼gitee自取 :C語(yǔ)言學(xué)習(xí)日記: 加油努力 (gitee.com) ?========================================================================= 接上期 : 學(xué)C的第二十五天【指針的進(jìn)階(一)】_高高的胖子的博客-CSDN博客 ?================================

    2024年02月13日
    瀏覽(38)
  • C語(yǔ)言第二十六彈---字符串函數(shù)(下)

    C語(yǔ)言第二十六彈---字符串函數(shù)(下)

    ? 個(gè)人主頁(yè): ? 熬夜學(xué)編程的小林 ?? 系列專欄: ? 【C語(yǔ)言詳解】 ? 【數(shù)據(jù)結(jié)構(gòu)詳解】 目錄 1、strncat 函數(shù)的使用 2、strncmp 函數(shù)的使用 3、strstr 函數(shù)的使用和模擬實(shí)現(xiàn) 4、strtok 函數(shù)的使用 5、strerror 函數(shù)的使用 6、perror 函數(shù)的使用 總結(jié) ? Appends the first num characters of sourc

    2024年02月20日
    瀏覽(24)
  • 第十六章 Unity 預(yù)制件prefab(上)

    第十六章 Unity 預(yù)制件prefab(上)

    本章節(jié)我們介紹一下“預(yù)制件”,也有人叫“預(yù)制體”,也就是Prefab。在游戲世界中,那些自然環(huán)境的游戲?qū)ο?,我們可以提前?chuàng)建在場(chǎng)景中,這個(gè)大家能夠理解。但是,有些游戲?qū)ο螅枰鶕?jù)游戲邏輯來(lái)通過(guò)代碼生成,例如刷新怪物,觸發(fā)機(jī)關(guān)等等。Unity 的預(yù)制件系統(tǒng)允許

    2024年02月08日
    瀏覽(33)
  • 嵌入式學(xué)習(xí)第二十六天?。ňW(wǎng)絡(luò)傳輸:TCP編程)

    嵌入式學(xué)習(xí)第二十六天!(網(wǎng)絡(luò)傳輸:TCP編程)

    ? ? ? ? socket ? -? connect? -? send? -? recv ? -? close ? ? ? ? socket ? -? bind ? -? listen ? -? accept ? - recv ? -? send ? -? close ????????1. connect: ? ? ? ? ? ? ? 功能: 發(fā)送鏈接請(qǐng)求 ? ? ? ? ? ? ? 參數(shù): ? ? ? ? ? ? ? ? ? sockfd: 套接字文件描述符 ? ? ? ? ? ? ? ? ?

    2024年03月09日
    瀏覽(40)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包