专栏开了好久了,今天终于有时间写下这第一篇文章,就从这段时间一直在做的3ds Max与UE4的LiveLink开始吧!
看本文内容前推荐大家先看下面这篇文章对LiveLink有一个基本的了解。
Mantra:【新特性】LiveLink基本使用zhuanlan.zhihu.com其实刚开始提出这个需求时想到的解决方案是直接使用MaxScript为3ds max做一个插件通过网络通信的方式与UE4完成数据传输(关于MaxScript与外部程序的通信方式,推荐看下文),然后就看源代码找UE4关于网络通信有没有做好的接口,然后莫名其妙的就发现了UE4的LiveLink模块,在进一步的就发现了Maya LiveLink的模块。(用UE4真的是一个不断发现宝藏的过程:请忽略我的无知,竟然不知道UE4&Maya的LiveLink)。
MaxScript与外部程序通讯 - 中国小刀 - 博客园www.cnblogs.com本文不会讲太多的技术细节,仅大概讲一下整体的框架。
1.首先在UE4中添加一个Program,可参考MayaLiveLinkPlugin。
2.在上述Programs中包含UE4的LiveLink模块,并开发LiveLink过程中需要用到的一些列功能函数,主要包括添加/移除/更新Subject等。
3.利用上述Program生成一个DLL,注意上述的函数也都需要暴露出来。
4.创建一个C# DLL工程,加载上面生成的C++ DLL,并将C++ DLL中的函数暴露出来。
5.利用MaxScript编写3ds Max插件,加载C# DLL,并调用其中的函数达到与UE4的连接。
下面对插件的功能进行简单的介绍。
1.在3ds Max中K动画,UE4中实时显示效果。
2.CG。在运行模式下,场景中的人物可以直接选择动画来源为3ds Max,这样便可以很方便的为CG中的人物做动画,而无需在UE4与3ds Max之间重复导入导出。
3.可利用UE4的序列录制器直接将3ds Max中的动画录制下来,直接保存成uasset格式的文件,简化工作流程。
4.若在3ds Max中为人物添加了武器等,也可以将武器的数据传输到UE4中,通过蓝图的方式获取到该数据后赋予角色的武器,达到武器的同步。