<form id="5q4hx"><span id="5q4hx"><li id="5q4hx"></li></span></form>
    <mark id="5q4hx"><delect id="5q4hx"><li id="5q4hx"></li></delect></mark>

          1. <code id="5q4hx"></code>

            主頁 > 學習生活 > 技術交流 >

            游戲角色綁定進階之鎖鏈的綁定--剖析3D:戰神

            時間:2014-01-17 09:52來源:未知 作者:admin 點擊:
            大家好,在今天,游戲基本上已經成為很多人生活的一部分。手機游戲、網頁游戲、網絡游戲、單機游戲、主機游戲等等,總有一類你接觸過或者熟識的。也有很多人對游戲的制作充滿興趣,希望了解制作過程,制作細節,甚至想要投身這個行業。其實在網絡上,我們就可以找到很多關于游戲制作的共享資料。但是有一點,真正從事過這個行業的人才會有體會,實際項目中遇到的問題或案例,在網絡上通用的教程里幾乎找不到答案,需要制作人員自己去想辦法,才能找到解決方案。
            今天我要和大家分享的,就是3D游戲制作中,角色綁定的一個小案例:鎖鏈的綁定。
                說起游戲角色身上的鎖鏈我們可能最容易想到的就是《戰神》。主角的標志性武器——鏈刃,相信給玩家的印象絕對不會淡漠。上幾張圖片給大家小過一下眼癮:

             
            圖01
             

            圖02
            關于鏈刃的綁定,相信大家還是充滿興趣的,但在介紹之前,我們還是先說一下基礎的鎖鏈綁定。
            記得第一次做鐵鏈的綁定和動畫的時候,我一頭霧水,完全不知如何下手。如果是在影視制作中,鎖鏈的動態效果一般是特效的同事解算的,但在游戲制作中,為了在引擎里實現,很多時候原本解算的東西不得不由動畫師手key完成。于是我做了一點準備工作:一個人跑到公園,帶上手機,打開攝像,找個有鏈子圍著的花壇,踹一腳鏈子,在趕緊退后幾步,用手機拍下鏈子搖晃的動態效果。拍了幾段之后,實在受不了別人異樣的眼光,匆匆收攤回家去了。回家之后一遍一遍的看剛才拍的視頻,尋找鏈子的運動規律。
            一點小插曲,言歸正傳,我們繼續說鏈子的綁定。回到我們的工具——3DsMax中。一般的思路上,我們做鏈狀的東西,第一個想到的是線性IK。
             

             
            圖03
             
             
             

            圖04
               
            關于線性IK的基礎知識,在本文中我們不做細說,欠缺的朋友可以找一些相關的資料看看,或者實際操作試一下就可以。我想著重強調的一點是,關于線性IK制作時生成的Dummy。線性IK制作生成的Dummy在初始狀態是有層級關系的,它的層級關系和骨骼鏈的層級關系方向是相同的。我做了一個簡單的圖示,幫助大家理解這個問題:
             
             

            圖05
            生成的Dummy的這個特點在我們后面的動畫制作中有的時候反而引起不便,因為我們知道,Dummy的動畫是影響骨骼鏈的,很多時候我們希望各個Dummy之間相互不受影響,而這種層級關系無疑是個障礙。不過沒關系,這種初始狀態是可以更改的,我們只要根據需要打斷連接就可以。
            關于線性IK我們還有另一點需要注意一下,我們先看一下圖06。
             

             
            圖06
            線性IK有一個特點,當影響骨骼鏈的曲線長度因為Dummy的移動而大于骨骼鏈的長度時,Dummy的實際位置就不能準確控制骨骼的位置,通俗的講,就是Dummy拉遠了,骨骼就夠不到了。但是這種情況只發生在線性IK的末端,首端是不存在這個問題的。
            關于基礎的鎖鏈綁定,我想要提的就是上面這兩點,后面要講的鏈刃綁定中,這兩點我們也要注意。
            接下來,就讓我們正式開始我們的“鏈刃之旅”吧!我在摸索鏈刃的綁定方法過程中走了很多彎路,也嘗試了很多方法,但在接下來的講解中,我還是直接按順序講解制作的方法,而不去贅述探索過程了。那么如果有的地方不明白為什么要這樣做,讀者可以按照自己的辦法試一下就會明白,或者你也有可能發現新的方法!
            第一步,模型的準備。
            模型的工作不是動畫師的職責范圍,但有一些規范性的東西我要提一下,如圖07-08:
             
             

             
            圖07
             
             

            圖08
            當角色主體綁定完成之后,將刀的模型直接移動到手掌位置,并且轉好角度,保證手指頭彎曲,手正好是握在刀柄合適的位置。鏈條從刀尾部延伸出來。注意,如圖07,鏈條的長度要比你想要的攻擊距離還要略長一些,并保證是一條筆直的線,這樣方便后續的骨骼搭建。這里留一個小問題,讀者可以想一下,為什么要把鏈子放在角色后面而不是我們習慣性的前面。
            第二步,搭建骨骼鏈。
            如圖09,搭建骨骼的時候可以打開網格顯示,并打開吸附,吸附網格點創建骨骼,這樣生成的骨骼鏈就會均勻筆直,搭建后之后再挪動到鏈條的模型上就行了。記得骨骼鏈的長度最好比鏈條的模型略長一點。
             

            圖09
            第三步,創建曲線。
            創建曲線和創建骨骼鏈一樣,也可以吸附網格創建,或者吸附骨骼的端點也可以,最后再挪到鏈條模型上。但是有一點要注意,創建曲線時,要選擇三次曲線,并且你每點下的一個點,將來都會生成線性IK的一個小Dummy,所以創建曲線時,控制點的間距要選好。我在多次試驗之后,選擇了每兩節骨骼點一個控制點。還有一點,就是曲線的長度也要比骨骼鏈略長一點。創建好的效果如圖10。
             

            圖10
            第四步,創建線性IK。
            有了前面的準備工作,這一步并沒有什么特別的,使用命令創建線性IK就可以。效果如圖11。
             
             

            圖11
            第五步,添加控制Dummy。
            這一步大家可能覺得有點多余,但做完了,到用來做動畫的時候,你就知道為什么要這么做。因為我們必須預留幾個Dummy給鏈刃將來做飛出去的動畫用,所以有幾個Dummy是不能纏在胳膊上的,我這邊預留了五個。那么我要做的事,就是給這五個預留的Dummy添加控制Dummy。步驟如下:
            先建五個大小依次不等的控制Dummy,并分別與鏈條上將要預留的五個Dummy使用對齊工具將旋轉和位移對齊。效果如圖12。
             

             
            圖12
            然后將鏈條上的Dummy用鏈接工具鏈給對應的控制Dummy。最后將五個控制Dummy的位置全部對齊到第一個控制Dummy上。效果如圖13。
             
             

            圖13
                這個時候,讀者可以回過頭去看看剛才鏈條末端長出來的曲線和Dummy現在還長么?

            第六步,鎖鏈纏繞。
            這一步是整個制作過程中最繁瑣的一步,但是為了最終效果,麻煩一點也是值得的。在纏繞之前,我要提醒一點,不要從第六個Dummy就開始往胳膊上纏,稍微留一點自然的過渡形態,這樣會好看很多。效果如圖14。
             
             

             
            圖14
            最終效果如圖15-17。

             圖15
             
             

             
            圖16
             

            圖17
             

               
            接下來做個動作測試一下吧!
             

            圖18

            到這里,鏈刃的綁定就完成了。因為是直接將我嘗試的最終方案分享給大家的,那么對于大家來說,可能就會缺少中間自己摸索的過程,或者少走了很多彎路,同時也就會很難體會到我在制作步驟中的一些細節的用意。所以我還是很希望讀者可以自己嘗試不一樣的方法方案,或者會找到更好更便捷的方法。
            (責任編輯:admin)
            ------分隔線----------------------------

            相關文章

            亚洲成色综合网站在线|另类色情|超碰成人在线av视频免费播放|97成人人妻在线视频
            <form id="5q4hx"><span id="5q4hx"><li id="5q4hx"></li></span></form>
            <mark id="5q4hx"><delect id="5q4hx"><li id="5q4hx"></li></delect></mark>

                  1. <code id="5q4hx"></code>