Live2DViewerEX
模型配置
以双生视界,无忧-群青之翼为例,刚好抽到,可以作为参考动作和语音。
加载模型
live2DViewerEX
-EX工作室
-Live2D编辑器
-选择模型文件夹
,点击model3.json
加载模型
))
配置点击区域
一般要配置区域为
头
,手
,胸
,腰
,腿
等部位。
点击网格
选项卡,勾选自由选择
,然后点击头部,在第一行还左拖到透明度,如果觉得部位合适就选择。记录部位参数。一般选择部位的绿框尽量小,不然点击很其他部位重复,会冲突,设置动作优先度可以解决。以为是我的
点击区域
参数,仅供参考
- D_PSD2_139 头部
- D_PSD2_21 左胸
- D_PSD2_20 右胸
- D_PSD2_129 右手
- D_PSD2_15 左手
- D_PSD_53 54 裙子
- D_PSD3_121 嘴
!点击区域配置](/img/post14_3.jpg)
配置动作
选择动作
,添加动作组
- Idle 待机动作
- Tap 点击动作
- TapArea 点击区域的动作
- Start 读取模型时的动作
- Shake 摇动动作(适用于手机)
- Tick 每分钟播放一次动作
动作组的动作按照自己喜欢的配置,不一定全部动作配置完。
配置参数拖拽
(掀裙子)
控制器
-勾选参数拖拽
ID
选择PARAM_XIANQUNZI_1
和PARAM_XIANQUNZI_2
,可以在参数
中左右拖到查看你想要的ID
。点击区域
选择你配置的点击区域
,我的是skirt
,ID
是D_PSD_53
类型
选择拖拽
坐标轴
选择Y
因子
-0.07
(建议自己测试)
下面的选项根据需要填写
如果选择动作时没有动作选择,需要在动作
中为动作组
的动作
命名
配置语音
语音包比较乱比较难找,采取Fiddle
抓包找到语音地址,把游戏文件夹File
里的version.zip
移动出来重新下载游戏数据,找到vo_normal_girl_10.u的url
地址。换回西山居代理了,直连延迟低了点。
- 语音文件是下载在
wwisedata
里解压后放到AutoAudio
文件夹里,没有打包好的语音很难找,所以抓取还没解压的文件。 - 详细提取语音步骤请参考我写的
少女咖啡枪 live2d提取
提取语音步骤
把游戏文件夹
File
里的version.zip
移动出来,重上游戏下载数据Fildder
抓包。找到地址后主要是下载
vo_normal_girl_12.u
文件,normal
代表日常,12
代表角色编号,在换装可以看到顺序号。’vo_story_girl_12’表示故事线的语音,看看文件名都能知道.注意:请求文件的文件名是小写用
AssetStudio
解包语音文件,全部提取出来,用Advanced Renamer
把txt
后缀批量删除,wem
后缀才是正确的。bnk
文件用bnkextr
提取,出来文件后缀是wem
。如果提取不出来说明这文件不需要的。用
revorb.bat
批量把.wem
文件转换成.ogg
音频,在修正’.ogg’音频文件。
|
- 删除多余的
.wem
文件,根目录delwem.bat
。
|
在动作
中添加声音
,vo_normal_girl_12.u
提取的全部的语音,按需要添加就行了。
配置文件`model3.json`参考(点击展开)
{
"Version": 3,
"FileReferences": {
"Moc": "724upd__l2d_371.u.moc3",
"Textures": [
"textures/texture_00.png"
],
"Physics": "724upd__l2d_371.u.physics3.json",
"Motions": {
"Idle": [
{
"Name": "stand",
"File": "motions/Mgirl10_stand.motion3.json",
"MotionDuration": 3000,
"Priority": 3,
"Enabled": false
},
{
"Name": "stand_a",
"File": "motions/Mgirl10_stand_a.motion3.json",
"Enabled": false
},
{
"Name": "reshen",
"File": "motions/Mgirl10_reshen.motion3.json",
"Sound": "voice/631417465.ogg",
"Enabled": false
},
{
"Name": "jita",
"File": "motions/Mgirl10_jita.motion3.json",
"Sound": "voice/202100287.ogg",
"Enabled": false
}
],
"Tapleft_hand": [
{
"File": "motions/Mgirl10_hengge.motion3.json",
"Sound": "voice/108272852.ogg"
},
{
"File": "motions/Mgirl10_hengge2.motion3.json",
"Sound": "voice/108272852.ogg"
}
],
"Taphead": [
{
"File": "motions/Mgirl10_zeguai_a.motion3.json",
"Priority": 4
},
{
"Name": "motouweixiao_a.motion3.json",
"File": "motions/Mgirl10_motouweixiao_a.motion3.json",
"Priority": 3
},
{
"Name": "motouxiao",
"File": "motions/Mgirl10_motouxiao.motion3.json",
"Priority": 3
},
{
"File": "motions/Mgirl10_motouweixiao.motion3.json",
"Priority": 3
},
{
"File": "motions/Mgirl10_motouwushi_c.motion3.json"
},
{
"File": "motions/Mgirl10_motouyihuo.motion3.json"
},
{
"File": "motions/Mgirl10_motouyihuo_a.motion3.json"
},
{
"Name": "jingya",
"File": "motions/Mgirl10_jingya.motion3.json"
}
],
"Tapright_hand": [
{
"File": "motions/Mgirl10_hengge.motion3.json",
"Sound": "voice/108272852.ogg"
},
{
"File": "motions/Mgirl10_hengge2.motion3.json",
"Sound": "voice/108272852.ogg"
}
],
"Tapleft_oppai": [
{
"Name": "haixiu",
"File": "motions/Mgirl10_haixiu.motion3.json"
},
{
"Name": "haixiu_a.motion3.json",
"File": "motions/Mgirl10_haixiu_a.motion3.json"
},
{
"File": "motions/Mgirl10_dianbanshou.motion3.json"
}
],
"Tapright_oppai": [
{
"Name": "stand_c",
"File": "motions/Mgirl10_stand_c.motion3.json"
},
{
"File": "motions/Mgirl10_jingya.motion3.json"
},
{
"File": "motions/Mgirl10_jingxi_a.motion3.json"
},
{
"File": "motions/Mgirl10_banshoucihou2.motion3.json"
}
],
"Tapskirt": [
{
"Name": "xianqunzi",
"File": "motions/Mgirl10_xianqunzi.motion3.json",
"Sound": "voice/988200358.ogg",
"Priority": 4
},
{
"Name": "zhamao_c",
"File": "motions/Mgirl10_zhamao_c.motion3.json"
},
{
"Name": "shengqi_c",
"File": "motions/Mgirl10_shengqi_c.motion3.json"
},
{
"Name": "banshoucihou",
"File": "motions/Mgirl10_dianbanshou.motion3.json"
},
{
"Name": "banshoucihou2",
"File": "motions/Mgirl10_banshoucihou2.motion3.json"
}
],
"Taplip": [
{
"Name": "qiuqinqin_a",
"File": "motions/Mgirl10_qiuqinqin_a.motion3.json"
},
{
"Name": "qiuqinqin",
"File": "motions/Mgirl10_qiuqinqin.motion3.json"
},
{
"Name": "keai",
"File": "motions/Mgirl10_keai.motion3.json"
},
{
"Name": "haixiu",
"File": "motions/Mgirl10_haixiu.motion3.json"
}
],
"Start": [
{
"Name": "ganxie",
"File": "motions/Mgirl10_ganxie.motion3.json",
"Sound": "voice/401411406.ogg"
}
],
"Shake": [
{
"File": "motions/Mgirl10_jingya.motion3.json"
}
],
"Tap": [
{
"File": "motions/Mgirl10_buchile.motion3.json"
},
{
"File": "motions/Mgirl10_chijitui.motion3.json"
},
{
"File": "motions/Mgirl10_chijitui_a.motion3.json"
},
{
"File": "motions/Mgirl10_banshoucihou2.motion3.json"
},
{
"File": "motions/Mgirl10_dianbanshou.motion3.json"
},
{
"File": "motions/Mgirl10_dianbanshou_a.motion3.json"
}
]
}
},
"Controllers": {
"ParamHit": {
"Items": [
{
"Name": "skirt_1",
"Id": "PARAM_XIANQUNZI_1",
"HitArea": "skirt3",
"Axis": 1,
"Factor": -0.07,
"Release": 300,
"ReleaseType": 0,
"EndMtn": "Tapskirt:xianqunzi"
},
{
"Name": "skirt_2",
"Id": "PARAM_XIANQUNZI_2",
"HitArea": "skirt",
"Axis": 1,
"Factor": -0.07,
"Release": 300,
"ReleaseType": 1,
"BeginMtn": "Tapleft_oppai:haixiu",
"EndMtn": "Tapskirt:banshoucihou"
},
{
"Name": "skirt_3",
"Id": "PARAM_XIANQUNZI_1",
"HitArea": "skirt",
"Axis": 1,
"Factor": -0.07,
"ReleaseType": 0,
"EndMtn": "Tapskirt:banshoucihou2"
},
{
"Name": "head",
"Id": "PARAM_ANGLE_Y",
"HitArea": "head",
"Axis": 1,
"Factor": 0.1,
"ReleaseType": 0,
"Type": 1,
"MinMtn": "Taphead:motouweixiao_a.motion3.json",
"BeginMtn": "Taphead:motouxiao",
"EndMtn": "Taphead:jingya"
}
],
"Enabled": true
},
"ParamLoop": {},
"KeyTrigger": {
"Items": [
{
"Input": 81,
"DownMtn": "Taplip:qiuqinqin",
"UpMtn": "Tapleft_oppai:haixiu"
}
],
"Enabled": true
},
"EyeBlink": {
"MinInterval": 500,
"MaxInterval": 6000,
"Enabled": true
},
"LipSync": {
"Gain": 5.0,
"Enabled": true
},
"MouseTracking": {
"SmoothTime": 0.15,
"Enabled": true
},
"AutoBreath": {
"Enabled": true
},
"ExtraMotion": {
"Enabled": true
},
"Accelerometer": {
"Enabled": true
},
"Microphone": {},
"Transform": {},
"FaceTracking": {
"Enabled": true
},
"ParamValue": {},
"PartOpacity": {},
"ArtmeshOpacity": {},
"ArtmeshColor": {},
"ArtmeshCulling": {
"DefaultMode": 0
},
"IntimacySystem": {}
},
"HitAreas": [
{
"Name": "head",
"Id": "D_PSD2_139"
},
{
"Name": "left_hand",
"Id": "D_PSD2_15"
},
{
"Name": "right_hand",
"Id": "D_PSD_129"
},
{
"Name": "left_oppai",
"Id": "D_PSD2_21"
},
{
"Name": "right_oppai",
"Id": "D_PSD2_20"
},
{
"Name": "skirt",
"Id": "D_PSD_53"
},
{
"Name": "lip",
"Id": "D_PSD3_121"
},
{
"Name": "skirt2",
"Id": "D_PSD_54"
},
{
"Name": "skirt3",
"Id": "D_PSD_72"
}
],
"Options": {
"ScaleFactor": 1.5,
"AnisoLevel": 3
}
}