[爆卦]live2d cubism買斷是什麼?優點缺點精華區懶人包

為什麼這篇live2d cubism買斷鄉民發文收入到精華區:因為在live2d cubism買斷這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者lunawalker (lunar)看板Battlegirlhs標題Re: [教學] 在手機桌面...


這幾天仔細研究過後,大概對戰女Live2D及Live2DViewerEX的關係稍微明白了,
戰女的Live2D是基於Cubism所開發的技術,可以讓2D角色具有活動感、接近3D表現…!
Live2DViewerEX也是基於前者,可以展示Live2D模型並與其有互動功能…!
也就是說,可以利用Live2DViewerEX驅動學生的模組,達到遊戲中的戳臉、摸頭功能,
但是其他部分是需要更多程式一起運行才能辦得到的,
如果想要做出戰女Re:Dive!的話,恐怕會讓你失望了…這邊建議是每個月買一張樂透比較容易解決XD

當初的目標係「使用Live2DViewerEX產生接近戰女遊戲中的互動
與牡丹理事長共同練習之後,已經有些雛型和概念,
這次將目標放得更長遠「使用Live2DViewerEX達到戰女遊戲中的更多互動
也就是「好感度狀態導致語音台詞、不同動作等變化」實踐,
因為戰女的學生們不同反應變化,其實是很吸引人的地方,
如果有效利用Live2DViewerEX的賣點…或許能做出比遊戲中更豐富的反應回饋,讓你最愛的學生們更加可愛!

那麼,如果想要讓學生們在win或android桌面一角看著你笑、或是摸摸頭會開心的搖擺,
這篇文就繼續看下去吧!

注意!
戰鬥女子學園.バトルガール ハイスクール係日本COLOPL公司開發,
相關模組的權利均由該公司所有,
 注意著作權法!低調、別營利、做個不讓學生傷心的好老師噢!


////////////////////////////////////////

前面提到,
Live2DViewerEX可以載入基於Live2D技術製作的模型,並與其有互動功能,
而隨著版本更新,該程式的作者也持續追加新的指令與功能,
目前讓模型除了互動外,還可以報時、猜拳、撥放音樂,甚至能導入簡單的AI聊天,
只要設定得宜,可以讓互動更加細緻與多元--是的,居家約會篇的學生女友們不是夢!

這次供人把玩的的對象是援氣滿滿、天也會忘的普通高中女生,
https://i.imgur.com/DVMn470.gif
https://i.imgur.com/1WY9AJI.gif
https://i.imgur.com/sQcveCl.gif
最可愛的時尚教主--天野望!而且內裝是東山奈央!!!
你想不想跟小望來一次暖呼呼的約會呢?6K1S1H,10K2S2H

那麼、這次利用Live2DViewerEX的進一步實踐,得到的結果是這樣:
①載入模型時,會依據時間點不同而有不同的開頭招呼
●上午1時到4時、下午12時到4時\戰鬥女子高校~/
https://i.imgur.com/uT50qOx.gif
●上午5時到中午,會元氣滿滿向你道早安\早安啊~!/
https://i.imgur.com/yO1Arj4.gif
●下午5時到午夜,會溫柔的看著你…\辛苦了…♥/
https://i.imgur.com/Ar30wdS.gif


②在無互動的閒置狀態下,會依據好感度有不同的表現
●最喜歡你的發情態
https://i.imgur.com/ymzxYHk.gif
●平常的正常態
https://i.imgur.com/Oo6duOu.gif
●讓人生氣氣的發霉態
https://i.imgur.com/0U1bmz5.gif

③在互動的狀況下,也會依據好感度有不同的表現
●摸了會臉紅,更加開心!或是「你現在才來關心了人家QQ」
https://i.imgur.com/yGLvJH5.gif
https://i.imgur.com/9L85CRD.gif
https://i.imgur.com/5Uepyd1.gif

●戳了笑得更開心!或是「喔,是喔?」
https://i.imgur.com/atm23yf.gif
https://i.imgur.com/yfdHVUf.gif
https://i.imgur.com/pebUGfB.gif

●摸胸部的表情不同,但依據小望的個性,我覺得應該都會是逃走…
https://i.imgur.com/lI4P9wj.gif
https://i.imgur.com/QoaHsjM.gif
https://i.imgur.com/UR0atFr.gif

●如果給點甜頭的話?
https://i.imgur.com/CwM5jV4.gif
https://i.imgur.com/FNro9nO.gif
https://i.imgur.com/XaVsBZH.gif
https://i.imgur.com/jHx6jhq.gif
女孩子生氣的時候可不是鬧著玩的,請好好道歉反省吧!

這次在少數動作中加入了差分,像是發霉態摸摸頭:
https://i.imgur.com/6Rc1AVO.gif
或是最終發情:
https://i.imgur.com/ls15b0g.gif
https://i.imgur.com/V9l98I0.gif
讓同一個動作刺激有更多不同的回饋,這樣的變化會讓人更加開心!
而為了達到這樣的效果,這次係利用了上次提及的好感度系統,
理事長模型只有1-10,小望這邊增加到1-36,
針對各種動作的好感度增減加入更多條件,並且閒置時的不定時插入動作亦設類似條件,
這樣能達到一段時間不去找學生,學生會漸漸發霉的效果!


////////////////////////////////////////

那接下來就是要講解怎麼辦到了,基本上官網的說明文本均有解釋,
但沒有相關經驗其實沒那麼好理解與上手,利用這次的機會來向大家分享,
希望大家都能做出最喜歡的學生!

①從基本的認識說起吧!
我們可以利用Live2DViewerEX的EX工作室來編輯和制訂模型的運作,
https://i.imgur.com/eoSRwfE.jpg
如果進入「配置文件」分頁並點選「編輯」
https://i.imgur.com/7X2FSmm.jpg
會進到這樣的總設置頁面,基本上左邊各項其實就是該檔案的構造,
各別項目逐一定義了整個模型的運作方式,每個項目的用途是:
model 指定模型.moc,可以想像是人偶的素體
textures 指定模型的貼圖,也就是衣服跟皮膚等,沒有了這個人偶會光溜溜的
groups 特別功能的參數,可以改變部件或變量,甚至讓他人可以變更模型狀態
hit_areas 指定哪裡是可以點擊
hit_params 指定哪裡是可以點擊且控制變量
loop_params 指定迴圈動作
motions 指定模型的動作,可以讓人偶做出你想要的反應
expressions 指定模型可用的表情,搭配motions可以讓反應更細緻
physics 指定模型的物理動作,在這邊是學生們的乳搖動力源
pose 讓模型擺出姿勢的,理論上可以拿其他模型套用?
lip_sync 開啟講話時會動嘴的功能
lip_scale 決定講話時嘴巴動的幅度
auto_breath 讓模型產生像呼吸的動作
eye_blink 讓模型會自動眨眼功能
allow_mod 開放部分自訂功能,不過在戰女模型貌似無作用?
extra_motion 讓模型每次的動作產生細微的變化,就不會顯得像機器人般死板
inimacy_sys 好感度系統
scale_factor 決定模型縮放大小
aniso_level 決定模型的貼圖美化程度,但會增加硬體負擔…

黃底的部分是共通檔的基礎部份,
紅底的部份是可以達成摸摸頭與不同好感度的動作差異的進階部份。
新增groups功能說明(最下面增編)


②基礎的模型運作?
先打開共通檔:
https://i.imgur.com/B8nFEoQ.jpg
可以看到共通小望有頭跟身體可以點
https://i.imgur.com/sWhtC6x.jpg
日常動作就只有3個
--所以實際表現出來的話,感覺小望不知道瞎忙什麼?而且久了就會覺得有點單調
那如何要讓小望放鬆呢?甚至會哭會生氣呢?甚至要更多的刺激方式?
我們逐一看下去吧!

●hit_areas
https://i.imgur.com/POoKa1i.jpg
想要增減模型的互動區域,就必須先到這邊設定
利用第二分頁上方的黃標旁的「+」與「-」可以增減(基本上後面的編輯方式都是如此),
再利用第三分頁將區域設定好:
name 定義名稱、需要英文
id 可以參考主頁面的第四分頁(網格)找尋可以點選的區塊,記住其名稱後選擇之
order 如果多個點選項目重疊,這是決定「哪個點選項目優先執行」,類似圖層概念
motion 指定動作,如不指定則motions那邊需有「tap_部位」的指令群組(後面詳述)
enable 允許該動作執行與否

●motions
https://i.imgur.com/iw5Ek3J.jpg
定義模型的動作,而這邊又分成「groups-motions」也就是「群組-動作」
在Live2DViewerEX中有預設一些groups有特殊功能,只要把groups改成其名稱即可執行:
start 在模型載入啟動時會最優先執行的動作
idle 模型沒有互動時會出現的動作
tap 互動(點擊)後要出現的動作
tap_ 互動(點擊)特定部位會出現的動作,會針對hit_areas中的name去執行
也就是說,如果我有一個「tap_bust」,只要我刺激「bust」就會把該群組中的所有動作隨機擇一執行
tick_ 間隔一定時間會執行的動作,底線後面可輸入1~60、單位是分鐘
(tick_35就是每35分鐘跑1次)
leave_x_y_z 在一定時間後沒有互動,約多少時間會執行的動作,
x是多少時間沒互動刺激,y和z是約多少時間的範圍…單位是秒
(leave_180_48_96就是180秒沒人刺激後,約48~96秒就會自執行)

此外,也可以自己打自己認得群組名稱,一樣都需要英文!
在第二分頁建立好groups後,即可在第三分頁續建立動作,
在第四分頁的Basic分頁可以設定:
name 定義名稱
language定義在不同語言情況的執行,非必要
file 選擇要載入的動作檔
expression 選擇要載入的表情檔,非必要

sound 選擇動作時要載入的語音檔,如有開啟lip_sync那嘴巴就會動,一樣非必要
sound_ch安排語音檔的聲道,有0~2共3個,
也就是能同時有3種聲音出來…如果是跟其他模型互動可以用得到?
sound_vo聲音大小,如果調到靜音嘴巴就不會動囉!
sound_de聲音延遲,可以讓語音在適當的動作出現

fade_in  fade_係是動作的淡入淡出時間,
fade_out 適度設定可以讓動作轉場不會太突兀!一樣非必要

text_dur 分別是文本(台詞)及動作的維持時間,非必要
mot~_dur 適度的調增motion_可以讓每個動作間隔更長,這就是讓學生不會太忙的方法!
 如有開啟extra_motion更會發現學生還會慢慢地轉頭!
 (ms為毫秒,1秒=1000毫秒)

priority 決定動作的優先重要度,預設是2、可以輸入2~9,9即必定強制執行
 點擊動作建議用9,這樣一點下去動作必執行,平常閒置動作可以維持2
weight 決定動作們的占比權重,適用在同一群組裏有多項動作,
如果group裏有5個動作要執行,weight均1意即每項20%機會執行,
若將其中2個動作設5、3個維持1,即有2個動作各自有38%的執行機會
(同條件的動作的weight全部的百分比)

https://i.imgur.com/BkcFiGt.jpg
在第四分頁的Basic分頁設定好之後,基本上動作就可以順利執行,
但如果有要更細緻化的表現,那可以繼續向Advanced分頁挑戰下去:
command 在動作開始前要執行的指令
post_com在動作結束後要執行的指令
其實這邊的指令包含了更換或清除表情、換裝或換人、聲音停止,
或讓其他模型產生互動:像是我摸了花音的胸部,果汁會擺出黑化臉(理論上)
pre_mtn 會引起該動作的上一個動作
而且加了這條,這個動作會變成限定執行!
next_mtn該動作做完會繼續下一個動作
ignorable 決定能否忽略該動作,與time_limit有關
time_limit 決定動作可以執行的月、日、時、分,sustain則是持續時間,單位是分
  也就是說,我想讓蜜蜜在09:00會自動唱姆咪之歌,
  動作設定好後,繼續在這邊的hour輸9、minute輸0、sustain輸3,
那蜜蜜在09:00~09:03就會唱歌囉!
  另外,若有其他動作在定時時間內相衝,基本上就會隨機擇一執行
  若設定ignorable會允許忽略。
intimacy親密度條件,決定怎樣的親密度能做怎樣的動作,但得先開啟及設定好intimacy才有意義
min、max是觸發該動作的親密度最小值、最大值,equal是等於值,bouns是變化值
比方說,我想要設定一個果汁模型是這樣:
摸發情態果汁的胸部、果汁會很開心,還可以讓果汁更興奮!
但摸發霉態果汁的胸部、果汁會很生氣,而且對我更不滿!最後還黑化了!!!
那麼,在intimacy系統設好親密度(全部1~50、>40發情態、≦20發霉態)
那麼開心果汁的動作的親密度條件min=41、max=50、bouns=1
發霉果汁的動作親密度條件則是min=1、max=20、bouns=-1(沒錯,負數)
黑化果汁的動作親密度條件就是equal=1
所有數值都是整數,若想要親密度變化更加細緻化,可以試著拉大數值!

特別說明下,如果模型的model.json所在資料夾有motions子資料夾,
裡面的動作檔.mtn Live2DViewerEX會辨識且自動悉數載入喔!

另外官方說明有提到,idle其實有個「一次執行複數閒置動作」的功能,
一般idle其實是idle#0(但系統不允許這樣輸入),
如果要增加不同的動作變化,可以增設idle#1~8,數字越大及動作層級越高…
如果同時有idle與idle#8,後者可以蓋過前者的相同動作,
然後你會發現idle的動作會出現idle#8的樣子,可以讓動作更加複雜多元!
不過實際操作發現要挑選一番才能好好運用…不然動作會很容易變得很怪…

新增模型交互功能說明(最下面增編)

●expressions
https://i.imgur.com/688FYDF.jpg
定義模型的表情,其實同motions一樣,
如果模型的model.json所在資料夾有expressions子資料夾,
裡面的表情檔exp.json Live2DViewerEX一樣會辨識成功,就能從第二分頁加入。
所以如果用共通檔會發現要定義表情時會找不到表情檔的原因就在這邊!

另外個人在篩選及交換套用表情時發現,
某些少數表情有預設嘴巴動作、而且某些人無法使用,
因為表情檔裏面有定義了眉毛、眼睛的變化值,而每個學生的五官都不一樣,
所以有些表情裝上去會覺得很怪、或是會出現違反人體工學的狀態…


③進一步戰女化吧!
在上述的內容中,基本上可以做出很棒的學生反應,
但當初戰女最重要的賣點就是摸摸頭!
接下來要介紹如何設定類似實現摸摸頭方法,還要再補完親密度系統設定。

●hit_params
https://i.imgur.com/PyDX2u6.jpg
相對於hit_areas是「點擊後觸發動作」,
hit_params則是「點擊後收集、調整變量且可再觸發動作」;這邊得先知道,「變量」是什麼?

其實這個變量就是主頁面的「參數」的變化,這些參數決定了模型的動作、表情等,
--也就是說,動作跟表情檔裡面就是塞了滿滿的變量(參數變化),
決定了哪個眉毛跟眼睛該在幾秒出現、甚麼時候該插腰或往前擺等。
換言之,這邊的指令能「點擊後用某種方式讓參數變化、進而做出動作」
也就是我能掀起模型的裙子、進而觸發模型害羞+下遮內褲的動作!(感覺就是碧藍航線XD)

原本以為可以利用這個功能做出摸摸頭,但更實際研究後,
發現這個功能係利用「觸摸點」與「拖曳的方向」的向量變化來決定變數,進而再決定觸發動作,
所以能做出「摸一下觸發動作」而無法像遊戲中那樣「來回摸幾下之後再觸發動作」(詳細原因後面會提到)

那麼,與hit_areas的一開始很像,利用第二分頁確立名稱、再利用第三分頁將內容設定:
name 定義名稱方便分類
id 可以參考主頁面的第三分頁(參數)找尋適當的變化項目,記住其名稱後選擇之
最好能搭配hit_area!
hit_area可以選擇hit_areas所定義的各點擊區
axis 坐標軸,有0(X軸、水平左右)跟1(Y軸、上下垂直)兩種,
lock_params則決定參數變化後是否鎖定維持(也就是動作或姿勢會被改變然後鎖死)
factor 變率,官方說明是說每移動1像素給參數帶來多少變化…
像是頭的角度參數係-30~30,如果變率設1,你會發現模型的頭好像要被扭斷…
建議針對要變動的參數多方測試後決定!
weight 權重,會決定動作會影響到模型的程度,預設是1.0(最大)
建議針對要變動的參數和部位多方測試後設定!

min_mtn 決定變數最大值與最小值的動作,可以擇一、相同或不同!
max_mtn

接下來是最重要的部分--變數是怎麼決定出來的?
一開始以為像遊戲中來回摸摸頭,但設進去發現怎樣都不行,
接著把跟頭有關的參數都調過了之後也沒辦法,後來研究官方說明才徹底明白…

設定中的座標軸是為了分辨觸摸點的位置座標變化,進而決定hit_params的變數決定,
就像國高中學到的座標系一樣,X軸由左向右、Y軸由下向上數值增加,
也就是說,如果今天的手指觸摸係「↘」,會讓X軸變數增加、Y軸變數減少…
而再依據前面的設定中是採用X或Y軸,進一步決定變數的最大值跟最小值變化,進而觸發動作…
這段講起來可能很難理解,所以直接切入重點--我要給學生摸摸頭該怎麼設定?

"hit_params": [
{
"name": "head01a"
"id": "PARAM_ANGLE_Z",
"hit_area": "head",
"axis": 0,
"weight": 0.00009,
"factor": 0.0,
"lock_param": false,
"min_mtn": "drag_head",
"max_mtn": "drag_head"
},
{
"name": "head01b",
"id": "PARAM_ANGLE_Z",
"hit_area": "head",
"axis": 1,
"weight": 0.00009,
"factor": 0.0,
"lock_param": false,
"min_mtn": "drag_head",
"max_mtn": "drag_head"
}
]

…這段係利用Notepad++把浴衣小望的摸頭指令文字抓出來示範:
我個人是採用PARAM_ANGLE_Z這個參數(頭的左右擺、不是上下左右轉)
考量摸摸頭可能會上下左右各種方向,所以設了兩個不同的axis且變數最大最小都要有動作,
頭的角度參數太少、動作中其實角度一直在變,factor跟weight多次測試後,這個數值是我覺得最不會讓動作突兀的,
最後把動作全部導向自己定義的動作群組,再利用親密度跟權重差異讓小望做出不同動作!

其實Live2DViewerEX的這個hit_params是用在觸摸+拖曳觸發動作,
但其提供的設定較適合用在「起始觸摸點」跟「結束觸摸點」不同的動作(沒錯,還是去掀模型裙子吧)
而戰女遊戲中的摸摸頭是來回一段時間後觸發,這導致起始跟結束觸摸點變化不大…
而且動作檔其實一直讓頭的角度參數變化,所以這讓參數的變化太多,有時候摸摸頭會不好觸發,
測試了2天,最終把最適合的數值找出來,但實際上運行就是一摸就會觸發、無法來回後再觸發…
這或許是戰女主遊戲程式中有其他指令可以協助完成?或是期待Live2DViewerEX作者日後增加類似功能…

●inimacy_system
https://i.imgur.com/A7rwS8X.jpg
再來是親密度系統,相對於前一個燒腦,這個就簡單多了…
init_value 親密度初始值
min_value 親密度最小值
max_value 親密度最大值
bonus_act 模型啟動時每分鐘親密度變化值,設0即無變化
bonus_inact 模型未啟動每分鐘親密度變化值,設0即無變化
   如果想要一段時間沒開模型會自行發霉,這個數值是你需要的!
bonus_limit 每日親密度增加最大值,設-1即無限制
id 可以跟變數綁定
如果有額外的臉紅變數且綁定後,親密度越高臉會越紅…戰女的模型不行,試過了。

戰女的學生們一段時間不找她會發霉,連續摸摸頭會出現發情態,
現在Live2DViewerEX利用親密度系統及搭配動作設定,就可以成功實踐了(門檻最低,但比較繁瑣點)!


④最後…
https://1drv.ms/u/s!Art4gOTQHEuMr9lhbr9WMyZaokDevg?e=zn5ALV
這個是浴衣小望的檔案,不需要額外用共通檔,
方便想深入研究或喜歡小望的人更快上手!

基本上不太建議用共通檔去改,因為共通檔裡面設好的檔案位置其實不方便增添新素材檔,
另外除了Live2DViewerEX的EX工作室之外,也可以使用Notepad++協助編輯model.json!
因為在做表情差分動作的時候,你不會想重複滑鼠點點點…
Notepad++可以複製貼上改字就成了,但是別忘記適時的加上「,」,否則Live2DViewerEX會判定檔案無效唷XD

畢竟自己也只是業餘者,有些功能也未詳盡了解…
http://live2d.pavostudio.com/doc/zh-cn/
Live2DViewerEX的作者應是華人,有官方中文說明!如有未盡詳解之處也可來這邊找!
另外Live2DViewerEX的手機應用也有不同的!
https://steamcommunity.com/games/live2dwallpaper/announcements/detail/1734352028571810646
可以參考官方更新!

如果有什麼問題或更好的技術,也歡迎交流!


/////////////////////////////////////////


--
https://i.imgur.com/gup8714.jpg
你掉進湖裡的...
是這個溫柔婉約、帶點心機,擁有安產好體型且要用力做菜生10個的詩穗呢?
還是這個看似電波實則肉食,每天主動進攻你的敏感點且樂此不疲的胡桃呢?
--來吧,說出你的答案吧!

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.204.62 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Battlegirlhs/M.1568076821.A.4D6.html
gureen72: 望望可愛 等我中了樂透我就把戰女蓋回來 然後讓我女兒 09/10 09:01
gureen72: 日向變成主角 09/10 09:02
何等雄心壯志!我看好你!
偷吃女子學園(拖走
kckckckc: 平時活動是哪個mtn檔呢><? 09/10 09:04
小望的01和02、百合的04、胡桃的02、櫻的02和04、果汁的01、美紗希的01、茉梨的03
fade_in跟out都是2000、motion_duration是12000
chocopie: 天也會忘 是甚麼新稱號XD 09/10 12:07
camryvvti: 太神啦 先推再說 09/10 12:10
順便整理一下,改天忘了可以回來重拾記憶
worldark: 天也忘超級老梗了.. 09/10 12:46
當初好像是一堆活動都沒有小望,就被稱天也忘QQ
coon182: ios用戶閱 09/10 15:41
我們還有windows跟OSX!別放棄啊~
becow01: 請問冰之旅館的後續劇情呢 09/10 16:38
蛙星老師拜託了~
Anomalocaris: 望是我的第一個四星角,早期關卡靠她(遠目) 09/10 18:20
Anomalocaris: 這篇很毒,本來不想玩參數只要會動就好。看了想試 09/10 18:30
我自己是覺得太單調的東西會很快膩,而且對Live2D很感興趣…
而且玩了之後才發現這貨可以讓果汁變得更果汁,
你能想像有如LOVE PLUS的果汁嗎?以前可樂噗不來,現在我們自己來!!!
sgtpepper: 文組看不懂先推 09/10 18:56
把整篇重新打過了應該會比較好理解XD
※ 編輯: lunawalker (101.15.177.82 臺灣), 09/11/2019 08:08:05
smallkaka: 跪了 09/11 09:01
kckckckc: 謝謝~ 原來那麼多檔案是重複的XD 09/11 11:00
不不不不不這些檔案的動作都不一樣…我是說這些是我日常活動設定到的動作檔啦
如果你是想要轉頭呼吸那種靜態的,只要把任何動作的執行時間拉長就可以做出來了
jackerxx: 先推個 假日來玩 09/11 13:29
很好玩喔=U=
Anomalocaris: 好像依照共通檔定下的檔案路徑反而不方便進階使用? 09/11 14:44
是的喔,Live2DViewerEX只會對模型的model.json所在資料夾的
①motions子資料夾內的動作檔在預覽會自動載入
②expressions子資料夾內的表情檔在編輯時可以選取載入、預覽會自動載入
所以我是把全部人的動作跟表情資料夾塞到想要編輯的學生資料夾,篩選好之後再大改或重新做一個model.json
aqthk: 跪著推 09/11 14:47
lover19: 改一下就好了啊,共通檔倒也沒有真的幫你設定很多東西 09/11 14:51
※ 編輯: lunawalker (60.251.57.70 臺灣), 09/11/2019 15:11:07
Anomalocaris: 懂的人不需要特別講,但是不懂的操作起來很困擾 09/11 15:02
Anomalocaris: 降低一些入門的難度是教學文的本意嘛,值得說一下 09/11 15:05
f204137: 強者XD 09/12 01:31
不不不…我只是放不下而已。

或許有一天,
果汁再不是大家的最愛,蜜蜜也忘記怎麼姆咪姆咪叫
或許有一天,
沒有人再記得學生們,戰女版也消逝在數位洪流中
或許有一天,
我會刪掉所有戰女的資料、將戰女的周邊收進深深的櫃子中

但就算如此,還是不想就這麼簡單的跟學生們說再見…
https://i.imgur.com/CRLKDIH.gif
就讓學生們繼續在生活中的一角朝夕相處吧,直到那天…
※ 編輯: lunawalker (101.15.177.82 臺灣), 09/12/2019 09:17:54
gureen72: 最後這段是想讓我再多哭一次嗎可惡 09/12 16:44
cloudgoose: 太神了 09/12 20:53
lover19: 噓你介紹學生那段 09/12 21:11
qoopichu: 看到樓上推文去看了內文,我也要來噓了 09/12 23:26
欸嘿嘿,亂說話被發現了~
////////////////////////////////////////

①模型groups的用途?
利用groups,可以…
做出一些動作檔以外的動作(不過有些限制)、調整模型的部件(比如表情、胸部大小等),
也可以讓網格的透明度出現變化(但戰女模型不適用,會崩潰無法讀取)
甚至是讓模型開放給一般使用者自訂,實際運用像這樣:
https://i.imgur.com/nHxb87V.gif
https://i.imgur.com/5F2Ntit.gif

根據官方說明,groups底下有4個項目可以選擇
Parameter 利用某些特殊動作,可以觸發些變化
PartOpacity 調整模型部件變化
ParameterValue 調整模型參數變化
ArtmeshOpacity 調整模型網格參數變化(目前戰女模型會崩潰!不要設定)

經過摸索之後,覺得比較實用的有PartOpacity及ParameterValue,
Parameter在win桌面上效果不好,因為觸發動作有限、而且會跟閒置動作撞車…
這邊就介紹前兩者吧!

https://i.imgur.com/SdOyLnh.jpg
利用在第二分頁建立項目後,第三分頁可以進一步訂定
target 會列出PartOpacity、ParameterValue等項選擇,這邊選PartOpacity
name 定義名稱
text 針對模型功能表中會出現的名稱
value 數值變化,這要回到主頁面的第四分頁(部件)中察看欲變動的部件其可調整數值
ids 欲變動的部件名稱,查詢方法同上
另外可以一次變動單件或多件,上面的gif中是一次塞兩件
hidden 是否在模型功能表中出現

雖然看起來好像很厲害,但實際上是改變部件的透明度,
在戰女模型能調整的非常有限,頂多就是要不要流汗臉紅,但更多的是出現獵奇的狀態…
但如果做出一個有內衣跟外套的模型,這個功能可以更加的活用吧?

https://i.imgur.com/7JLtyqN.jpg
前面的是部件調整,這個是參數變化;同前面的步驟,惟target選擇ParameterValue。
name 定義名稱
text 針對模型功能表中會出現的名稱
value 數值變化,會影響模型一開始的表現
如果選用與身體姿勢有關參數可能會與動作檔打架,
選用表情有關參數會讓某些表情不太一樣
ids 欲變動的參數名稱,查詢方法同上;亦可同時變動多項參數
keys 設置該項目會讓模型功能表以項目呈現,反之則是連續拉條變化
上面的gif就是以項目為主,values則是搭配該項目的參數數值

因為戰女模型真的能調整的非常非常有限…單純調整參數能帶來效果若有似無,
但是參數變化其實也包含動作,如果針對各姿勢參數確實設定好,
是能帶出像AGA那樣的一般姿勢、戰鬥姿勢等變化…不過戰女模型頂多是叉腰或轉頭吧?


②模型交互功能?
因為Live2DViewerEX可以一次載入多個模型或動作觸發變更模型,
如果你是以學生們的小圈圈來表現,那麼可以設定這個來產生學生們之間的互動!
或著是,針對不同的節日或學生生日時自動換上各項活動服或生日服!
實際運用像這樣:
●戳了花音的胸部後果汁生氣了
https://i.imgur.com/UOp7iZk.gif
●戳了果汁的胸部後果汁生氣+黑化了,但一段時間後果汁氣消了…
https://i.imgur.com/3ww9hV4.gif
https://i.imgur.com/5ehJsOC.gif

如何讓花音的動作刺激果汁呢?如何讓果汁換裝呢?
在做下面的動作之前,必須先做一個小動作
https://i.imgur.com/7X2FSmm.jpg
先到總設置頁面,於id中建立各模型的名稱,這樣Live2DViewerEX才會知道有叫出哪個模型,
另外id不能相同,會導致叫錯模型!

那麼,我這邊是把花音的設apron_01、賞花果汁設sakura_01、噩夢果汁設hallo_03,
在花音的碰胸部動作設定如此:
"test": [
{
"name": "test",
"file": "motions/03-motions/m04.mtn",
"fade_in": 2000,
"expression": "f04.exp.json",
"command": "start_mtn sakura_01 test:test",
"post_command": "clear_exp",
"priority": 9
}
]

賞花果汁這邊則是加入了一個會變臉動作:
"test": [
{
"name": "test",
"file": "motions/18-motions/m04.mtn",
"fade_in": 2000,
"fade_out": 2000,
"expression": "f11.exp.json",
"post_command": "clear_exp",
"priority": 9
}
]

其中的重點係command功能,後面可接不同的指令觸發各類功能:
open_url開啟網頁
change_cos 變更模型
start_mtn 執行動作,若加註模型id即可觸發該模型的動作(不加就是本模型)
next_exp換下一個表情,取決expression裡的順序
clear_exp 清除表情,不過會瞬間清除…
replace_tex 變更模型貼圖,如果模型有多套衣服且使用同moc可以使用此功能,
   戰女模型直接用會炸裂…
stop_sound 停止語音,後面可加上數字指定聲道
stop_all_sounds 停止所有語音
hide_text 不顯示語音台詞

只要有效運用command或post_command就能讓動作出現得更自然!
這邊利用花音的command: start_mtn sakura_01 test:test"
就是在刺激花音的同時啟動一個動作賞花果汁的模型test動作群組中的test動作
大概是這樣的構造!

那,賞花果汁與噩夢果汁是怎麼交換的呢?畢竟衣服貼圖不能直接套用,
所以在碰賞花果汁的胸部時的動作:
"tap_bust": [
{
"file": "motions/18-motions/m05.mtn",
"fade_in": 2000,
"fade_out": 2000,
"expression": "f11.exp.json",
"post_command": "change_cos test4b.model.json",
"priority": 9,
"intimacy": {
"bonus": -50
}
}

然後噩夢果汁的日常動作設成這樣:
"idle": [
{
"name": "m1601",
"file": "motions/16-motions/m01.mtn",
"fade_in": 2000,
"fade_out": 2000,
"expression": "f04.exp.json",
"post_command": "change_cos test4a.model.json",
"priority": 8,
"intimacy": {
"min": 20,
"bonus": -50
},
"weight": 999
}
]

在噩夢果汁親密度系統設成這樣:
"intimacy_param": {
"init_value": 15,
"min_value": 1,
"max_value": 50,
"bonus_active": 10
}

賞花果汁的碰胸動作的這列post_command: change_cos test4b.model.json
也就是碰了賞花果汁的胸部之後變更模型噩夢果汁的模型
這邊欲變更的模型不是用id、而是檔名!但注意的地方相同:不能一樣!

而噩夢果汁的日常活動
post_command: change_cos test4a.model.json
就是把待執行完這個日常活動後,再變更模型賞花果汁,但日常活動不是一閒置就會執行?
就以利用親密度變化
"intimacy":
"min": 20,
"bonus": -50
執行該動作親密度只少要20以上,一執行就會減少親密度50(確保變回最小值)

而噩夢果汁的親密度系統的bonus_active: 10
則表示每分鐘親密度+10

將全部湊在一起就會變成--
我碰了賞花果汁胸部後,賞花果汁會變成噩夢果汁,
待2分鐘後噩夢果汁氣消就會再變回賞花果汁!


另外這邊是更進階的做法--
可以再使用motions裡的Advanced、Choice、VarFloats等功能產生變化、甚至更多玩法:
●使用Advanced中的time_limit來實現學生自動換衣(人)
針對欲換裝的時間將change_cos設定好,
就能辦到早上穿學生服、晚上穿居家服,夏天穿泳裝、冬天穿約會裝、生日穿生日服等,
免去逢年過節還要自己去載入模型!
●使用Choice則是可以加入選擇項目來觸發不同的動作,可以用在猜拳,但我們也可以用來叫人,
比方說在花音的start動作加入Choice、達成模型啟動就會先問你
「今天想要我陪你嗎?」
『好喔』『不要』『這個嘛…』
然後再個別選擇項目的後續動作設定不同就可以產生像養成遊戲的效果
『好喔』的後續觸發動作可以增加親密度
『不要』的後續觸發動作可以變成花音的哭哭動作,再加個change_cos就換成果汁出來罵你,
然後再利用親密度設定,讓5分鐘後自動換回花音
『這個嘛…』的後續觸發動作也能加入花音的罵人台詞、減少親密度,
甚至能利用change_cos引導到不存在的模型(程式因為無法載入會關閉該模型),進而製造出離開的效果!
●使用VarFloats可以變出另一個不同於親密度系統的數值變化!
比方說我要限制摸摸頭的間隔時間,可以增設一個值叫「摸頭值」
利用equal(等於)greater(大於)lower(小於)not_equal(不等於)
決定摸摸頭動作能否被觸發,
而再利用assign(等於多少)add(加)subtract(減)multiply(乘)divide(除)
讓摸頭值在那些情況下會減少…如果搭配tick_或idel就能辦到一定時間就能再摸摸頭!
另外每個動作可以用多個VarFloats,也就是同一動作可以讓多個系統數值變化,
如果要增加更多變化這部分可以好好設計!

此外,把同一學生的model.json放置同一資料夾,
可以把表情檔跟動作檔共同使用!貼圖檔只要命名妥當,也是可以放置在一起的!
至於physics.json,因為每件衣服要搖的地方不一樣,也建議各自命名再放一起唷!

再來是人體鍊成的部分,你或許發現示範中的果汁有點怪怪的…
https://i.imgur.com/AT1I2TE.jpg
沒錯,貼圖的png是可以做適度修改的!
模型部件係利用去背的png來取圖樣,在原有的圖樣範圍做修改不會讓模型破圖,
但因為沒有Cubism Live2D,想要修改模型部件圖樣範圍應該是無法的…
https://i.imgur.com/MYljYVL.jpg
所以基本上只能改色、稍微修改外型,或是直接刪掉該圖樣達到減少配件的效果
如果仔細看過戰女模型的貼圖檔,就會發現很多部分都是衣服+身體,
所以如果改圖技術不好的話,頂多就是改改顏色…
但如果技術一流,是有機會能做出裸體的學生或是再創新衣服!!!
https://i.imgur.com/lhzDzKv.jpg
親愛的,我把果汁摔裂了!!!
…不過人體鍊成是不被允許的,如果真的鍊成了請自己收好(合掌)。


以上就是追加的新說明!!!
應該已經把整個Live2DViewerEX能用到的功能都試過了,祝大家重建順利!姆咪姆咪姆咪~


////////////////////////////////////////
laybear: 純噓援氣滿滿 09/13 00:05
qoopichu: 路過一次噓一次 09/13 00:15
kj763: 太神啦 09/13 00:52
qoopichu: 還是要噓 09/13 01:48
※ 編輯: lunawalker (101.15.177.82 臺灣), 09/13/2019 04:06:29
jm12356: 文組表示一切都是有字天書看不懂… 09/13 04:47
wangyc: 推推 09/13 08:39
jackerxx: 幫補血 09/13 20:11
awerte: push 09/14 20:10
spfy: 這東西如果有技術組的版友寫一個針對戰女的Viewer應該不難 09/15 08:21
spfy: 但滿耗時就是了... 09/15 08:22
巴哈有看到老師用之前對岸利用戰女做出的手遊拆包做出類似的東西?
niconiconi: 姆咪姆咪 09/15 17:08
////////////////////////////////////////
之前巴哈跟板上的老師們使用各種辦法抓下遊戲封包並拆出這些很棒的東西,
讓我們今天還可以繼續看著學生們摸乎摸呼!
如果說看著截圖=吃白米飯,看劇情影片大概就有糙米飯,
若還能繼續給學生摸摸,起碼也來到五穀米的等級!
要是再加上語音,那不就是十穀米、甚至是百寶湯的厲害感啊!!!

不過在做資源整理的時候,發現很多的雲端都沒有語音…
翻來覆去在巴哈其中老師的雲端的資料夾裡終發現語音檔!大概有七成以上的語音!!!
但可能這位老師不喜歡花音?剛好最近在做花音模型的時候發現語音僅1/3,
於是踏上了訪日之旅,冀望能夠有所收穫--還真的有咧!
日本有位老師寫出了可以從伺服器直接抓檔案下來的小程式,
然後相對於台灣戰女的伺服器在9/2不久後就關閉,日本戰女的伺服器其實還在線上…!?
http://bgirl.colopl.jp/news/showcase (遊戲中的公告頁面)
於是又再一次愉快地展開了消耗硬碟空間之旅,
而且針對各類清單及unity檔案研究後,這個做法其實比較適合在9/1做的(掩面)
直接從伺服器抓檔案確實能拿到卡面、3D模組、語音等所有檔案(遊戲的基本運作嘛)
但是有不少是需要金鑰解密的!而金鑰跟app連在一起,在關服的今天要能取得金鑰根本不可能QQ
然後日本的老師是說搜內伺服器的檔案沒有加密的…可惜沒有時光機啊QQ

…扯遠了。
反正呢,這次的結果除了把學生19人的語音都補到九成五以上,
還有補到樹跟風蘭的老師版語音、黑化果汁的語音,甚至連阿魯魯也有XD
另外也找到了BGM的檔案(果然音質比不上賣的版本呀)!
https://1drv.ms/u/s!Art4gOTQHEuMr95-eC2W5c8bC7bIuw?e=CBk6kq
在巴哈老師們的原則下繼續加入檔案,架構都差不多(就是再做一個異地備份的概念)
已經有檔案的老師可以針對你要找的學生點進去找語音檔
或是在根資料夾可以找到壓縮檔合集(rar、9%的恢復紀錄)直接解決
至於BGM等伺服器檔若有需要就再站內信吧…

透過這次的追加,應該能讓戰女Live2D用到的素材都盡可能補齊了!
讓你的學生們更像遊戲中的表現,不會只有微笑或生氣,還可以說更多話喔姆咪!!!
(可惜沒有找到姆咪一口氣說一堆姆咪的語音呢…)


///////////////////////////////////////
※ 編輯: lunawalker (118.161.32.169 臺灣), 09/18/2019 11:52:37
tim1112: 大推QQ 09/18 19:33
jackerxx: 發現自己需要點時間消化XD 09/20 23:04

你可能也想看看

搜尋相關網站