1. 导出工具使用说明:
该工具是AssetImporter.exe,用来导出MC支持的骨骼(skeleton)、网格(mesh)和动作(animation)。目前支持将3DMAX导出的FBX文件转换成MC可以加载的json格式,骨骼网格和动作文件分开导出,首先需要一个FBX来导出骨骼和网格,其次每个FBX分别对应一个动作。
可以用文本工具打开AssetImporter.bat参考用法。
2. 示例:
这里我们用一个雪女来演示如何操作。
图2-1
如图2-1所示,在fbx/xuenv/文件夹中,我们有一系列由美术导出的FBX文件,其中skin.FBX是我们的模型文件,其他都是动作文件。
图2-2
在图2-2中,在fbx同一文件夹下有一个res目录用来保存我们导出内容。
图2-3
图2-3中显示了我们演示例子的目录结构。
图2-4
在图2-4中,显示了AssetImporter如何使用,参数意义如下:
1)AssetImporter.exe 表示我们的可执行程序
2)不论导出模型还是动作这里都是model不需要变化
3)fbx/xuenv/xxx.FBX表示与exe相对的目录,从上图中可以看出路径
4)res/xuenv表示导出目录
5)参数model代表导出模型,其他代表每个动作,例如prepare表示准备动作,idle表示站立动作,win表示胜利动作
6)pause表示暂停一下,不然命令行窗口会闪掉,看不到导出信息
3. 后续:
这个导出方式只是我们的初级测试版本,我们在MC-Editor中已经实现了可以从编辑器加载模型和动作,实时显示到游戏中,敬请期待。
雪女的资源文件仅供参考学习,切勿使用。
4. 资源放置及使用:
1、在mod_resource/models/netease_models.json里面填入模型的路径信息,如下图4-1所示:
图4-1
上面这部分是第三人称视角的骨骼模型动画,当我们想在游戏中切换第一人称也有骨骼模型动画时,需要另外做一套骨骼模型和动画,在json中只要关联,我们就会切换视角时自动切换模型,例如:
在图4-2中,我们可以看到steve有骨骼模型动画,这些属于第三人称视角的骨骼模型动画,我们在steve中有 “fp_model”属性关联第一人称视角的骨骼模型动画。
骨骼模型动画的命名最好使用英文单词/拼音/数字/下划线组成。
图4-2
2、在mod_resource/models下面几个文件夹相应放进对应的skeleton、mesh、animation资源:
3、mesh文件中会有指定material,如下图4-3所示:
图4-3
名称对应到mod_resource/textures/models/xuenv.png,所以需要在此位置放置贴图资源。
4、代码调用:
也是采用component的结构来来创建和控制:
1)创建模型替换原有模型
modelComp = self.CreateComponent(playerId, 'Minecraft', 'model')
modelComp.modelName = 'xuenv' # 对应netease_models.json里的名称
self.NeedsUpdate(modelComp)
2)播放动画
modelComp = self.GetComponent(playerId, 'Minecraft', 'model')
modelComp.aniName = ‘prepare’ # animation key
modelComp.isLoop = 1 # int整型,1为循环,0不循环
self.NeedsUpdate(modelComp)