小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Unity3D RagDoll(布娃娃系統(tǒng))詳解

 勤奮不止 2022-09-21 發(fā)布于北京

unity版本:2019.2.1

一些游戲中的角色死亡時(shí),死亡的肢體動(dòng)作十分逼真,例如人類一敗涂地,Unity3D物理引擎中的Ragdoll系統(tǒng),可以用來創(chuàng)建這種效果。在這里插入圖片描述

添加Ragdoll系統(tǒng)后的效果

技術(shù)先不說,先上視屏讓大家看看加了RagDoll系統(tǒng)的人物模型效果:

Unity Ragdoll布娃娃系統(tǒng)

如何給模型添加布娃娃系統(tǒng)

官方文檔:https://docs./Manual/wizard-RagdollWizard.html
布娃娃系統(tǒng)只能用在具有Rigging(骨骼)的模型上,添加方法是:GameObject—>3D Object—>Ragdoll
在這里插入圖片描述
在這里插入圖片描述
把需要附加Ragdoll的模型拖到Hierarchy視圖中,接下來就很簡(jiǎn)單也很麻煩了,需要把模型骨骼對(duì)應(yīng)的游戲體拖到Ragdoll面板一一對(duì)應(yīng),建立好引用,一個(gè)都不要錯(cuò),會(huì)導(dǎo)致剛體和碰撞體附加到錯(cuò)誤的游戲體上。感覺不準(zhǔn)切可以提前看下骨骼界面:在這里插入圖片描述
全部拖好以后,根據(jù)需求修改一下質(zhì)量(TotalMass)和力(Strength),點(diǎn)擊create就OK了,可以看到模型中拖到Ragdoll面板的游戲體添加了如圖下組件。布娃娃系統(tǒng)是以Create Ragdoll窗口中的骨骼映射信息為基礎(chǔ),以各關(guān)節(jié)為單位,添加Capsule Collider和Rigidbody組件,關(guān)節(jié)與關(guān)節(jié)之間以Character Joint組件連接。若產(chǎn)生的Collider不符合要求,可在骨骼結(jié)構(gòu)中調(diào)整radius的大小。至此,給模型天添加布娃娃系統(tǒng)的部分就成功了。

在這里插入圖片描述
在這里插入圖片描述

怎樣控制布娃娃系統(tǒng)

布娃娃系統(tǒng)的核心是由物理引擎實(shí)現(xiàn)的,所以在角色死亡或需要時(shí),通過勾選和取消關(guān)節(jié)添加的Rigidbody組件的Is Kinematic選項(xiàng)來激活和關(guān)閉布娃娃系統(tǒng)。 由于由此開發(fā)者可以通過獲取模型的某個(gè)節(jié)點(diǎn)的Rigidbody組件來控制特定的運(yùn)動(dòng)。要注意的是在打開布娃娃系統(tǒng)時(shí),模型最好不要播放動(dòng)畫。同時(shí),不要在場(chǎng)景中大量使用布娃娃系統(tǒng),畢竟是用物理引擎實(shí)現(xiàn)的比較耗性能。

        foreach (var temp in this.transform.GetComponentsInChildren<Rigidbody>()) {
            //關(guān)閉頭關(guān)節(jié)
            if (temp.name == "head")
                temp.isKinematic = false;
            //激活其他關(guān)節(jié)
            else
                temp.isKinematic = true;
        }

深入應(yīng)用

1、Rogdoll純物理控制

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2、使用布娃娃系統(tǒng)需要注意的坑:

1.布娃娃系統(tǒng)需要用物理力來控制,不能在使用布娃娃系統(tǒng)的時(shí)候同時(shí)使用骨骼動(dòng)畫。

2.部位穿插拉伸,要把部位Character Joint組件上面的Enable Projection勾上

3.激活布娃娃彈得很高,就是剛體的速度,把rigidbody的速度置為0

4.如果布娃娃動(dòng)作僵硬,肯定用錯(cuò)骨骼來綁定布娃娃導(dǎo)致的

5.布娃娃穿透場(chǎng)景碰撞的問題,其實(shí)這個(gè)由于速度太快引起的,可以設(shè)置rigidbody的碰撞檢測(cè)模式collisionDetectionMode

6.受力不要全部部位都給力,一般都是給一個(gè)部位就夠了,不然各種力作用引起怪異表現(xiàn)

7.關(guān)于倒地之后抖動(dòng)問題,這個(gè)只能加個(gè)檢測(cè),如果所有剛體速度小于某個(gè)數(shù)則關(guān)閉剛體功能

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多