前往
大廳
主題

【 殤之谷 | Sorrow Valley 】遊戲開發進度 Vol.4 - 來人阿!上夾棍!

麻桑 | 2023-09-23 23:39:24 | 巴幣 2 | 人氣 228

Vol.4 - 來人阿!上夾棍!



嘿嘿嘿~
是我麻桑
小小動畫師加業餘遊戲開發者
正在開發名為【 殤之谷 | Sorrow Valley 】3D動作遊戲

一轉眼又過了一個月
但是最近下班接了案子的關係
近幾個月的更新速度會稍微暫緩
鐵定不是因為沉迷博德3的緣故
還請大家多多見諒

經過Vol.2(上)Vol.3(下)兩篇的介紹後
我們已經知道角色模型的製程與概況了
再來就是3D動作遊戲最重要的
角色動畫製作!!


呵呵,並沒有
在那之前還有一件跟動態製作一樣重要
甚至比動態製作還重要的事情得做
那就是骨架綁定 ( Rigging )
因此這篇的內容依然是偏向技術與實作層面
大家可以開始期待我們的夾棍了( 夾夾




有了模型(model)再加上骨頭(joint)才可以製作角色動畫

和2D角色不同
3D角色並不是設計完就可以開始畫動畫
而是要先經過骨架綁定 ( Rigging )的過程
動畫師才可以透過骨架控制角色模型

首先擺放虛擬骨頭 ( Joint )模擬人體的骨架
再指定每一顆虛擬骨頭影響的模型權重( Skin Weight )
最後再根據需求設計控制器( Controller )

這樣一來就能靠著改變控制器的位移、旋轉
進一步影響骨頭帶動模型
達到控制角色的效果
像是用看不見的提線控制魁儡那樣
讓角色照著動畫師的意圖做出表演

--------------------------------


............
虛擬骨頭
............



將虛擬骨頭擺放到相應的位置模擬人體骨架

虛擬骨頭顧名思義
就是用假的骨頭模擬真人的骨架
否則模型就只是一堆虛擬三角面組合而成
沒辦法做出複雜的動態表演
就像人體如果沒有骨頭支撐
那就只是一大坨肉而已
所以在擺放虛體骨頭時
需要特別留意人體的重要轉折處
像是骨盆、腰、胸口、肩膀、四肢、脖子、頭
若是有更複雜的需求
甚至可以製作輔助骨
模擬人體的肌肉連動與舒張

值得一提的是
遊戲引擎通常會有物理運算的功能
因此在擺放骨頭的階段
就可以考慮幫衣物、飾品、頭髮等搖晃物件
增加少量的虛擬骨頭
這樣在引擎裡就可以用運算模擬物理動畫
而不需要自己手key物件動畫



【 殤之谷 】來說
角色的頭髮、辮子跟衣服末端就是用骨頭驅動
靠運算模擬的物理動畫
不過畢竟是運算的
在角色有大幅度位移跟旋轉的情形
常常會有不自然的效果
這部分得根據專案的需求微調數值
才能做出適合的動畫


............
模型權重
............



透過指定模型權重(skin weight)決定每個骨頭的影響範圍

不曉得大家還記不記得上一篇提到的模型佈線
之所以會在模型階段要求佈線
就是為了在畫模型權重時有更好的效果
好的佈線與權重搭配
可以達到最好的造型曲線
讓角色模型在各種角度、動靜狀態下都好看
不會出現模型穿面或是表面不均勻的情形
好的綁定師甚至可以透過權重的分配
模擬角色肌肉跟伸縮的現象
因此模型師、綁定師、動畫師
三者常常需要來回溝通角色的設定與細節
在掌握了各種使用需求的狀況下
才能做出最適合的角色動畫

好的佈線可以呈現更好的造型曲線( video by CGTyphoon )


............
控制器
............


ᐱ根據不同部位使用不同形狀的控制器

終於來到最期待的環節

上夾棍!!!

咳咳..我是說控制器
不過嚴格來說
控制器的功能其實就像夾棍一樣
拿來讓動畫師控制角色的物件
因為角色模型由各個骨頭所影響
所以為了擺出姿勢、做出表演
勢必要重複動到大量的骨頭
但是如果為了做出某些姿勢或動作
而要動好幾根骨頭才能達到效果
那對動畫師來說是非常沒有效率的事情
因此!!控制器就誕生了


ᐱ用一個控制器做到控制三個骨頭才能做的事

藉由綁定師的神力
控制器可以用來一次影響多個骨頭
達到控制一個物件呈現複雜效果的功能
像是抬腳的動作
如果單純依靠虛擬骨頭旋轉
那我必須旋轉大腿、小腿、腳踝才行
但如果是用控制器
我只需要移動腳底板的位置
控制器就能自動運算三個骨頭的相對位置
是不是很方便哇
而且考量到角色的表演需求
還可以做各式各樣的控制器切換
在製作不同的動作時使用適合的控制器
不僅節省時間使用上也更直觀


ᐱ 手臂的IK、FK控制器切換

控制器可以依據個人使用習慣
改變大小、顏色、造型等等
一切都沒有固定的形式
端看操作與使用上的方便優先

......


以上是骨架綁定的概述,骨架綁定的部分牽涉到很多技術細節,加上我也不是職業的綁定師,因此很多部分只能講個皮毛,但最重要的還是放到遊戲後,骨架會怎麼運作,畢竟每個遊戲引擎的邏輯都不同,要是沒有先搞懂引擎怎麼運作,那麼在3D軟體中做的再複雜都是白費時間,所以最最重要的,還是要先了解自己想做甚麼樣的遊戲,現有的能力能做出來嗎?為了做出那樣的遊戲有多少技術債?了解遊戲引擎嗎?很多很多類似的問題,若是能在一開始就先自問,最後可以幫自己省下不少麻煩事。

做獨立遊戲大概就是這樣吧,人很少、要做的事情很多,每件事都沒辦法達到完美,只能先求有再求好,不過往好處想,玩家最後體驗到的是遊戲,而不是你有多少技術底跟能力,若是遊戲好玩,也不會有人在意你用控制器還是骨頭做動畫,是吧?

創作回應

更多創作