您當前的位置:首頁 > 遊戲

【新特性】LiveLink基本使用

作者:由 Mantra 發表于 遊戲時間:2022-01-16

後續文章更新移步→微信公眾號“虛幻社群”(mantra-xhsq),您的支援是我創作的動力。

一、什麼是LiveLink

在介紹LiveLink之前,我們先回顧一下目前的動畫工作流程。無論您使用的是Maya、Max、MotionBuilder還是其他DCC(Digital Content Creation)應用,首先會Key動畫,動作和節奏滿意了之後,會匯出FBX,之後匯入到引擎中,檢視效果。如果你想對動畫進行一些調整,比如,肩膀調低,腿調高等等,你需要回到DCC應用中重複上面的步驟,如下圖所示:

【新特性】LiveLink基本使用

但是有了LiveLink之後我們在DCC應用中Key動畫時,不需要匯出就可以在UE4引擎中檢視效果。具體效果請參考下面的影片。

【新特性】LiveLink基本使用

https://www。zhihu。com/video/985255442439831552

當我們在Maya中調節和播放動畫,甚至是調整相機視角時,UE4中會隨時重新整理。而且UE4中的視覺效果要遠遠好於Maya,兩者能夠同步的前提是使用同一套骨骼。除了骨骼動畫之外,表情動畫,變形動畫等等也是支援實時預覽的。這樣的話我們可以盡情的在Maya中調節我們的動畫,直到最後滿意了再輸出。減少了中間過程中不必要的輸出,這樣的話可以省出很多時間,讓我們把精力集中在做動畫本身。

LiveLink的核心是LiveLinkClient,主要包含兩個部分:

ManageSource也即動畫資料的來源,如Maya、MotionBuilder以及運動捕捉的伺服器等。另一部分是ManageSubjects,也即客戶端中不同部分的資料流,比如一個玩家或者其他骨骼動畫的資料。

二、UE4中啟用LiveLink

接下來我們需要在UE4中啟用LiveLink外掛。在Edit>Plugins中搜索LiveLink並激活,按照提示重啟編輯器即可。

【新特性】LiveLink基本使用

啟用之後我們從Windows>LiveLink選單開啟視窗,顯示如下:

【新特性】LiveLink基本使用

三、Maya中安裝LiveLink

Maya的外掛放置在引擎的安裝目錄下 UE_4。19/Engine/Extras/MayaLiveLink中,是一個壓縮包,我們解壓找到對應版本的檔案:主要有兩個,一個是。mll,另一個是。py。本人的目錄如下:

【新特性】LiveLink基本使用

我們將這兩個檔案複製到Maya的外掛目錄中,之後開啟Maya,在Windows>Settings/Preferences/Plugins Manager中找到著兩個檔案並載入。如圖所示:

【新特性】LiveLink基本使用

如果平時用的比較多,可以勾選“自動載入”,否則每次開啟Maya都需要重新操作一遍。

接下來我們回到MEL命令列,輸入 MayaLiveLinkUI 啟用我們的面板,右上角提示 “未連線”

【新特性】LiveLink基本使用

四、連線Maya和UE4

我們回到UE4的LiveLink視窗點選 Add新增我們的Maya客戶端,現在實在一臺機器上測試,正常情況下是支援所有聯網的裝置,不過我沒有測試。

【新特性】LiveLink基本使用

新增完成之後,UE4的視窗會有變化,Maya的視窗也會有變化

【新特性】LiveLink基本使用

【新特性】LiveLink基本使用

五、骨骼設定和實時動畫預覽

接下來我們需要建立Subject,回到Maya,在MayaLiveLink視窗中輸入自定義的SubjectName,此處我們使用 ThirdPerson(後面還回用到這個名字),選擇我們的RootBone,點選Add Subject即可。

回到UE4中,在LiveLink視窗中可以看到我們新增的 ThirdPerson。

雙擊開啟我們的骨骼,在Personal編輯器中找到PreviewSceneSettings並作如下設定:

【新特性】LiveLink基本使用

選擇LiveLink預覽模式,設定我們的Subject,之後根據需要設定相機同步。設定完成之後發現相機重新整理了,說明我們現在已經能夠做到和Maya中同步了。這時回到Maya中調節骨骼和動畫,那麼在UE4中就會實時重新整理。但是現在遇到一個奇怪的問題,就是軸向對不上,我猜想這是由於Maya和UE4向上的軸不一樣導致的。

但是如果我們的骨骼名稱在UE4中和Maya中對應不上,如在Maya中我們可能會新增字首,如ArcBlade:Spine,在UE4中我們直接叫做Spine,那麼這時候同步是有問題的。我們需要藉助UE4提供的骨骼對應資源進行處理。

回到UE4,建立藍圖類,父類為LiveLinkRemapAsset。雙擊開啟,我們需要重寫一個函式,將我們骨骼名稱中ArcBlade:去掉(讀者可以根據自己的實際情況處理,此處只是舉一個簡單的例子),最後將這個藍圖指定到我們上圖中Retarget Asset屬性中即可。

【新特性】LiveLink基本使用

【新特性】LiveLink基本使用

這樣的話,所有的一切就都正常啦,但是我們向看一下我們的動畫在遊戲執行過程中的一個狀態。我們需要藉助動畫藍圖。接下來建立一個動畫藍圖,在藍圖內建立一個特殊的節點 “LiveLinkPose”,SubjectName輸入我們之前自定義的 ThirdPerson,之後指定該節點的 Retarget Asset屬性,如果沒有則保持預設即可。

【新特性】LiveLink基本使用

之後將這個動畫藍圖賦予給我們的Character類,我們就可以在遊戲執行狀態下在Maya中調整動畫,在UE4中實時預覽。還是非常非常方便和節省時間的。

七、擴充套件

目前這款外掛只支援Maya和MotionBuilder。為啥?因為Epic使用Maya製作資源呀,所以近水樓臺嘛。但是如果你的技術足夠牛P,那麼你可以自己寫支援的外掛,這是官方給出的一個參考圖。

【新特性】LiveLink基本使用

本文參考連結 YouTube 以及 官方文件

後續文章更新移步→微信公眾號“虛幻社群”(mantra-xhsq),您的支援是我創作的動力。

歡迎大家加群討論:源尚草學院虛幻社群 524418526(一群已滿)790066685(請加二群)。

標簽: maya  動畫  UE4  LiveLink  我們