前言
书接上回,这段时间没发新内容,主要是在学技能系统
的编写、以及角色模型
提取去了。角色模型
我用的是英雄联盟里的 亚索(托儿索) 模型(律师函警告!)。
【在这里我首先表明下 仅作 学习 用途,侵必删】 。
这里我主要讲一下我模型提取
出现的问题以及采用的解决办法,技能系统还有bug就先不讲了,后边慢慢写(拖延症上来了…)
三、模型提取
1、.DAE 转 .FBX
首先说结论,这种方式并不能很好的实现动画的衔接,一个FBX格式文件
自带一个模型
和一个动画
,想要做动画连接时(如 Idle 和 Run 连接),会出现严重的模型错位问题(原因可能是模型兼容性问题,毕竟不是同一个模型的多组动画),所以并没有采用。但我还是总结一下采用的方法(具体操作请度娘)。
1.1 将角色模型提取成 .DAE 格式文件
这里用到的软件为 Obsidian,将游戏目录(…\Game\DATA\FINAL\Champions)下的 (.wad.clent) 模型格式文件,提取并整理成一组组模型动画资源;
然后再用软件 lol2dae 将一组组的模型文件转换成(.dae)格式的模型文件。这里特别难受的地方就是需要将一组组的模型一个个去转换,不能一键转换就很烦。
1.2 将 .DAE 格式模型文件转成Unity可用的 .FBX格式模型文件
这里网上五花八门,常用的是 C4D
和 3DMAX
这两个去转。我用的C4D
,将一组组的 .dae
格式模型文件直接拖到 C4D
里,然后给模型贴上纹理贴图,导出 .fbx
即可在 Unity
(拖进去)中使用。
2、.GLTF 转 .FBX
这里我用的是B站up(不贴up名了,B站搜【亚索模拟器】高播放那个)提供的另一种方式,只能说很棒很润,因为提取出的 .gltf
是一个模型
+ 一组完整的动画
,
这完美解决了上面第一种方式
出现的(一个模型 + 一个动画)动画衔接因模型不一而出现动画播放鬼畜的问题。
2.1 将角色模型提取成 .GLTF 格式文件
用的是 github 上的一个叫 LeagueBulkConvert
的项目,非exe应用程序,c#语言编辑器(我用的 visual 2019版本)打开里边的 LeagueBulkConvert.sln
文件,等它导包完成。
将导入完成的 LeagueBulkConvert.WPF
这个项目设为启动项目,点击启动并等待直到出现 LeagueBulkConvert应用
窗口;
然后还是老配方(找游戏目录 …\Game) + (选择想要转换的模型文件名 .wad.clent)+ (保存路径)…;
2.2 将 .GLTF 格式模型文件转成Unity可用的 .FBX格式模型文件
转换完成后随便进入一个该模型的任一皮肤文件夹下,有 .png
纹理贴图 + .gltf
模型动画资源文件本体 + .bin
其他资源文件(这个最后我也没有用上),然后我用的 Blender 导入 .gltf
格式文件(文件可能比较大,需要等待一会会儿),这里可能会出现模型贴图贴反
了的问题,这里需要将模型选中,编辑模式下进行模型的法线反转
即可(萌新B站搜 Blender 反转法线…);
最后导出 .fbx
格式模型文件即可,可能比较大,需要等待一会导出完毕,拉到Unity中使用模型以及带的动画组即可,完美收工!