前言
今天遇到一个需求,那就是因为每次基于LiveLink的实时动捕及面捕传输都需要打开UE,且UE的环境才能进行使用,对于一些固化的使用及其不方便,就让我打包一个EXE,这样只需要部署EXE打开便可以接入实时流数据。但是在我实际部署的过程SubjectName包括实时数据是有的,却不驱动角色的运行,找了一下国内没有太多有效的建议,接下来我就把完整的过程给大家分享出来。
调试过程
在Edit-> Plugins中查看LiveLink插件是否开启一般4.27包括5都是默认勾选的,但是为了以防万一我们先检查是否存在勾选没有勾选的,需要勾选重启。
![](https://i-blog.csdnimg.cn/blog_migrate/79539aaa90353a27f0d96ddbdefdbcb3.png)
然后打开LiveLink添加一个现有链接做预设,低版本的直接Window -> LiveLink既可以找到,5.0以上的版本Window -> VirtualProduction ->LiveLink就可以找到了,然后做一个添加。在这我要提到一个地方那就是我现在测试的内容是MotionBuilder,但是Maya;Xsens或者其他的厂商我感觉都是可以的,随后我会测试下其他内容。
![](https://i-blog.csdnimg.cn/blog_migrate/43660f1dd0b1039ff54fca4057f2ce7e.png)
我们在添加好的LiveLink中做一个文件映射,将其参数进行保存,为了方便我们后续的打包和蓝图调用。保存以后我们就可以将我们的LiveLink断开连接关掉了接下我们将用蓝图的方式进行调用。
![](https://i-blog.csdnimg.cn/blog_migrate/507241dcb95b6a1a24e0823fafdec94c.png)
蓝图调用
创建一个Actor或者在关卡蓝图中都可以,我的建议是保存Actor中这样调用和使用都比较方便,在我们的Actor中创建一个变量就是刚才我们LiveLinkPreset的文件,然后进行指定刚才的保存的预设文件。
![](https://i-blog.csdnimg.cn/blog_migrate/5c0f4f88d0faaa31d521142fbc80fa92.png)
接下来我们在事件开始运行时,加一个调用前延迟为了防止工程还在加载中未能成功加载文件,然后将预设添加在客户端,我在这个节点后面又加了一个应用到客户端的节点,以防止相关功能不好使的情况。
![](https://i-blog.csdnimg.cn/blog_migrate/49dcddf751d04ee0b4bcb819274154c2.png)
到这里蓝图部分就完成了,为了防止打包出去功能有问题,我们打开混合动画,在LiveLinkPose节点前引一个MakeLiveLinkSubjeceName的节点把我们固定的名字打进去,这样就可以精准的定位到我们的调用名称了。
![](https://i-blog.csdnimg.cn/blog_migrate/746391e582188849467dceec062a1f6a.png)
打包设置
打开Edit -> ProjectSettings ->Plugins ->LiveLink中将我们的预设文件指定为默认文件,有些人其实只做这个预设指定打包出去也是好使,不加蓝图内容,但是我这边不可以。
![](https://i-blog.csdnimg.cn/blog_migrate/b7c65e840ebe29f90a7f27efe4bab2b5.png)
然后将我们的默认地图指定为我们的地图,烘焙打包即可,以上过程同样适配与5.0包括有一些MeteHuman的工程联动,打包后的EXE我们添加一个快捷方式,在快捷方式的目标中空格加入-messaging就可以直接运行快捷方式了。
-messaging
![](https://i-blog.csdnimg.cn/blog_migrate/216c7db6a369330c0ea2e92aa9ff1f5c.png)
结语
以上过程就是完整的将接入LiveLink的数据打包EXE的完整过程,有些地方可能比较啰嗦包括意义不大,但是处理方式相对比较完整,还有一种蓝图方式大家也可以借鉴一下,希望对你们有帮助。
![](https://i-blog.csdnimg.cn/blog_migrate/af1986ed2c25521f5019a64d28f172bc.png)