欢迎光临散文网 会员登陆 & 注册

MMD联动Unity学习笔记 Vol.4 MMD相机导入Unity的两种改进方法

2019-03-17 16:01 作者:NXL2  | 我要投稿

前言

    之前的MMD联动日志第一期中,Up发现相机调节的不甚理想,过到学习B站几个大神的视频,学习了一些改进的方法。这篇对MMD导入Unity的相机进行总结复习一下。

事前准备

MikuMikuDance+十周年MMD桥专用版本(自带MMDBridge插件)

Maya2015或者更新版本

下载请自行百度,必应。

MMDBridge导出abc文件

    打开MMD十周年专用版本,将镜头和模型一起导入。(这里需要注意的是,不能单独将镜头导入,这样做得到的abc文件是无法导入Maya的)最好将动作也一起导入,以便查看镜头是否有问题。

MMDBridge插件设定

点击主菜单MMDBridge - プラグイン( Plugin)设定

使用するスク(使用脚本选择)mmdbridge_alembic_for_maya2015.py

スクリプトの呼び出(Script呼出)选择実行する(执行)

出力対象フレ(输出对象帧范围)

フレームレート(Frame Rate)帧率,实际上这个帧率现在改动的意思不大,所以我们可以用默认的30就可以了

导出视频

    点击主菜单中文件上,导出视频,导出AVI文件,同时将abc文件导出,导出的abc文件在MMD本体的out文件夹中。

文件路径中包含中文导出会出现此错误提示

    需要注意的是,在导出时如果MMD软件所在文件路径包含中文字符,就会出现错误。请在导出前查看文件路径是否带有中文字符。另外,还有一点,如果之前已经导出过abc文件,请将之前的abc文件改名,这样,再导出abc文件不会将之前的文件替换掉。这个插件在导出覆盖时不会出现警告提示,需要特别注意。

导出完成后可以关闭MMD。

Maya导出abc文件

    打开Maya,将Maya的时间轴的帧率与之前MMD导出的帧率设置相同,再把时间轴的起始帧和结束帧设置好。

(Maya推荐使用Maya2015以后的版本)

这样设置可以防止角色离镜头过近产生的问题

    将abc文件拖到场景中,将Near Clip Plane(近剪裁平面)设置为0.001,将摄像机选中,点击菜单中的Cache(缓存),点击Alembic Cache,点选将当前的选择导出Alembic..。

Maya导出FBX文件

    另一种方法,点击Edit(编辑),Keys(关键帧)下的Bake Simulation(烘培模拟),将其所有数据做为FBX导出,点击File(文件)下的Export Selection(导出当前所选),选中FBX格式,导出所选。

将刚才导出的abc和FBX文件都导入Unity中。导出完成后可以关闭Maya了。

abc文件导入Unity

    abc的导入需要借助Timeline,新建Timeline拖入到场景中,再将abc文件拖入到场景中。

打开Timeline,增加Alembic Track,再右侧添加流播放轨道,将场景abc相机拖入其中,拖动时间轴的长度,到其终止的位置会被自动吸附。(这个联动第一期已经介绍过,大体流程是基本一致的)

这时的相机模型动作均导入后,播放场景观察效果,可以发现模型与相机的位置有问题,将模型的比例改为0.1,再将模型的位置,X轴设置为0.01,Y轴调置为0.025,旋转Y轴设置为90。(这个具体参数根据需要进行适当调节)

FBX导入Unity

    使用FBX相机,将之前导入Unity的FBX拖入场景中,点击FBX文件的小箭头,打里面的动画文件直接拖到刚刚拖入场景的FBX相机上,系统会帮助你创建一个Animator。播放场景,可以看到这种方法与之前abc导入的方法,效果是一样的。

FBX里面的anim文件可以进行编辑

    但是,这种方法有另外一种好处,复制FBX里面的动画文件,进入Animation里面,可以对动画文件进行编辑,对其关键帧进行修改。修改之后将改过的动画文件替换掉之前的动画文件,就可以实现相机的位置角度的改动。

    总结一下,想要将MMD的相机导入Unity,最好的方法是用MMDBridge导出abc(Maya用),然后再用Maya导出FBX,最后将FBX导入Unity中。这样做可以对相机编辑,增加了相机调度的可行性。用之前导入的方法,相机的参数基本不能改动,而且附带了多余的相机,这也是强迫症不能忍受的。

MMD联动Unity学习笔记 Vol.4 MMD相机导入Unity的两种改进方法的评论 (共 条)

分享到微博请遵守国家法律