forked from Eikanya/eikanya.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
329 lines (156 loc) · 82 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>unity游戏插件去码</title>
<link href="/post/unity-plugins/"/>
<url>/post/unity-plugins/</url>
<content type="html"><![CDATA[<p>参考插件: </p><ul><li><a href="https://github.com/ManlyMarco/UniversalUnityDemosaics" target="_blank" rel="noopener">UniversalUnityDemosaics</a> </li><li><a href="https://github.com/BepInEx/BepInEx/releases" target="_blank" rel="noopener">BepInEx</a></li></ul><h2 id="UniversalUnityDemosaics"><a href="#UniversalUnityDemosaics" class="headerlink" title="UniversalUnityDemosaics"></a>UniversalUnityDemosaics</h2><p>通过<code>BepInEx</code>插件注入<code>unity</code>游戏,禁用或删除加载<code>mosaic</code>的方法或材质。不需要手动去修改<code>assets</code>文件,手动修改可以查看我之前写的文章。 </p><p>一般来说是unity都支持去码,能加载<code>BepInEx</code>插件的话。</p><h3 id="DumbRendererDemosaic"><a href="#DumbRendererDemosaic" class="headerlink" title="DumbRendererDemosaic"></a>DumbRendererDemosaic</h3><p>查看源码可知道是查找有<code>mosaic</code>字段名的<code>material</code>和<code>shader</code>文件,然后设置为空值或不启用。使用大部分游戏,应该第一个加载尝试。</p><h3 id="CombinedMeshDemosaic"><a href="#CombinedMeshDemosaic" class="headerlink" title="CombinedMeshDemosaic"></a>CombinedMeshDemosaic</h3><p>是<code>DumbRendererDemosaic</code>的升级版,查找有<code>mosaic</code>字段名<code>mesh</code>材质文件,清除渲染颜色,可与<code>DumbRendererDemosaic</code>一起使用。</p><h3 id="MaterialReplaceDemosaic"><a href="#MaterialReplaceDemosaic" class="headerlink" title="MaterialReplaceDemosaic"></a>MaterialReplaceDemosaic</h3><p>是<code>DumbRendererDemosaic</code>的升级版,替换<code>_unlitMaterial</code>,适用于<code>live2d</code>游戏去码。前提是<code>live2d</code>不是在图片<code>Texture</code>里打码。</p><h3 id="DumbTypeDemosaic"><a href="#DumbTypeDemosaic" class="headerlink" title="DumbTypeDemosaic"></a>DumbTypeDemosaic</h3><p>用于检查游戏代码中可能的<code>mosaic</code>方法并将其禁用,应该将<code>Assembly-CSharp.dll</code>里有<code>mosaic</code>的方法禁用。</p><h3 id="CubismRendererDisableDemosaic"><a href="#CubismRendererDisableDemosaic" class="headerlink" title="CubismRendererDisableDemosaic"></a>CubismRendererDisableDemosaic</h3><p>适用于<code>CubismModel</code>框架的游戏,应该是<code>live2d model3</code>的游戏</p><h2 id="使用方法"><a href="#使用方法" class="headerlink" title="使用方法"></a>使用方法</h2><ol><li>加载<code>BepInEx</code>,首先查看游戏是64位还是32位,可以从任务管理器中查看。把<code>BepInEx</code>复制在执行<code>unity</code>游戏目录上,运行游戏。</li><li>如果游戏加载成功加载插件,会在<code>BepInEx</code>文件夹生成<code>config</code>,<code>plugins</code>等文件夹,如果没有新文件夹,可以不支持此游戏,或者不是对应的系统版本。<a href="https://bepinex.github.io/bepinex_docs/master/articles/user_guide/installation/index.html?tabs=tabid-win" target="_blank" rel="noopener">帮助文档</a></li><li>在<code>config/BepInEx.cfg</code>修改配置<code>Logging.Console.Enabled = true</code>打开控制台,查看<code>BepInEx</code>是否正确加载,可以尝试更改入口点<a href="https://bepinex.github.io/bepinex_docs/master/articles/user_guide/troubleshooting.html" target="_blank" rel="noopener">Change the entrypoint</a></li><li>加载<code>UniversalUnityDemosaics</code>插件,将<code>DumbRendererDemosaic.dll</code>复制到<code>BepInEx/plugins</code>文件夹中,打开游戏,查看是否正常去码,不行就把<code>CombinedMeshDemosaic.dll</code>复制进去。</li><li>加载插件时可以看看<code>控制台</code>信息,<code>UniversalUnityDemosaics</code>插件不需要全部复制进去,可能会冲突。</li></ol><h2 id="测试游戏"><a href="#测试游戏" class="headerlink" title="测试游戏"></a>测试游戏</h2><h3 id="生殖活動記録"><a href="#生殖活動記録" class="headerlink" title="生殖活動記録"></a>生殖活動記録</h3><p>可以加载<code>BepInEx</code>,复制<code>CombinedMeshDemosaic.dll</code>和<code>DumbRendererDemosaic.dll</code>成功去码。</p><h3 id="「結」~忘れられた少女~"><a href="#「結」~忘れられた少女~" class="headerlink" title="「結」~忘れられた少女~"></a>「結」~忘れられた少女~</h3><p>可以加载<code>BepInEx</code>,复制<code>CombinedMeshDemosaic.dll</code>和<code>DumbRendererDemosaic.dll</code>成功去码。</p><h3 id="JKが冒険者を目指すが異世界はレイプ合法だった"><a href="#JKが冒険者を目指すが異世界はレイプ合法だった" class="headerlink" title="JKが冒険者を目指すが異世界はレイプ合法だった"></a>JKが冒険者を目指すが異世界はレイプ合法だった</h3><p>复制<code>BepInEx</code>游戏打不开,失败。</p>]]></content>
<tags>
<tag> unity </tag>
</tags>
</entry>
<entry>
<title>SVP4补帧和MeGUI输出视频</title>
<link href="/post/SVP%E6%8F%92%E5%B8%A7MeGUI%E8%BE%93%E5%85%A5%E8%A7%86%E9%A2%91/"/>
<url>/post/SVP%E6%8F%92%E5%B8%A7MeGUI%E8%BE%93%E5%85%A5%E8%A7%86%E9%A2%91/</url>
<content type="html"><![CDATA[<h1 id="SVP4补帧和MeGUI输出补帧后的视频"><a href="#SVP4补帧和MeGUI输出补帧后的视频" class="headerlink" title="SVP4补帧和MeGUI输出补帧后的视频"></a>SVP4补帧和MeGUI输出补帧后的视频</h1><p>SVP4补帧效果不错,SVP4补帧时会输入一个AVS脚本,可以使用这个AVS脚本用MeGUI压制输入补帧后的视频。MeGUI需要注意是32位还是64位,版本不同MeGUI打不开avs。<br>还可以配合<a href="https://github.com/AaronFeng753/Waifu2x-Extension-GUI" target="_blank" rel="noopener">Waifu2x-Extension-GUI</a> 或者<a href="https://github.com/k4yt3x/video2x" target="_blank" rel="noopener">video2x</a>拉伸视频到4k.</p><h2 id="准备软件"><a href="#准备软件" class="headerlink" title="准备软件"></a>准备软件</h2><p>SVP4<br>MeGUI<br>Potplayer</p><h2 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h2><ol><li>导出脚本<br>首先运行SVP4,设置好补帧是60帧还是120帧。注意你的播放器是32位还是64位,SVP4会选择相应的插件,SVP4文件夹有<code>plugins</code>和<code>plugins64</code>。<br>或者下载<a href="http://avisynth.nl/index.php/SVPflow#Archived_Downloads" target="_blank" rel="noopener">svpflow</a>, 注意最新版本需要SVP运行才能工作。<br>方法1:简便操作,桌面右下角SVP4图标右键,打开文件,选择你需要补帧的视频。<br>方法2:设置potplayer滤镜使用<code>ffdshow raw video filter</code>,需下载ffdshow。或者在SVP4设置中<code>setup-player</code>的值设置<code>potplayer</code>的路径,安装svp4会有提示安装MPC播放器,是默认路径。</li></ol><p>avs脚本位置在<code>SVP4</code>设置<code>workpath</code>中的值。默认为<code>C:\Users\username\AppData\Roaming\SVP4\scripts</code>,复制修改时间最新的脚本文件出来。</p><ol start="2"><li>编辑脚本</li></ol><ul><li><code>LoadPlugin()</code>,可以修改<code>svpflow1.dll</code>和<code>svpflow2.dll</code>SVP4插件的版本,对应MeGUI的版本。</li><li><code>ffdshow_source()</code>修改为<code>LWLibavVideoSource("视频文件路径.mp4")</code></li></ul><ol start="3"><li>MeGUI压制</li></ol><ul><li>视频编码(Video encoding)<br>拖动<code>avs</code>脚本到<code>MeGUI</code>的视频编码中,可以预览视频有没有花屏等问题,如果有,是脚本编辑问题,需重新导出编辑avs脚本。然后加入队列(Queue)<ul><li>音轨(Audio encoding)<br>输出的视频是没有音频,需要从原视频里添加音频,等于FFmepg封装音轨。<br>点击队列选项卡(Queue),点击开始(start),MeGUI开始压制视频。</li></ul></li></ul><ol start="4"><li>输出的视频帧率可能有差异,<code>工具-混流器-自适应混流器</code>调整帧率。设置和视频文件,帧率,音频,字幕,然后加入队列。</li><li>特效字幕<br>特效字幕需要avs脚本压制.<br>压制特效字幕 avs:</li></ol><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">LoadPlugin("LSMASHSource.dll")</span><br><span class="line">LoadPlugin("VSFilter.dll")</span><br><span class="line">LSMASHVideoSource("xxx.mp4")</span><br><span class="line">ConvertToYV12()</span><br><span class="line">TextSub("xxx.ass")</span><br></pre></td></tr></table></figure><p>MeGUI内含插件dll,如果读取错误请设置绝对路径<br><code>LSMASHSource.DLL</code>在MeGUI文件夹<code>\tools\lsmash</code>中,<br><code>VSFilter.DLL</code>在MeGUI文件夹<code>\tools\avisynth_plugin</code>中。</p><hr><h2 id="测试"><a href="#测试" class="headerlink" title="测试"></a>测试</h2><p>我已经整理好了所需文件和插件,只需要<code>avs</code>设置视频位置,使用MeGUI输出视频,<code>avs</code>是配置是<code>动画</code> <code>120帧</code> <code>伪影去除:高</code>。<br><code>MeGUI</code>是x64版本,默认配置是x64。<br>视频输出的效果可能不好,建议<code>avs</code>脚本还是自己用<code>SVP</code>加载视频后导出。<br><a href="https://mea.tsundere.best/d/jL2EQ2BM/q/Public" target="_blank" rel="noopener">下载</a></p><hr><p>参考<br><a href="https://www.cnswiz.com/391.html" target="_blank" rel="noopener">使用SVP4和MeGUI补帧并输入视频文件</a><br><a href="http://avisynth.nl/index.php/SVPflow#Archived_Downloads" target="_blank" rel="noopener">svpflow</a></p>]]></content>
<tags>
<tag> SVP4 </tag>
</tags>
</entry>
<entry>
<title>live2DViewerEX配置</title>
<link href="/post/liv2DViewerEX%E9%85%8D%E7%BD%AE/"/>
<url>/post/liv2DViewerEX%E9%85%8D%E7%BD%AE/</url>
<content type="html"><![CDATA[<h1 id="Live2DViewerEX模型配置"><a href="#Live2DViewerEX模型配置" class="headerlink" title="Live2DViewerEX模型配置"></a><code>Live2DViewerEX</code>模型配置</h1><p>以双生视界,无忧-群青之翼为例,刚好抽到,可以作为参考动作和语音。</p><h2 id="加载模型"><a href="#加载模型" class="headerlink" title="加载模型"></a>加载模型</h2><p><code>live2DViewerEX</code>-<code>EX工作室</code>-<code>Live2D编辑器</code>-<code>选择模型文件夹</code>,点击<code>model3.json</code>加载模型<br><img src="/" class="lazyload" data-src="/img/post14_1.png" alt="加载模型">))</p><h1 id="配置点击区域"><a href="#配置点击区域" class="headerlink" title="配置点击区域"></a>配置<code>点击区域</code></h1><ol><li><p>一般要配置区域为<code>头</code>,<code>手</code>,<code>胸</code>,<code>腰</code>,<code>腿</code>等部位。<br>点击<code>网格</code>选项卡,勾选<code>自由选择</code>,然后点击头部,在第一行还左拖到透明度,如果觉得部位合适就选择。记录部位参数。<br><img src="/" class="lazyload" data-src="/img/post14_2.png" alt="点击区域"></p></li><li><p>一般选择部位的绿框尽量小,不然点击很其他部位重复,会冲突,设置动作优先度可以解决。以为是我的<code>点击区域</code>参数,仅供参考</p></li></ol><ul><li>D_PSD2_139 头部</li><li>D_PSD2_21 左胸</li><li>D_PSD2_20 右胸</li><li>D_PSD2_129 右手</li><li>D_PSD2_15 左手</li><li>D_PSD_53 54 裙子</li><li>D_PSD3_121 嘴<br>!点击区域配置](/img/post14_3.jpg)</li></ul><h1 id="配置动作"><a href="#配置动作" class="headerlink" title="配置动作"></a>配置<code>动作</code></h1><p>选择<code>动作</code>,添加动作组</p><ul><li>Idle 待机动作</li><li>Tap 点击动作</li><li>TapArea 点击区域的动作</li><li>Start 读取模型时的动作</li><li>Shake 摇动动作(适用于手机)</li><li>Tick 每分钟播放一次动作</li></ul><p>动作组的动作按照自己喜欢的配置,不一定全部动作配置完。<br><img src="/" class="lazyload" data-src="/img/post14_4.jpg" alt="动作组"></p><h1 id="配置参数拖拽-掀裙子"><a href="#配置参数拖拽-掀裙子" class="headerlink" title="配置参数拖拽(掀裙子)"></a>配置<code>参数拖拽</code><del>(掀裙子)</del></h1><p><code>控制器</code>-勾选<code>参数拖拽</code><br><code>ID</code>选择<code>PARAM_XIANQUNZI_1</code>和<code>PARAM_XIANQUNZI_2</code>,可以在<code>参数</code>中左右拖到查看你想要的<code>ID</code>。<br><code>点击区域</code>选择你配置的<code>点击区域</code>,我的是<code>skirt</code>,<code>ID</code>是<code>D_PSD_53</code><br><code>类型</code>选择<code>拖拽</code><br><code>坐标轴</code>选择<code>Y</code><br><code>因子</code>-<code>0.07</code> (建议自己测试)<br>下面的选项根据需要填写<br>如果选择动作时没有动作选择,需要在<code>动作</code>中为<code>动作组</code>的<code>动作</code>命名<br><img src="/" class="lazyload" data-src="/img/post14_4.jpg" alt="参数拖拽"></p><h1 id="配置语音"><a href="#配置语音" class="headerlink" title="配置语音"></a>配置<code>语音</code></h1><p>语音包比较乱比较难找,采取<code>Fiddle</code>抓包找到语音地址,把游戏文件夹<code>File</code>里的<code>version.zip</code>移动出来重新下载游戏数据,找到<a href="https://cdn-cafe.marv-games.jp/10102/Android/V550/Bundles/wwisedata/english(us)/vo_normal_girl_10.u" target="_blank" rel="noopener">vo_normal_girl_10.u</a>的<code>url</code>地址。换回西山居代理了,直连延迟低了点。 </p><ul><li>语音文件是下载在<code>wwisedata</code>里解压后放到<code>AutoAudio</code>文件夹里,没有打包好的语音很难找,所以抓取还没解压的文件。</li><li>详细提取语音步骤请参考我写的<code>少女咖啡枪 live2d提取</code></li></ul><p><strong>提取语音步骤</strong> </p><ol><li><p>把游戏文件夹<code>File</code>里的<code>version.zip</code>移动出来,重上游戏下载数据<code>Fildder</code>抓包。</p></li><li><p>找到地址后主要是下载<code>vo_normal_girl_12.u</code>文件,<code>normal</code>代表日常,<code>12</code>代表角色编号,在换装可以看到顺序号。’vo_story_girl_12’表示故事线的语音,看看文件名都能知道.注意:请求文件的文件名是小写</p></li><li><p>用<code>AssetStudio</code>解包语音文件,全部提取出来,用<code>Advanced Renamer</code>把<code>txt</code>后缀批量删除,<code>wem</code>后缀才是正确的。</p></li><li><p><code>bnk</code>文件用<code>bnkextr</code>提取,出来文件后缀是<code>wem</code>。如果提取不出来说明这文件不需要的。</p></li><li><p>用<code>revorb.bat</code>批量把<code>.wem</code>文件转换成<code>.ogg</code>音频,在修正’.ogg’音频文件。</p></li></ol><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line"></span><br><span class="line">for %%f in (*.wem) do ww2ogg.exe %%f --pcb packed_codebooks_aoTuV_603.bin</span><br><span class="line"></span><br><span class="line">pause </span><br><span class="line"></span><br><span class="line">for %%f in (*.ogg) do revorb.exe %%f </span><br><span class="line"></span><br><span class="line">pause</span><br></pre></td></tr></table></figure><ol start="6"><li>删除多余的<code>.wem</code>文件,根目录<code>delwem.bat</code>。 </li></ol><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line"></span><br><span class="line">del *.wem</span><br></pre></td></tr></table></figure><p>在<code>动作</code>中添加<code>声音</code>,<code>vo_normal_girl_12.u</code>提取的全部的语音,按需要添加就行了。<br><img src="/" class="lazyload" data-src="/img/post14_6.jpg" alt="语音配置"></p><hr><p><a href="https://tsundere.best/assets/724upd__l2d_371.u.zip" target="_blank" rel="noopener">模型文件下载</a></p><details><summary>配置文件`model3.json`参考(点击展开)</summary> <pre><code>{ "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 }}</pre></code></details>]]></content>
<tags>
<tag> live2d </tag>
<tag> live2d配置 </tag>
<tag> 双生视界 </tag>
</tags>
</entry>
<entry>
<title>spine模型预览</title>
<link href="/post/spine%E9%A2%84%E8%A7%88/"/>
<url>/post/spine%E9%A2%84%E8%A7%88/</url>
<content type="html"><![CDATA[<h1 id="spine"><a href="#spine" class="headerlink" title="spine"></a>spine</h1><p>spine简介和导入uniy预览可以看我另一篇文章<code>spine配置</code>和<code>spine动画提取</code></p><h1 id="准备软件"><a href="#准备软件" class="headerlink" title="准备软件"></a>准备软件</h1><p><code>AssetStudio</code><br><code>Advanced Renamer</code><br><code>live2DViewerEX</code></p><h1 id="spine提取"><a href="#spine提取" class="headerlink" title="spine提取"></a>spine提取</h1><ol><li>以提取碧蓝航线为例,在<code>chara</code>文件夹里,<code>AssetStudio</code>打开<code>spine</code>文件夹. </li><li>选择<code>Flter Type</code>-<code>TextAsset</code>和<code>Texture2D</code>勾选。然后,<code>Export</code>-<code>Flter assets</code><br><img src="/" class="lazyload" data-src="/img/spine1.png" alt="AssetStudio"></li><li>将前缀同名文件合并在同一文件夹上,</li></ol><p><strong>skel格式结构</strong><br><code>skeleton.skel</code><br><code>skeleton.json</code><br><code>skeleton.png</code></p><p>使用<code>.bat</code>命令,在文件夹里新建一个名为<code>*.bat</code>后缀文件,复制下面代码。</p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">@echo off</span><br><span class="line">setlocal</span><br><span class="line"></span><br><span class="line">set "basename=."</span><br><span class="line">for /F "tokens=1* delims=." %%a in ('dir /B /A-D ^| sort /R') do (</span><br><span class="line"> set "filename=%%a"</span><br><span class="line"> setlocal EnableDelayedExpansion</span><br><span class="line"> for /F "delims=" %%c in ("!basename!") do if "!filename:%%c=!" equ "!filename!" (</span><br><span class="line"> set "basename=!filename!"</span><br><span class="line"> md "!basename!"</span><br><span class="line"> )</span><br><span class="line"> move "!filename!.%%b" "!basename!"</span><br><span class="line"> for /F "delims=" %%c in ("!basename!") do (</span><br><span class="line"> endlocal</span><br><span class="line"> set "basename=%%c</span><br><span class="line"> )</span><br><span class="line">)</span><br></pre></td></tr></table></figure><ol start="4"><li>删除<code>.txt</code>后缀。<code>Advanced Renamer</code>导入所有含有<code>txt</code>的文件<code>*txt*</code>.选择删除字符,应用到扩展名.<br><img src="/" class="lazyload" data-src="/img/spine2.png" alt="Advanced Renamer"></li><li>预览spine模型。打开<code>live2DViewerEX</code> -EX工作室,spine编辑器(需购买插件)。创建配置文件,骨架选择<code>.skel</code>,纹理图集选择<code>.altas</code>,勾选贴图。<br><img src="/" class="lazyload" data-src="/img/spine3.png" alt="live2DViewerEX"></li><li>如果模型有白边,配置文件-选项-着色器选择<code>Skeleton-Straight-Alpha</code></li></ol><hr><p>spine模型:<a href="https://github.com/Eikanya/spine-models" target="_blank" rel="noopener">github</a></p>]]></content>
<tags>
<tag> spine </tag>
</tags>
</entry>
<entry>
<title>spine动画提取</title>
<link href="/post/spine%E5%8A%A8%E7%94%BB%E6%8F%90%E5%8F%96/"/>
<url>/post/spine%E5%8A%A8%E7%94%BB%E6%8F%90%E5%8F%96/</url>
<content type="html"><![CDATA[<p>** spine配置可以参考前面写的<code>spine配置</code>还有后面的<code>spine</code>预览文章 **</p><h1 id="spine动画提取方法"><a href="#spine动画提取方法" class="headerlink" title="spine动画提取方法"></a>spine动画提取方法</h1><h2 id="魔界でメイド-悪魔と天使と勇者の秘密の喫茶店"><a href="#魔界でメイド-悪魔と天使と勇者の秘密の喫茶店" class="headerlink" title="魔界でメイド~悪魔と天使と勇者の秘密の喫茶店"></a>魔界でメイド~悪魔と天使と勇者の秘密の喫茶店</h2><p><code>[黒糖梅干] ~魔界でメイド~悪魔と天使と勇者の秘密の喫茶店</code>spine动画质量不错,spine动画提取的方法也很简单,把<code>atlas</code>,<code>PNG</code>,<code>skel</code>3个文件提取出来就行了。</p><ol><li><code>AssetStdio</code>加载游戏文件夹,搜索<code>atlas</code>。</li><li>选择一个<code>atlas</code>右键<code>Show original file</code>,然后用<code>AssetStdio</code>加载<code>resources.assets</code>。</li><li><code>Filter Type</code>勾选<code>Texture2D</code>和<code>TestAssets</code>,<code>Export-Filter assets</code>。把没用的文件删除。</li><li><code>skel</code>的配置文件打开是<code>json</code>格式,把<code>txt</code>后缀改名为<code>json</code>后缀,或者是<code>json.txt</code>。</li></ol><h3 id="spine动画播放"><a href="#spine动画播放" class="headerlink" title="spine动画播放"></a>spine动画播放</h3><p>播放可以用<a href="http://zh.esotericsoftware.com/spine-skeleton-viewer" target="_blank" rel="noopener">skeletonViewer</a>播放, 下载对应spine版本,比如这个<code>spine</code>版本<code>3.8.70</code>,那就下载<a href="http://zh.esotericsoftware.com/files/skeletonViewer.jar" target="_blank" rel="noopener">Skeleton Viewer, v3.8.94</a>。<br>打开<code>skeletonViewer</code>,<code>open</code>选择<code>json</code>后缀的配置文件,就能播放了。<code>atlas</code>,<code>PNG</code>名字要相同。</p><p>控制台命令:<br><code>java -jar skeletonViewer.jar</code><br><code>java -jar skeletonViewer.jar path\to\skeleton.json</code></p><p>显示不正常查看配置文件<code>atlas</code>,<code>json</code>,<code>png</code>是否完整。</p><h2 id="Black-Market"><a href="#Black-Market" class="headerlink" title="Black Market"></a>Black Market</h2><p><code>Black Market</code>动画也是<code>spine</code>格式,提取方法也会上面的差不多。播放用<code>Skeleton Viewer, v3.8.94</code>打开不正常,<code>Altlas alpha</code>问题吧,图层的透明通道识别不好。另一个播放方式是<code>unity</code>导入项目播放,<code>unity</code>兼容性高,大部分版本都能播放。<a href="http://zh.esotericsoftware.com/spine-unity-download" target="_blank" rel="noopener">spine-unity</a> 下载这个插件。</p><ol><li><code>unity</code>新建一个项目,<code>Assets-import Package</code>导入<code>spine-unity-3.8-2020-05-07.unitypackage</code>。</li><li>改后缀名<code>atlas</code>为<code>atlas.txt</code>,<code>skel</code>为<code>skel.bytes</code>,<code>json</code>文件能识别,就不用改了,图片不需要改。比如<code>little_01.png</code>,<code>little_01.json</code>,<code>little_01.atlas.txt</code>,<code>little_012.png</code>。</li><li>如果打开图片不正常,看看<code>Console</code>输出什么错误。或者看看<code>atlas</code>,有没有缺少贴图。例如<code>little_01.atlas.txt</code>,上面有<code>little_01.png</code>,最下面有<code>little_012.png</code>,需要2张贴图。</li><li>把生成的<code>assets</code>拖到播放面板上,可以选择<code>SkeletonAnimation</code>。或者在左边面板<code>SampleScene</code>右键<code>Spine</code>选择。</li><li>模型显示有白边或者显示不正常,应该是贴图的透明图层没勾选。点击模型,右边找到贴图位置<code>little_01_little_01</code>,勾选<code>Straight Alpha Texture</code>,这样模型就显示正常了。</li><li>点击面板<code>Game</code>,看不到模型的话,需要设置好<code>Camera</code>位置,调整好位置就可以了。</li></ol>]]></content>
<tags>
<tag> spine </tag>
</tags>
</entry>
<entry>
<title>spine配置</title>
<link href="/post/spine/"/>
<url>/post/spine/</url>
<content type="html"><![CDATA[<p>** spine提取和预览参考后面写的<code>spine配置</code>和<code>spine动画提取</code>文章 **</p><h1 id="spine"><a href="#spine" class="headerlink" title="spine"></a>spine</h1><p>spine也是live2d技术的一种,spine一般用于手游角色立绘,unity游戏角色立绘CG图也有。碧蓝航线,少女前期的小人使用spine技术。个人觉得spine制作比live2d制作简单点,只支持动画播放,交互不丰富,各有各的优点吧。spine查看建议使用unity导入去看,虽然比较麻烦,但是大部分能正常打开。也可以使用spine官方的软件<code>skeletonViewer</code>查看,版本的兼容性不太好,不同版本的不能打开。</p><h2 id="spine文件结构"><a href="#spine文件结构" class="headerlink" title="spine文件结构"></a>spine文件结构</h2><p>spine文件结构有2种类型,一种<code>json</code>格式,另一种是<code>skel</code>格式。</p><p><strong>json格式结构</strong><br><code>skeleton.json</code><br><code>skeleton.atlas</code><br><code>skeleton.png</code></p><p><strong>skel格式结构</strong><br><code>skeleton.skel</code><br><code>skeleton.atlas</code><br><code>skeleton.png</code></p><p><code>json</code>和<code>skel</code>是spine的<code>骨架</code>,<code>atlas</code>是<code>纹理图集</code>,<code>png</code>是spine贴图文件。用<code>skeletonViewer</code>选择<code>json</code>或<code>skel</code>文件能查看spine动画,如果不能打开,换个版本。文本编辑器打开<code>jspn</code>配置文件找到<code>spine</code>就是版本号了<code>"spine": "3.8.76"</code>。打开<code>skel</code>看第一行的数字,比如<code>3.6.52</code>,就是spine的版本了。<a href="http://zh.esotericsoftware.com/spine-skeleton-viewer" target="_blank" rel="noopener">spine-skeleton-viewer官网</a></p><h2 id="spine-unity"><a href="#spine-unity" class="headerlink" title="spine-unity"></a>spine-unity</h2><p><a href="http://zh.esotericsoftware.com/spine-unity-download" target="_blank" rel="noopener">spine-unity</a> 是spine在unity的一个插件,对spine的兼容性很好,毕竟游戏都是用unity做的。建议把3.6,3.7,3.8版本都下载下来,需要对应的版本加载。加载spine前需要改一下配置文件的后缀。</p><ul><li><code>skeleton.skel</code>改为<code>skeleton.skel.bytes</code></li><li><code>skeleton.atlas</code>改为<code>skeleton.atlas.txt</code></li></ul><p>unity导入<code>spine-unity</code>,然后把改名好的3个文件拖入到unity的资源里面,把生成的立绘移动上界面,然后配置播放动作,点击播放动画就能看了。</p>]]></content>
<tags>
<tag> spine </tag>
</tags>
</entry>
<entry>
<title>Princess Harem</title>
<link href="/post/PrincessHarem/"/>
<url>/post/PrincessHarem/</url>
<content type="html"><![CDATA[<h2 id="Princess-Harem"><a href="#Princess-Harem" class="headerlink" title="Princess Harem"></a><a href="https://www.dlsite.com/maniax/work/=/product_id/RJ280657.html" target="_blank" rel="noopener">Princess Harem</a></h2><p>プリンセスハーレム(Princess Harem)游戏的Live2d动作社保,质量也挺好。去马赛克只要把<code>sharedassets1.assets</code>里面的<code>Live2d Cubism_Unlit_Mosaic</code>和<code>Live2d Cubism_Unlit_Mosaic Masked</code>文件删除,用<code>AssetsBundleExtractor</code>操作。这个社团之前的作品也有live2d,质量还行,社保就对了。看了<code>texture</code>感觉游戏还有完全制作好,还有些live2d互动没有加进去。然而可以自己提取出来用<code>Live2dViewEX</code>适配后,放在桌面玩。先说一下提取方法:</p><hr><p>准备工具<br><code>UnityLive2DExtractor-1.0.2</code><br><code>AssetStudio</code><br><code>AssetsBundleExtractor</code><br><code>Advanced Renamer</code><br><code>Live2dViewerEX</code></p><ol><li>用<code>AssetStudio</code>加载游戏文件夹,搜索<code>texture</code>。</li><li>找到<code>texture</code>图片右键<code>Show original file</code>,显示<code>sharedassets1.assets</code>。</li><li>把<code>sharedassets1.assets</code>放在<code>UnityLive2DExtractor-1.0.2.exe</code>提取<code>moc3</code>。</li><li><code>AssetStudio</code>导出<code>texture_00</code>图片,放在live2d<code>textures</code>文件夹里面。用<code>Live2dViewerEX</code>工作室加载live2d文件夹,再<code>创建配置文件</code>,就能正常显示了。</li><li><code>sharedassets2.assets</code>里面含有2个模型,<code>UnityLive2DExtractor</code>一次只能提取一个<code>moc3</code>文件。自己会编译的可以跳过。</li><li>用<code>AssetsBundleExtractor</code>加载<code>sharedassets2.assets</code>,在<code>Type</code>找到<code>MonoBehaviour:Live2D.Cubism.Core.CubismMoc</code>,把对应的<code>Size</code>的<code>Assets</code>右下<code>Remove</code>。</li><li><code>File-Save</code>保存文件,换个名字,再放在游戏的文件夹中。用<code>UnityLive2DExtractor</code>提取,就能提取另一个<code>moc3</code>文件了。<code>sharedassets3.assets</code>也是这样提取。</li><li>提取<code>motion3</code>动作文件,在<code>AssetStudio</code>搜索<code>AssetStudio</code>,<code>Export-Filtered assets</code>,提取出来后<code>txt</code>后缀,用<code>Advanced Renamer</code>加载和过滤只剩<code>txt</code>的文件,替换后缀<code>txt</code>为<code>json</code>。其他带#的<code>motion3</code>文件好像对模型动作没有效果,在<code>Live2dViewerEX</code>不会动。<code>motion3</code>文件放进<code>motions</code>的文件夹。</li><li><code>texture</code>文件放进对应<code>texture</code>文件夹,如果有多张图片,在<code>Live2dViewerEX</code>试一下,模型加载正常就是这张图片了。</li><li>音频提取用<code>AssetStudio</code>,<code>Filter Type</code>选择<code>AudioCilp</code>,导出。</li></ol><hr><p>模型提取完了,可以在<code>Live2dViewerEX</code>配置模型了。配置之前先在<code>参数</code>,<code>部件</code>,<code>网格</code>里面左右拉拉,了解模型大概怎么设置的。比如<code>参数</code>中的<code>ParamUpCosD</code>拉大到<code>30</code>衣服会消失,在游戏是没有的,只能拉起一半。配置可以从衣服显示消失,触摸反馈,可以参考<code>Live2dViewerEX</code>说明文档怎么配置。我暂时先不配置,等有空了配置完在写一下。</p>]]></content>
<tags>
<tag> live2d </tag>
</tags>
</entry>
<entry>
<title>unity游戏去码</title>
<link href="/post/unity/"/>
<url>/post/unity/</url>
<content type="html"><![CDATA[<p>参考:<a href="https://f95zone.to/threads/how-to-uncensor-almost-any-unity-game.17914/" target="_blank" rel="noopener">how-to-uncensor-almost-any-unity-game</a> </p><p>其他游戏的游戏上传了<a href="https://github.com/Eikanya/game-patch" target="_blank" rel="noopener">github</a>, 有些游戏写了大概的方法,可以参考一下。</p><h1 id="记录unity游戏去码方法"><a href="#记录unity游戏去码方法" class="headerlink" title="记录unity游戏去码方法"></a>记录unity游戏去码方法</h1><p>一般是unity3d游戏可以去码,马赛克是动态就可以去码,去码的方法也不难,主要有修改<code>.assets</code>中定义mosaic的文件和编译<code>Assembly-CSharp</code>这2种方法。(如果是图片打码了,那就只能修改图片)。</p><p>内容会持续更新,仅记录我玩过的游戏,这样也是给自己做一下笔记吧。unity小黄油一般在dlsite发售。资源的话,复制名字,谷歌一下就有了。</p><p>** 常用工具 **<br><code>AssetsBundleExtractor</code><br><code>AssetStudio</code><br><code>dnSpy</code></p><h2 id="優艶の花-続-淫縛の館"><a href="#優艶の花-続-淫縛の館" class="headerlink" title="優艶の花 続 淫縛の館"></a>優艶の花 続 淫縛の館</h2><p><a href="https://www.dlsite.com/maniax/work/=/product_id/RJ283778.html" target="_blank" rel="noopener">[Double Soft Cream] 優艶の花 続 淫縛の館</a> ,这游戏质量还行,动态码太厚了,一般unity3d游戏都这样。<br>一般是先分析文件结构和内容,有<code>Assembly-CSharp.dll</code>就是unity制作的游戏了。用<code>AssetStudio</code>查看文件目录,发现加载不出来,<code>AssetStudio</code>对于文件格式加载不行。用<code>AssetsBundleExtractor</code>导出,发现文件有6G,里面打包很多<code>.assets</code>文件。修改<code>.assets</code>中的<code>mosaic</code>文件不是很理想。于是用<code>dnSpy</code>加载<code>Assembly-CSharp.dll</code>,搜索<code>mosaic</code>,搜索是数据,点击跳转到<code>Chara_Mosaic</code>的类,不了解方法的意思话就不要乱修改,只要把数值改小就行了。注意先备份<code>Assembly-CSharp.dll</code>,<code>右键-编译类</code>改成<code>0.001f</code>,然后<code>保持模块</code>。重上游戏就会方法马赛克很小,等于没了。如果打开是透明像素的说明改错了。说明分析过程,再说一下主要步骤<br><img src="/" class="lazyload" data-src="/img/unity1.png" alt="demo"></p><hr><p>主要步骤:</p><ol><li>备份<code>Assembly-CSharp.dll</code>, 用<code>dnSpy</code>加载<code>Assembly-CSharp.dll</code>文件。</li><li>搜索<code>mosaic</code>,搜索框点击结果跳转到类。</li><li><code>右键-编译类</code>,把<code>float</code>浮点数的数值改成<code>0.01f</code>。</li><li><code>编译</code>然后<code>文件-保持模块</code>。</li><li>Enjoy game!</li></ol><hr><h2 id="異世界娘発情中"><a href="#異世界娘発情中" class="headerlink" title="異世界娘発情中"></a>異世界娘発情中</h2><p>異世界娘発情中~俺のアレをハムハムしまくり!?~,这游戏这样几个live2d场景是动态码,用<code>AssetStudio</code>加载,搜索<code>mosaic</code>,找到<code>Live2d Cubism_Unlit_Mosaic</code>,记下<code>PathID</code>和<code>Size</code>的值。右键点击<code>show original file</code>,显示是<code>sharedassets2.assets</code>,<code>AssetBundleExtractor</code>打开,根据<code>PathID</code>和<code>Size</code>找个那个文件,然后<code>Remove</code>,保存<code>sharedassets2.assets</code>,再替换游戏的<code>sharedassets2.assets</code>文件。<br>同社团的游戏 異世界で俺はエロ経営のトップになる!方法也差不多吧。 <img src="/" class="lazyload" data-src="/img/unity2.png" alt="demo"></p><hr><p>主要步骤:</p><ol><li><code>AssetStudio</code>加载游戏文件夹,搜索<code>mosaic</code>。</li><li>找到<code>Live2d Cubism_Unlit_Mosaic</code>,记下<code>PathID</code>和<code>Size</code>的值。</li><li>用<code>AssetBundleExtractor</code>删除这个文件,保存再替换。</li><li>Enjoy game!</li></ol><hr><h2 id="Princess-Harem"><a href="#Princess-Harem" class="headerlink" title="Princess Harem"></a><a href="https://www.dlsite.com/maniax/work/=/product_id/RJ280657.html" target="_blank" rel="noopener">Princess Harem</a></h2><p>プリンセスハーレム(Princess Harem)游戏的Live2d动作很丰富,值得提取出来放在<code>Live2dviewerEX</code>再适配动作,还原游戏部分的动作,有时间会说一下怎么在<code>Live2dviewerEX</code>适配。用<code>AssetStudio</code>加载游戏目录看见<code>texture</code>是无码的,部分立绘图片也是无码。live2d游戏去码一般把<code>Live2d Cubism_Unlit_Mosaic``Shader</code>删除就行了。主要步骤 :</p><ol><li><code>AssetStudio</code>加载游戏文件夹,搜索<code>mosaic</code>。</li><li>找到<code>Live2d Cubism_Unlit_Mosaic</code>和<code>Live2d Cubism_Unlit_Mosaic Masked</code>,记下<code>PathID</code>和<code>Size</code>的值。</li><li>用<code>AssetBundleExtractor</code>删除这个文件,保存再替换。</li><li>Enjoy game!</li></ol><p>5.8</p><h2 id="BLACK-MARKET"><a href="#BLACK-MARKET" class="headerlink" title="BLACK-MARKET"></a>BLACK-MARKET</h2><p><a href="https://www.dlsite.com/maniax/work/=/product_id/RJ286256.html" target="_blank" rel="noopener">BLACK-MARKET</a> 经营类游戏,游戏不大,但可玩性高,详细看介绍吧。看了一下游戏,是使用动画类型<code>spine</code>,类似<code>live2d</code>的一种技术。图片没有打码,那就说明可以去码了。主要步骤:</p><ol><li><code>AssetStudio</code>加载游戏文件夹,搜索<code>mosaic</code>。</li><li>把含有<code>mosaic</code>字段的<code>Shader</code>类型,即<code>Ist_MosaicField</code>,记下<code>PathID</code>和<code>Size</code>的值。文件来源是<code>sharedassets0.assets</code>。</li><li>用 <code>AssetBundleExtractor</code>打开<code>sharedassets0.assets</code>,找到对应的<code>PathID 514</code>和<code>Size</code>的文件,选择<code>Export Dump</code>,导出后的文件是<code>unnamed asset-sharedassets0.assets-544-Shader.txt</code>。</li><li>有文件编辑器打开搜索名<code>0 float val = 15</code>,(即<code>0 SerializedShaderFloatValue colMask</code>下面的值)大概15行要改,全部替换<code>0 float val = 0</code>,。</li><li>返回<code>AssetBundleExtractor</code>,·<code>Import Dump</code>导入修改后的文件,保存<code>sharedassets0.assets</code>并导入游戏文件夹。</li><li>Have fun!</li></ol><p><code>Ist_MosaicField</code>的<code>Shader</code>文件不建议直接删除,少了<code>shder</code>着色器会让本来打码位置部分显示为紫色,没有着色的原因。</p><h2 id="Fuck-or-Fight-Girls-Arena"><a href="#Fuck-or-Fight-Girls-Arena" class="headerlink" title="Fuck or Fight Girls Arena"></a>Fuck or Fight <del>Girls Arena</del></h2><p><a href="https://www.dlsite.com/maniax/work/=/product_id/RJ302401.html" target="_blank" rel="noopener">Fuck or Fight <del>Girls Arena</del></a>。 去码同上面一样。</p><ol><li><code>AssetStudio</code>加载游戏文件夹,搜索<code>mosaic</code>。</li><li>把含有<code>mosaic</code>字段的<code>Shader</code>类型,即<code>Ist_MosaicField</code>,记下<code>PathID</code>。文件来源是<code>sharedassets2.assets</code>。</li><li>用 <code>AssetBundleExtractor</code>打开<code>sharedassets2.assets</code>,找到对应的文件,选择<code>Export Dump</code>。</li><li>有文件编辑器打开搜索名<code>0 float val = 15</code>,(即<code>0 SerializedShaderFloatValue colMask</code>下面的值)大概15行要改,全部替换<code>0 float val = 0</code>,保存。</li><li>返回<code>AssetBundleExtractor</code>,·<code>Import Dump</code>导入修改后的文件,保存<code>sharedassets0.assets</code>并导入游戏文件夹,注意先备份原文件。</li></ol>]]></content>
<tags>
<tag> unity </tag>
</tags>
</entry>
<entry>
<title>双生视界Live2D提取</title>
<link href="/post/%E5%8F%8C%E7%94%9F%E8%A7%86%E7%95%8C/"/>
<url>/post/%E5%8F%8C%E7%94%9F%E8%A7%86%E7%95%8C/</url>
<content type="html"><![CDATA[<p><strong>前言</strong><br>双生视界:少女咖啡枪(girl cafe gun)每个角色皮肤都有live2d,live2d提取也不难,都现有工具。之前提取过角色音频,音频文件命名很乱,不能很好的确定哪个是live2d的配音。前天在<code>Sacred Sword Princesses</code>用<code>Fidder</code>抓包拿到了文件地址。然后试试在少女咖啡枪上试试能不能发现些秘密。unity的安卓手游一般都采用<code>热更新</code>方法更新本地文件,服务器和本地都会产生一个文件记录文件名和MD5,按照这个思路就能找到之间需要的文件了。</p><p>首先用<code>Fiddle</code>抓包,少女咖啡枪日服启动,界面进游戏时,发现请求服务器<code>serverlist</code>和版本号<code>version</code>的请求,返回请求值,还有一个<code>notice.txt</code>请求,打开发现是加密了。找不到明显了热更新文件,然后看看游戏里面文件夹结构,发现有一个<code>file</code>文件夹下有<code>version.zip</code>和<code>remoteversion.zip</code>加密的压缩包,我猜应该是热更新对应的文件了,把这个个文件移出来,重上游戏。显示请更新数据,这时已经是猜对了,然后看<code>Fiddle</code>请求的文件名和地址。需要哪个就下哪个。主要是下载live2d角色的音频。<a href="https://cdn-cafe.marv-games.jp/10102/Android/V550/Bundles/wwisedata/english(us)/vo_normal_girl_12.u" target="_blank" rel="noopener">vo_normal_girl_12.u</a> 正是我找的伊珂丝的日常音频。<a href="https://cdn-cafe.marv-games.jp/10102/Android/V550/Bundles/wwisedata/l2d.u" target="_blank" rel="noopener">l2d.u</a>请求文件主要是小写。</p><hr><h1 id="少女咖啡枪-live2d提取"><a href="#少女咖啡枪-live2d提取" class="headerlink" title="少女咖啡枪 live2d提取"></a>少女咖啡枪 live2d提取</h1><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><code>AssetStudio</code><br><code>UnityLive2DExtractor+for+ガール・カフェ・ガン</code></p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><p><a href="https://www.perfare.net/1564.html" target="_blank" rel="noopener">参考</a> </p><ol><li>提取live2d文件,在<code>live2d</code>和<code>updata</code>文件夹里提取含有<code>live2d</code>名字的文件。</li><li>需要放在一个文件夹,拖到<code>UnityLive2DExtractor+for+ガール・カフェ・ガン</code>提取里live2d,是<code>moc3</code>模型,也不能配置了。</li></ol><hr><h1 id="语音提取"><a href="#语音提取" class="headerlink" title="语音提取"></a>语音提取</h1><p><strong>语音提取准备工具</strong><br><code>Fildder</code><br><code>AssetStudio</code><br><code>bnkextr.exe</code><br><code>ww2ogg.exe</code><br><code>revorb.exe</code><br><code>packed_codebooks_aoTuV_603.b</code></p><p>其实语音文件都在本地,用<code>Fildder</code>抓包下载能更快抓到对应的语音文件,抓包的文件是打包好的。</p><hr><p><strong>步骤</strong> </p><ol><li><p>把游戏文件夹<code>File</code>里的<code>version.zip</code>移动出来,重上游戏下载数据<code>Fildder</code>抓包。</p></li><li><p>找到地址后主要是下载<code>vo_normal_girl_12.u</code><a href="https://cdn-cafe2.xoyo.jp/seasun_jp/10114/Android/V529/Bundles/wwisedata/english(us" target="_blank" rel="noopener">下载</a>/vo_normal_girl_12.u,<code>{10113}{V456}代表版本</code>文件, 音频文件<code>url</code>后缀<code>/Bundles/wwisedata/english(us)/vo_normal_girl_12.u</code>,<br>音频文件是下载到<code>wwisedata</code>文件夹然后解压到<code>audio/english(us)/</code>文件夹里,<code>normal</code>代表日常,<code>12</code>代表角色编号,在换装可以看到顺序号。<code>vo_story_girl_12</code>表示故事线的语音,看看文件名都能知道.注意:请求文件的文件名是小写</p></li><li><p>用<code>AssetStudio</code>解包语音文件,全部提取出来,用<code>Advanced Renamer</code>把后缀批量删除,<code>wem</code>后缀才是正确的。</p></li><li><p><code>bnk</code>文件用<code>bnkextr</code>提取,出来文件后缀是<code>wem</code>。如果提取不出来说明这文件不需要的。</p></li><li><p>用<code>revorb.bat</code>批量把<code>.wem</code>文件转换成<code>.ogg</code>音频,在修正’.ogg’音频文件。</p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">for %%f in (*.wem) do ww2ogg.exe %%f --pcb packed_codebooks_aoTuV_603.bin</span><br><span class="line">pause </span><br><span class="line">for %%f in (*.ogg) do revorb.exe %%f </span><br><span class="line">pause</span><br></pre></td></tr></table></figure></li><li><p>删除多余的<code>.wem</code>文件,根目录<code>delwem.bat</code>。 </p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">del *.wem</span><br></pre></td></tr></table></figure></li></ol><p>21.3.12<br>语音下载链接更改。</p><hr><p>github已经提取好了live2d模型。提取音频的部分工具,在<code>voice</code>文件夹中。含有live2d提取工具<code>UnityLive2DExtractor+for+ガール・カフェ・ガン</code><br><a href="https://github.com/Eikanya/Live2d-model" target="_blank" rel="noopener">github</a></p>]]></content>
<tags>
<tag> live2d </tag>
<tag> girl cafe gun </tag>
</tags>
</entry>
<entry>
<title>Sacred Sword Princesses live2d提取</title>
<link href="/post/%E5%9C%A3%E5%89%91%E6%88%98%E5%A7%AC/"/>
<url>/post/%E5%9C%A3%E5%89%91%E6%88%98%E5%A7%AC/</url>
<content type="html"><![CDATA[<p><strong>前提</strong><br> Sacred Sword Princesses(圣剑战姬)的资源数据不会一次全部下载,边玩玩加载,所以好多福利图都不能提取出来。<br> 然后就研究一天有没有办法拿到这些文件,或者下载<a href="https://apkpure.com/sacred-sword-princesses/com.nutaku.eoa.enus.gp" target="_blank" rel="noopener">xapk</a> ,xapk数据包大部分数据都有。<br> 首先想到能不能抓包找到服务器地址就能请求下载资源。使用Fiddle抓包,因为第一次使用fiddle抓安卓的包,遇到好多坑,比如不设置好手机访问不了网络,https抓不了包等等。不断的百度谷歌找方法解决…(安卓难配置也可以去网页端抓)。</p><p>在网页段端抓包一下,抓取了一个文件的链接地址<a href="https://sacred-sword-nsfw.nutaku.net/patch_2018/files/char2d_w014.82514975aaaf664c68b35f439d7a8392a2acadea" target="_blank" rel="noopener">char2d_w014</a>,<br>前面的就很好分析,<code>char2d_w014</code>后面的字符首先猜是MD5,untiy游戏热更新需要文件对比MD5下载,问题是怎么找到MD5呢?经过长时间查找和百度谷歌,发现<code>Softupdates</code>文件夹有一个<code>index.txt</code>文件是记录文件名还有MD5的,但是只记录了你下载过的文件信息。<br>这时候需要抓包获取服务器上的’index.txt’完整的记录文件信息。</p><h1 id="Sacred-Sword-Princesses-live2d提取"><a href="#Sacred-Sword-Princesses-live2d提取" class="headerlink" title="Sacred Sword Princesses live2d提取"></a>Sacred Sword Princesses live2d提取</h1><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><code>AssetStudio</code><br><code>Advanced Renamer</code><br><code>Fildder</code></p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><ol><li>提取live2d文件,<code>Softupdates</code>里面的文件夹都是资源文件,文件信息还是命名好的。</li><li><code>Fildder</code>抓取<code>index.txt</code>文件获取live2d文件名和MD5信息。安卓端的地址<a href="https://sacred-sword-nsfw.nutaku.net/patch_2018/files/index.txt.acdc9b9ea786f6acf78543ecd4c24e552b6447ea" target="_blank" rel="noopener">index.txt</a>, 如果失效了可以自己去抓包。不能访问的应该需要用<code>Fiddle</code>模拟请求再用浏览器打开链接。</li><li>拼接链接请求文件,<code>host+bashpath+filename+MD5</code>,根据上面抓的包,只要把<code>index.txt和MD5</code>替换成下载的的<code>文件名和MD5</code>就行了。(批量下载可以自己写个python爬下来)。</li><li><code>AssetStudio</code>把文件解压出来,设置<code>Filter Type</code>- 勾选<code>TextAsset</code>和<code>Texture2D</code>,然后选项过滤后的全部文件夹,<code>Export</code>-<code>Selected assets</code>。</li><li>导入后的文件夹含有live2d文件,需要自己整理文件名<code>Advanced Renamer</code>,然后添加<code>model.json</code>配置文件。</li><li>其实里面的CG和立绘还可以看一看,nutaku的游戏都是充钱看色图。</li></ol><hr><p><strong>结语</strong><br>其实整个提取过程也不难,整理好思路就比较容易,难就是第一次尝试,分析思路,遇到好多坑。这也是积累一种经验吧。又发现有一种提取live2d的方法了。</p><hr><p>同类型的游戏<code>Sacred Sword Sweeties</code>也可以用这种方法获取<a href="https://sacred-sword-sfw.nutaku.net/patch/files/index.txt.af2e07590c3594f68a9024dd301041e7" target="_blank" rel="noopener">index.txt</a> 下载缓存,这游戏好像找不到xap。</p>]]></content>
<tags>
<tag> live2d </tag>
<tag> Sacred Sword Princesses </tag>
</tags>
</entry>
<entry>
<title>VenusScramble live2d提取</title>
<link href="/post/VenusScramble/"/>
<url>/post/VenusScramble/</url>
<content type="html"><![CDATA[<h1 id="VenusScramble-live2d提取"><a href="#VenusScramble-live2d提取" class="headerlink" title="VenusScramble live2d提取"></a>VenusScramble live2d提取</h1><p>VenusScramble的liv2d文件没有加密,不过live2d文件很乱,需要耐心整理出来。</p><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><code>AssetStudio.x64.v0.14.28</code><br><code>Advanced Renamer</code><br><code>vgmtoolbox</code><br><code>HCADecoder</code></p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><ol><li>提取live2d文件,<code>data\jp.co.bprint.venusrumble\files\ab</code>里面的文件夹。</li><li>整理文件,一般live2d文件大小再600kb~2000kb。</li><li><code>AssetStudio</code>加载文件夹,<code>AssetStudio</code>设置<code>Options - Export options - Group exported assets by contain path</code>。</li><li>设置<code>Filter Type</code>- 勾选<code>TextAsset</code>和<code>Texture2D</code>,然后选项过滤后的全部文件夹,<code>Export</code>-<code>Selected assets</code>。</li><li>导入后的文件夹含有live2d文件,需要自己整理文件名<code>Advanced Renamer</code>,然后添加<code>model.json</code>配置文件。</li><li>音频在<code>data\jp.co.bprint.venusrumble\files\snd</code>文件夹。为<code>cpk</code>格式的文件,可以用<code>vgmtoolbox</code>解包,<code>cpk</code>解包出来的<code>awb</code>文件再使用<code>vgmtoolbox</code>解包。</li><li>解包出了的<code>awb.00000.bin</code>文件使用<code>HCADecoder</code>转码音频格式。语音文件处理可以参考以前的文章<code>为美好的世界献上祝福</code>的方法。</li></ol><hr><p>我已经整理好了live2d文件,在<a href="https://github.com/Eikanya/Live2d-model" target="_blank" rel="noopener">github</a>。</p><hr>]]></content>
<tags>
<tag> live2d </tag>
<tag> VenusScramble </tag>
</tags>
</entry>
<entry>
<title>魂器学院live2d提取</title>
<link href="/post/%E9%AD%82%E5%99%A8%E5%AD%A6%E9%99%A2/"/>
<url>/post/%E9%AD%82%E5%99%A8%E5%AD%A6%E9%99%A2/</url>
<content type="html"><![CDATA[<h1 id="魂器学院live2d提取"><a href="#魂器学院live2d提取" class="headerlink" title="魂器学院live2d提取"></a>魂器学院live2d提取</h1><p>魂器学院(horcrux college)的live2d加密了图片和音频,为cocos2d加密。<code>lib</code>-<code>armeabi</code>文件夹有<code>libcocos2lua.so</code>。还有用笔记本打开图片开头有<code>sign</code>显示<code>bogehcollege</code>,解密只需要找<code>key</code>值。</p><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><a href="https://github.com/zzwlpx/DecApkTools" target="_blank" rel="noopener">DecApkTools</a>或者<a href="https://github.com/CyanideCN/HorcruxCollegeExtract" target="_blank" rel="noopener">HorcruxCollegeExtract</a><br><code>IDA</code></p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><ol><li>提取live2d文件,<code>/assets/res/live2d/</code>里面的文件夹。</li><li>找<code>sign</code>值,笔记本打开图片开头有<code>sign</code>显示<code>bogehcollege</code>。</li><li>找<code>key</code>值<a href="https://www.52pojie.cn/thread-594286-1-1.html" target="_blank" rel="noopener">参考</a>,使用<code>IDA</code>加载<code>libcocos2lua.so</code>,<code>shift+F12</code>打开<code>string</code>窗口,’ALT+T‘搜索框搜索<code>sign</code>值<code>bogehcollege</code>,<code>key</code>值在上面的字符串<code>palmpi</code>(akp包名也有<code>palmpi</code>)。</li><li>使用<code>DecApkTools</code>和<code>HorcruxCollegeExtract</code>解密图片。<br>推荐使用<code>HorcruxCollegeExtract</code>批量处理。修改<code>decrypt.py</code>代码<code>output_path = os.path.join(path, fname + '_decrypt' + ext)</code>为<code>output_path = os.path.join(path, fname + ext)</code>,不用再处理多余文件。</li><li>音频在<code>assets/res/sound/</code>文件夹,音频解密和图片解密一样。如果使用<code>HorcruxCollegeExtract</code>,需要<code>decrtpy.py</code>中<code>flist = find_files(path, '*.png')</code>改为<code>flist = find_files(path, '*.ogg')</code>。</li></ol><hr><p>我已经整理好了live2d文件,在<a href="https://github.com/Eikanya/Live2d-model" target="_blank" rel="noopener">github</a>。</p><hr><h2 id="诺亚幻想live2d"><a href="#诺亚幻想live2d" class="headerlink" title="诺亚幻想live2d"></a>诺亚幻想live2d</h2><p>诺亚幻想的live2d图片加密也是cocos2d,找<code>sign</code>值<code>key</code>值也是一样。 </p><p><code>sign</code>: <code>sanpjgames</code><br><code>key</code>: <code>threepjsecrets</code> </p><p>对于修改<code>decrypt.py</code>代码为<code>magic = file.read(10) return magic == b'sanpjgames'</code>。 </p><p>诺亚幻想的的live2d图的质量不是很高,用waifu2x拉一下质量会好一点。</p>]]></content>
<tags>
<tag> live2d </tag>
<tag> 魂器学院 </tag>
</tags>
</entry>
<entry>
<title>为美好的世界献上祝福live2d提取</title>
<link href="/post/%E4%B8%BA%E7%BE%8E%E5%A5%BD%E7%9A%84%E4%B8%96%E7%95%8C%E7%8C%AE%E4%B8%8A%E7%A5%9D%E7%A6%8F/"/>
<url>/post/%E4%B8%BA%E7%BE%8E%E5%A5%BD%E7%9A%84%E4%B8%96%E7%95%8C%E7%8C%AE%E4%B8%8A%E7%A5%9D%E7%A6%8F/</url>
<content type="html"><![CDATA[<h1 id="为美好的世界献上祝福live2d提取"><a href="#为美好的世界献上祝福live2d提取" class="headerlink" title="为美好的世界献上祝福live2d提取"></a>为美好的世界献上祝福live2d提取</h1><p>この素晴らしい世界に祝福を!ファンタスティックデイズ.<br>为美好的世界献上祝福!Fantastic Days的live2d为moc3格式。moc3文件没有被加密。音频视频文件为Cri加密。</p><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><code>AssetStudio.v0.13.24</code><br><code>Advanced Renamer</code><br><code>UnityLive2DExtractor</code><br><code>VGMToolbox</code><br><code>HCADecoder</code> </p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><ol><li>提取live2d文件,<code>/jp.co.sumzap.pj0007/files/UnityCache/Shared</code><br>里面的文件夹,需要分析那些文件夹有live2d。</li><li>打开<code>AssetStudio</code>,加载Shared文件夹,搜索<code>texture_00</code>,显示的都是有live2d的文件夹。<br>快速一点的用<code>Advanced Renamer</code>加载文件夹,显示<code>添加目录</code>,勾选包括子目录,文件名掩码<code>*data*</code>,批处理模型选择<code>移动</code>,输出新建一个文件夹。然后分开600KB也是的文件,再用<code>AssetStudio</code>筛选文件。</li><li>使用<code>UnityLive2DExtractor</code>提取live2d,移动文件到<code>UnityLive2DExtractor.exe</code>。</li><li>使用 <code>Advanced Renamer</code>重命名好文件名,配置model3.json文件。</li><li>使用<code>Advanced Renamer</code>批量修改文件名字。</li></ol><hr><h3 id="音频提取"><a href="#音频提取" class="headerlink" title="音频提取"></a>音频提取</h3><ol><li><p>音频文件在/bundes/Cri/Cpk文件夹,Usm是视频文件夹。</p></li><li><p>打开<code>VGMToolbox</code>,选择<code>Extraction Tools-Common Archives-CRI CPK/</code>,把<code>.CPK</code>文件全部拖进去解包。</p></li><li><p>用<code>Advanced Renamer</code>,把<code>.acb</code>文件全部移动出来。</p></li><li><p>选择<code>Extraction Tools-Common Archives-CRI AWB/</code>,把<code>awb</code>文件全部拖进去解包。</p></li><li><p>使用<code>HCADecoder</code> 转码<code>.hca</code>文件,批量处理。代码保存为.bat放在根目录上</p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">for /R %%f in (*.hca) do hca.exe %%f</span><br><span class="line">pause</span><br></pre></td></tr></table></figure></li><li><p>删除多余的<code>.hca</code>文件,把下面代码保存为.bat ,同样放在根目录上。 </p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">del /s *.hca</span><br><span class="line">pause</span><br></pre></td></tr></table></figure><hr></li></ol><p><a href="https://www.perfare.net/1556.html" target="_blank" rel="noopener">UnityLive2DExtractor</a>下载<br>我已经整理好了live2d文件,在github,我没有提取音频。</p>]]></content>
<tags>
<tag> live2d </tag>
<tag> 为美好的世界献上祝福 </tag>
</tags>
</entry>
<entry>
<title>方舟指令live2d提取</title>
<link href="/post/%E6%96%B9%E8%88%9F%E6%8C%87%E4%BB%A4/"/>
<url>/post/%E6%96%B9%E8%88%9F%E6%8C%87%E4%BB%A4/</url>
<content type="html"><![CDATA[<h1 id="方舟指令live2d提取"><a href="#方舟指令live2d提取" class="headerlink" title="方舟指令live2d提取"></a>方舟指令live2d提取</h1><p>方舟指令的live2d有moc和moc3格式。moc文件没有被加密。</p><h2 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h2><p><code>AssetStudio.v0.13.24</code><br><code>Advanced Renamer</code></p><h3 id="步骤"><a href="#步骤" class="headerlink" title="步骤"></a>步骤</h3><ol><li>提取live2d文件,国服位置<code>Android/data/com.mingchao.fzzl.bilibili/files/res/live2d/servant</code>。l_xxx的文件夹代表live2d文件夹。<br>还有部分在apk里面<code>/data/app/com.mingchao.fzzl.bilibili/assets/live2d/servant</code><br>音频位置<code>Android/data/com.mingchao.fzzl.bilibili/files/res/audio/servant</code>,后缀格式为.ab。 </li><li>打开<code>AssetStudio</code>,加载live2d文件夹,<code>AssetStudio</code>设置<code>Options - Export options - Group exported assets by contain path</code>。</li><li>设置<code>Filter Type</code>- 勾选<code>TextAsset</code>和<code>Texture2D</code>,然后选项过滤后的全部文件夹,<code>Export</code>-<code>Selected assets</code>。(导入音频也差不多)。</li><li>导出文件需要改后缀。<ul><li>将<code>*.moc.txt</code>文件改为<code>model.moc</code></li><li>将<code>*.model.txt</code>文件改为<code>model.json</code></li><li>将<code>*.2048</code>文件夹改为<code>textures</code> (可选)</li><li>将<code>L_*.png</code>文件改为<code>texture_0*.png</code> (可选)</li><li>将<code>motions</code>文件夹中<code>*.mtn.txt</code>文件改为<code>*.mtn</code> </li></ul></li><li>使用<code>Advanced Renamer</code>批量修改文件名字。</li><li>配置model.json文件。修改后,注释为要修改的地方<pre><code>{ "type": "Live2D Model Setting", "name": "L_103300460", "model": "model.moc", //moc文件相对位置 "textures": [ //png文件相对位置 "textures/texture_00.png", "textures/texture_01.png", "textures/texture_02.png", "textures/texture_03.png"],"trigger": [], "motions": { "idle": [ { "file": "motions/idle.mtn","fade_in":7000, "fade_out":7000 ,"cv_id":1} ], "idle_click": [ { "file": "motions/02.mtn","fade_in":0, "fade_out":0,"cv_id":2}, { "file": "motions/03.mtn","fade_in":0, "fade_out":0 ,"cv_id":3}, { "file": "motions/04.mtn","fade_in":0, "fade_out":0 ,"cv_id":4}, { "file": "motions/05.mtn","fade_in":0, "fade_out":0,"cv_id":5}, { "file": "motions/06.mtn","fade_in":0, "fade_out":0 ,"cv_id":6}, { "file": "motions/07.mtn","fade_in":0, "fade_out":0 ,"cv_id":7}, { "file": "motions/08.mtn","fade_in":0, "fade_out":0,"cv_id":8}, { "file": "motions/09.mtn","fade_in":0, "fade_out":0 ,"cv_id":9}, { "file": "motions/10.mtn","fade_in":0, "fade_out":0 ,"cv_id":10}, { "file": "motions/11.mtn","fade_in":0, "fade_out":0 ,"cv_id":11}, { "file": "motions/12.mtn","fade_in":0, "fade_out":0 ,"cv_id":12}, ] }}</code></pre>可以使用Live2dViewerEX修改,新建配置文件,然后复制相应配置代码。<hr>关于moc3格式,应该需要使用unity在文件夹打包成unity的assets格式或者ab格式,使用<code>UnityLive2DExtractor</code>提取。<br>我已经整理好了live2d文件,在github,我没有提取音频。</li></ol>]]></content>
<tags>
<tag> live2d </tag>
<tag> 方舟指令 </tag>
</tags>
</entry>
<entry>
<title>少女前线live2d提取</title>
<link href="/post/%E5%B0%91%E5%A5%B3%E5%89%8D%E7%BA%BF/"/>
<url>/post/%E5%B0%91%E5%A5%B3%E5%89%8D%E7%BA%BF/</url>
<content type="html"><![CDATA[<h1 id="少女前线live2d提取和音频提取"><a href="#少女前线live2d提取和音频提取" class="headerlink" title="少女前线live2d提取和音频提取"></a>少女前线live2d提取和音频提取</h1><p>少女前线(Girls’ Frontline)的live2d皮肤很难抽到,要看最快的方式就是提取了。少女前线提取的live2d是moc格式,不是moc3格式。<br>live2d提取方法参考:<a href="https://www.perfare.net/1162.html" target="_blank" rel="noopener">链接</a> </p><p><strong>live2d准备工具</strong><br><code>AssetStudio.v0.13.24</code><br><code>GFLive2DDecrypter.exe</code><br><code>Advanced Renamer</code><br><code>UnityLive2DExtractor</code></p><p><strong>更新moc3</strong><br>此方法适用于少女前线<code>new live2d</code>更新为moc3。</p><ol><li><code>UnityLive2DExtractor</code>请使用github里面<code>tool/UnityLive2DExtractor.zip</code>。基于<code>UnityLive2DExtractor v1.0.3</code>修改。</li><li>少女前线的数据包里把live2d文件复制出来。</li><li>新建一个文件夹,将xx.ab文件复制到文件夹里,将文件夹拖到<code>UnityLive2DExtractor.exe</code>中。</li><li>提取出的live2d按照角色名命名,里面有正常和大破live2d。</li></ol><hr><p><strong>moc步骤</strong> </p><ol><li>在少女前线的数据包里把live2d文件复制出来。</li><li>用<code>AssetStudio</code>加载live2d文件,<code>AssetStudio</code>设置<code>Options - Export options - Group exported assets by contain path</code>。这样导入的文件按照文件夹排序,方便整理。<br>导入的文件应该是’.txt‘后缀。</li><li>把<code>GFLive2DDecrypter.exe</code>放在导出live2d文件的根目录,运行就可以全部解密了。</li><li>剩下的命名,多余的后缀,多余的#xx可以用<code>Advanced Renamer</code>批量重命名。 </li></ol><hr><p><strong>音频解密</strong><br>下载全部语音,语音文件格式为*(人形)名字<code>.acb.bytes</code>,为acb加密。 </p><p><strong>语音提取准备工具</strong><br><code>VGMToolbox</code><br><code>HCADecoder</code> </p><p><strong>步骤</strong> </p><ol><li><p>复制语音文件出来,最好新建一个文件夹。</p></li><li><p>打开<code>VGMToolbox</code>,选择<code>Extraction Tools-Common Archives-CRI ACB/</code>,把acb文件全部拖进去解包。</p></li><li><p>使用<code>HCADecoder'</code>解密语音,把文件拖进<code>HCADecoder.exe</code>。批量处理,把下面代码保存为.bat ,然后和放在根目录上。 </p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">for /R %%f in (*.hca) do hca.exe %%f</span><br><span class="line">pause</span><br></pre></td></tr></table></figure></li><li><p>删除多余的<code>.hca</code>文件,把下面代码保存为.bat ,同样放在根目录上。 </p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">del /s *.hca</span><br><span class="line">pause</span><br></pre></td></tr></table></figure></li><li><p>可以使用<code>Advanced Renamer</code>批量重命名。</p></li></ol><hr><p>已经提取好的live2d模型 。<br><a href="https://github.com/Eikanya/Live2d-model" target="_blank" rel="noopener">github</a></p><p>2021.5.23<br>更新moc3提取方法</p>]]></content>
<tags>
<tag> live2d </tag>
<tag> 少女前线 </tag>
</tags>
</entry>
<entry>
<title>Live2d配置</title>
<link href="/post/live2d%E9%85%8D%E7%BD%AE/"/>
<url>/post/live2d%E9%85%8D%E7%BD%AE/</url>
<content type="html"><![CDATA[<p><font color=black size=6>Live2d的moc3配置说明</font><br>live2d的moc和moc3的配置是差不多的,主要是说明一下moc3格式的配置。<br>可以先阅读一下官方文档。<br><a href="https://docs.live2d.com/cubism-editor-manual/top/" target="_blank" rel="noopener">官方文档</a></p><p><strong>官方配置</strong><br>以官方模型Hiyori为例。<br>文件说明:</p><ul><li>moc3 是模型文件</li><li>model3.json 是模型配置文件</li><li>pose3.json 预设姿势文件</li><li>userdata3.json 用户数据和事件</li><li>physics3.json 物理演算配置文件</li><li>Hiyori.2048 文件夹存放模型图片<ul><li>texture_00.png </li><li>texture_001png </li></ul></li><li>motions 文件夹存放模型动作文件<ul><li>Hiyori_m01.motion3.json //动作文件后缀为motion3.json </li></ul></li></ul><hr><p><strong>model3.json</strong><br>live2d只需配置好.model3.json就行了。<br>简单配置如下:</p><figure class="highlight json"><table><tr><td class="code"><pre><span class="line">{</span><br><span class="line"> <span class="attr">"Version"</span>: <span class="number">3</span>,</span><br><span class="line"> <span class="attr">"FileReferences"</span>: {</span><br><span class="line"> <span class="attr">"Moc"</span>: <span class="string">"Hiyori.moc3"</span>, <span class="comment">//.moc3文件相对路径</span></span><br><span class="line"> <span class="attr">"Textures"</span>: [</span><br><span class="line"> <span class="string">"Hiyori.2048/texture_00.png"</span>, <span class="comment">//图片相对路径</span></span><br><span class="line"> <span class="string">"Hiyori.2048/texture_01.png"</span></span><br><span class="line"> ]</span><br><span class="line"> }</span><br><span class="line">}</span><br></pre></td></tr></table></figure><details><summary>详细配置</summary><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">{</span><br><span class="line">"Version": 3,</span><br><span class="line">"FileReferences": {</span><br><span class="line">"Moc": "Hiyori.moc3", //.moc3文件相对路径</span><br><span class="line">"Textures": [</span><br><span class="line">"Hiyori.2048/texture_00.png", //图片相对路径</span><br><span class="line">"Hiyori.2048/texture_01.png"</span><br><span class="line">],</span><br><span class="line">"Physics": "Hiyori.physics3.json", //物理演算文件相对路径</span><br><span class="line">"Pose": "Hiyori.pose3.json", //姿势文件相对路径</span><br><span class="line">"UserData": "Hiyori.userdata3.json",</span><br><span class="line">"Motions": { //动作配置</span><br><span class="line">"Idle": [ //待机</span><br><span class="line">{</span><br><span class="line">"File": "motions/Hiyori_m01.motion3.json", 文件相对路径</span><br><span class="line">"FadeInTime": 0.5, //淡入时间,可省略</span><br><span class="line">"FadeOutTime": 0.5 //淡出时间,可省略</span><br><span class="line">"sound":"voice/voice.ogg" //声音文件文件相对路径</span><br><span class="line">},</span><br><span class="line">{</span><br><span class="line">"File": "motions/Hiyori_m02.motion3.json",</span><br><span class="line">"FadeInTime": 0.5,</span><br><span class="line">"FadeOutTime": 0.5</span><br><span class="line">}</span><br><span class="line">],</span><br><span class="line">"TapBody": [ //触摸位置触发动作</span><br><span class="line">{</span><br><span class="line">"File": "motions/Hiyori_m04.motion3.json",</span><br><span class="line">"FadeInTime": 0.5,</span><br><span class="line">"FadeOutTime": 0.5</span><br><span class="line">}</span><br><span class="line">]</span><br><span class="line">}</span><br><span class="line">},</span><br><span class="line">"Groups": [ //参数组</span><br><span class="line">{</span><br><span class="line">"Target": "Parameter",</span><br><span class="line">"Name": "LipSync",</span><br><span class="line">"Ids": [</span><br><span class="line">"ParamMouthOpenY"</span><br><span class="line">]</span><br><span class="line">},</span><br><span class="line">{</span><br><span class="line">"Target": "Parameter",</span><br><span class="line">"Name": "EyeBlink",</span><br><span class="line">"Ids": [</span><br><span class="line">"ParamEyeLOpen",</span><br><span class="line">"ParamEyeROpen"</span><br><span class="line">]</span><br><span class="line">}</span><br><span class="line">],</span><br><span class="line">"HitAreas": [ //触摸区域</span><br><span class="line">{</span><br><span class="line">"Id": "HitArea",</span><br><span class="line">"Name": "Body"</span><br><span class="line">}</span><br><span class="line">]</span><br><span class="line">}</span><br></pre></td></tr></table></figure></details><hr><p>.physics3.json .pose3.json 等文件一般用Live2d Cubism Editor生成,可有可不有。没有.physic3.json物理演算可以用动作文件ide.motion3.json代替,idle是待机的动作。<br>.moc3文件用记事本打开开头是MOC3代表是moc3格式模型。</p><hr><p><strong>Live2DViewerEX配置</strong><br>推荐使用Live2DViewerEX配置.model3.json文件,有软件辅助易上手,高级的配置很不难。也可以参考Live2DViewerEX的官方文档写的参数。<br>注意的是每个软件的配置不一定通用的,存在加载不了模型是正常。但最基本的配置是通用的,比如下面的基本配置:</p><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">{</span><br><span class="line">"Version": 3,</span><br><span class="line">"FileReferences": {</span><br><span class="line">"Moc": "Hiyori.moc3", //.moc3文件相对路径</span><br><span class="line">"Textures": [</span><br><span class="line">"Hiyori.2048/texture_00.png", //图片相对路径</span><br><span class="line">"Hiyori.2048/texture_01.png"</span><br><span class="line">],</span><br><span class="line">"Physics": "Hiyori.physics3.json", //物理演算文件相对路径</span><br><span class="line">"Pose": "Hiyori.pose3.json", //姿势文件相对路径</span><br><span class="line">"Motions": { //动作配置</span><br><span class="line">"Idle": [ //待机</span><br><span class="line">{</span><br><span class="line">"File": "motions/Hiyori_m01.motion3.json", 文件相对路径</span><br><span class="line">"FadeInTime": 0.5, //淡入时间,可省略</span><br><span class="line">"FadeOutTime": 0.5 //淡出时间,可省略</span><br><span class="line">"sound":"voice/voice.ogg" //声音文件文件相对路径</span><br><span class="line">}</span><br><span class="line">]</span><br><span class="line">}</span><br><span class="line">}</span><br><span class="line">}</span><br></pre></td></tr></table></figure>]]></content>
<tags>
<tag> live2d </tag>
</tags>
</entry>
</search>