之前一直沒寫很細的教學,因為那很麻煩,
說實的我自己也沒去上過課或買過書來看什麼的,
都在網路上摸索&思考作法,我相信已寫的那些東西足夠讓你做出一隻模型。
為什麼很麻煩?在此寫一篇比較細部的地方...
這回要來實做頭髮的物理運算。
頭髮在模型也是一個很重要的因素,
範例頭髮外觀,這裡先做前面頭髮的部份:
![]()
看到一個外觀
,先大概決定要分幾個部位,再想一下自己要弄幾根骨架,
我把它分成這些:
![]()
左右對稱,於是可以先暫定我們主要要做
7條骨架,
(
一根骨架可以同時控制很多地方,做多了以後你就能自己判斷要幾根骨架了...在此是範例)
分別是
前髮1、前髮2、前髮3、橫髮1、橫髮2、橫髮3、橫髮4。
那骨架要有多少分支?一般由它
水平有幾排頂點來決定,
可以用1支,由weight值去控制飄的幅度,也可以直接用很多支,
在此範例,
前髮都只用2根骨架,
橫髮:
![]()
紅線就是它大概水平頂點,
有8條線,也不一定要弄8根,只是數量的參考,
我在此為
橫髮1做
3根骨架、
橫髮3做
7根骨架,
比較偏頭部的地方直接修weight值。
如圖片,按
快捷鍵Ctrl+P新增這些骨架:
![]()
命名自己改好,前面說過,
物理運算的東西是不能控制的,骨架命名看得懂就好。
並且將他們的
親子關係關聯好:
1.前髮1→
親bone:頭、表示先(
子bone):前髮1先
2.頭>前髮2>前髮2先
3.頭>前髮3>前髮3先
4.頭>橫髮1_1>橫髮1_2>橫髮1先
5.頭>橫髮2_1>橫髮2_2>橫髮2先6.頭>橫髮3_1>橫髮3_2>橫髮3_3>橫髮3_4>橫髮3_5>橫髮3_6>橫髮3先
7.頭>橫髮4_1>橫髮4_2>橫髮4_3>橫髮4_4>橫髮4_5>橫髮4_6>橫髮4先這就是我們剛說的
7條骨架。
剛創的座標位置都是0、0、0,可以先全部選取,
移動到接近頭的位置,等等比較好拉位置:
![]()
然後就請一根一根拉位置,骨架在創的時候是依頂點水平決定的,
骨架位置自然也是移到頂點上,完成如圖:
![]()
這髮型是左右對稱的,可以只拉左邊,
右邊部份就直接輸入骨架座標去處理。
然後全選剛剛創的那些骨架,
新增物理運算的剛體跟joint:
![]()
然後編輯那些東西,剛體:
![]()
group跟非衝突group設定好,一般來說頭髮的剛體順位都不會太前面,
看你前面到group多少了,這個數字在他的後面就好;
非衝突group一般也是除了1(身體、肉體)以外都不衝突,只會跟身體衝突,
(
如果你有什麼配件在上半身會卡到頭髮,且在MMD表現不正常,請把他們也設定不衝突...)
畢竟像頭髮,破圖一點沒什麼關係,主要前髮不要被臉蛋吃掉就好。
物理演算參數...你就開初音那些別人做好的,看他們設定什麼數字,跟著做就好。
一般來說
整條的質量都會一樣,
越接近末端(髮稍)的部位,移動跟回轉減衰會比較小就是。
剛體形狀用條狀就好(
我覺得板狀比較會卡...不過這看你個人),
大小可以先不用去理他,後來到MMD裡才能看到問題,
如果很容易被臉蛋吃掉,那可以把頭=臉的剛體弄大一點,頭髮的剛體太大會卡到頭一直抖的話,就把剛體縮小。joint數值也是要調整,設定連接剛體是必要的:
![]()
前髮1:頭>前髮1
橫髮1_1:頭>橫髮1_1
橫髮1_2:橫髮1_1>橫髮1_2
...依此類推...
設定好之後檢查看看有沒漏掉或設錯:
![]()
沒問題之後就去設定它的限制,一樣這東西要參考別人的設定,
最下面影片表現完成數值(
以下都只有回轉部份,移動部份全部都是0):
前髮1:限制:X(-30,5)、Y(-20,20)、Z(-20,20);
ばね:50,50,50
前髮2、前髮3:限制:X(-2,2)、Y(-2,2)、Z(-10,10);
ばね:50,50,50
橫髮1_1、橫髮1_2:限制:X(-1,1)、Y(-5,5)、Z(-20,20);
ばね:30,30,30
橫髮2_1、橫髮2_2:限制:X(-10,10)、Y(-10,10)、Z(-10,10);
ばね:30,30,30
橫髮3、橫髮4整條:限制:X(0,0)、Y(0,0)、Z(-5,5);
ばね:0,0,30
※※※※※※※※※※※※※※※※軸方面,在座標軸上,X軸的
移動決定
左右方向,
X的
轉動亦即
X軸的旋轉,表現上就是
上下前後的移動(
垂直移動方向的位移),
你拿一隻筆當X軸轉轉看就知道方向結果了。而
正方向的數值必需是負值,正方向就是MMD裡那
3條有顏色座標軸的方向,
所以你想讓胸部向上晃、而不會向下的話,那X迴轉就要(-X、0)。
在此說明方向定義,讓想自己去調整數值的人參考。
※※※※※※※※※※※※※※※※JOINT設定好之後,就要進行最麻煩的
綁骨架,這髮型其實有點難搞...
橫髮3_1:![]()
(
裡面大部份頂點=粉色的weight=0,亦即不影響)
橫髮3_1只有圖中那3個點,並且
weight50%給頭部。
橫髮3_2:![]()
很顯然,對骨架尖的那一邊塗點就對了,
這也是為什麼我們要先看水平方位的頂點有幾排,來決定骨架的數量&位置的原因之一。
圖中那一排直接給
橫髮3_2 100%了,同水平方向有一點沒影響是因為它在內側,屬不同材質,
這一點由
橫髮1去定義移位。
接下來就單純多了,
骨架指的地方塗滿100%就對了:
橫髮1_1:![]()
越上面=越偏頭腦的地方,主要位移還是要靠頭,
上端給前髮1_1的weight比較少,
越下面的位移就越依賴骨架,
尖端的地方即是100%。
同25%、50%水平那一排有個沒影響的點,其100%給頭部。
同75%水平線那一排有個沒影響的點,是給剛剛
橫髮3_2定義的。
橫髮1_2:![]()
由於後來發現MMD表現不夠平滑,在
橫髮1_2描繪時,給根部多加了50%影響,
同50%水平線那一圈的頂點,由橫髮1_1跟橫髮1_2各佔50%的影響。前髮2:![]()
一樣,骨架對上面的影響小,末端部份影響比較大,
這根骨架影響的點就很少了...就知道實際上可能不需要用到這麼多根骨架。
上方25%部位會發現,鄰近部位的頂點顏色不同,
這在
表現上容易破圖(
顏色不同=位移量不同),
之所以我會先那樣描繪,因為它們屬於同一面的構成頂點(
同一材質),
而實際上若表現很易破圖的話,需從這方面去修正,要將鄰近頂點的位移量弄得差不多。
前髮1:![]()
做了這麼多,都知道上面影響少一點了吧...
前髮1就只影響這一片頭髮而已。
左右對稱,一樣的描繪將右邊也弄好,就可以到MMD裡看狀況了。
<<<<<<<<<<<完成後實際表現&修正>>>>>>>>>>>>>在MMD檢視剛體狀態:
![]()
像這樣原本設定的剛體大小,可能就會一直卡一直抖,後來還是要去修正。
剛體也不一定要整個跟骨架重疊,依照需求轉動一下也是可以的。
![]()
像我需要
前髮1那片永遠在
前髮2跟
前髮3前面,
除了設定他們相互衝突以外,
還可以直接把剛體變大,卡頭部就好。
至於剛體有沒必要設定成
物理+BONE位置合...我是覺得表現上不會差很多,看個人需求吧。
修正主要修表現順不順暢;像不像頭髮,有沒柔軟度之類的,這要從joint的數值去修正。
會不會破圖,得修剛體是否卡得很好;描繪時是否鄰近頂點同樣的weigh量。
<<<<<<<<<<<後髮>>>>>>>>>>>>
這髮型後髮長這樣:
![]()
會比前髮麻煩?不會,像這種東西,可以直接用曲面定義的插件處理,
上手的話不用花5分鐘就可以完成。
之前說過,
[MMD]裙子自動設定插件不是只有做裙子用的,任何有曲面的東西都可以做,
一樣選取你要飄的頂點,就是我們的後髮全部:
![]()
分割數一樣是看頂點水平&垂直方向差不多有幾排去判斷,這裡我各別設定是7。
右邊的接續請改為頭,頭髮是跟頭黏一起,一起飄的阿!
下面命名也改一下,為了避免以後可能新增裙子命名衝突到。
在弄制禦點之前,先把制禦點設定成開啟模式(
後面筒狀封閉形狀是裙子用的):
![]()
然後編輯制禦點,拉到適當的位置,以這髮就是拉到這個方位:
制禦點在弧度大的地方需要越密集,詳細請看原插件作者的配布影片,不清楚那東西的話,
大概位置弄得平均一點就好。
拉好位置後,按下制禦點編輯完成,那插件就可以關了。
然後設定剛剛做那一堆東西的剛體跟joint。
剛體:
joint:![]()
全單位的數值都一樣,圖片中的數值,也是下面影片表現的實際使用數值。
hair:限制:X(-2,2)、Y(-50,50)、Z(-40,40);
ばね:50,50,50
這樣就完成了,
這東西果然跟神一樣威能...前面花一堆時間做的東西可能都沒全自動化來的漂亮呢。
以上完成頭髮的MMD表現: