Hi everyone, Matt here with the Maya Learning Channel.
In a series of previous videos, Matt Harwood showed you how to connect assets
like cameras, lights, and props between Maya and Unreal.
You can click the link on your screen if you happened to miss out on those.
This plug-in allows you to do things like control the camera, change lighting,
or animate meshes in Maya while seeing those same assets update in realtime in Unreal.
However, one thing that it didn’t do was stream animation data
to Unreal level or animation sequences.
Well, thanks to an update to Live Link 2.0, that’s now possible too!
So let’s do a quick walkthrough of how this new workflow… well, works.
First, make sure you download the newest version of the Maya Unreal Live Link plug-in
and install it onto the same system that you have both Maya and Unreal installed.
I’ve posted a link to it in the description below.
Next, you’ll notice that we’re on Unreal 5 now.
While the interface is different,
all the same workflows we showed in the previous video still work, so don’t worry.
However, setting up the link is a bit different.
Now you need to load the Maya Live Link plug-in in Unreal,
rather than the old “Live Link” plug-in.
And once you do that, the Live Link Editor can be found in Unreal’s
Window > Virtual Production.
Finally, you’ll need to go to Source > Maya Live Link to link to your Maya session.
Next, I’m going to disable Autosave.
This is just to make sure that Unreal doesn’t inadvertently save
while Maya is in the process of sending it data (possibly causing a corruption).
Now we’re ready to start streaming!
There’s basically two ways to stream animation data to Unreal:
Either you stream a light, camera, or mesh to a level sequence,
or you stream a character to an animation sequence.
In both cases, you’ll need to use the Unreal Live Link Editor’s new Link button.
So for example, you’ll see that I already have this animated character in Maya
that I exported to Unreal using the File > Send to Unreal function,
making sure to enable Animation and Shape Attributes on export,
and Animations, Morph Targets, Custom Attributes, and No zero value curves on import.
To link them, I’ll first open the Unreal Live Link Editor
and add the character to the object list.
You need to be very careful here to ensure that the root node you add to the list
is the exact same one you exported to Unreal.
For example, if I added this group node here,
but had previously exported just the skeleton to Unreal, the link won’t work properly.
Once I click this button, I’ll need to select an Unreal character for this to map to.
Again, make sure that this character matches the one you exported from Maya.
Even small differences in the skeleton hierarchy could wildly corrupt your results.
And lastly, we can select or create a new sequence.
In this case, I’ll create a new one by typing in the path for it here and clicking Create.
Now, if you DO want to reuse some pre-existing sequence, once again,
make sure that this particular character exists in that sequence.
Now I’ll select the sequence I just created and click Link.
Notice the Link icon has turned yellow and there’s a progress bar
as Maya starts streaming data to Unreal.
And now in Unreal I can double-click the new animation sequence that I just created…
…and you’ll see the animation is there!
You’ll also notice there’s animation curves here for the blendshapes
I have running her expression,
as well as a custom attribute which I'll get to a little later.
Now if I need to make animation changes or tweaks in realtime,
I can just switch the Preview Controller to the “Maya Live Link Preview Controller”.
Just a note about blendshapes:
While I can edit the existing blendshapes and watch the results just fine,
I wouldn’t be able to add new blendshapes and just have them appear here.
For that, I’d have to re-export the modified character from Maya first,
then set up the link again.
The same goes for custom attributes,
which are also supported in the newest version of Live Link.
You could use these to do things like trigger in-game reactions
to specific parts of your animation –
like a dodge or parry window to this character’s downward slice.
One other thing you might notice is that every time I change or add a new key,
Maya stops for a moment to send that new data to Unreal.
Depending on the number of changes you’re making and the complexity of the asset,
this could get pretty annoying pretty fast.
Luckily, there’s this pause button in the Live Link window.
Just click it to pause the data stream from Maya to Unreal.
Then you can make a bunch of uninterrupted changes...
...then unpause when you’re done and Maya will send all those changes at once to Unreal.
Pretty handy if you ask me.
So that about does it for the character animation workflow.
The camera / light / and prop workflow is mostly the same with only a few differences.
For one, you would need to link to an Unreal actor, instead of a skeleton,
and a level sequence instead of an animation sequence.
Also, notice that like the level sequence section down here,
you can actually create new actors right in Maya to link to in Unreal.
This wasn’t possible with skeletons because they’re just too complex.
You can specify the path and name of your actor, as well as the type.
In particular, it’s useful to link to blueprint versions of actors
since they’ll give you the most versatility in Unreal.
When you do this, you just need to manually set the static mesh,
since that doesn’t get carried over from Maya.
Other than that, these work exactly the same way as characters!
Functionally, these are a bit less strict than the character skeletons I showed you earlier.
Especially for props, which all have the same supported attributes
(translate, rotate, and scale),
you can actually link completely different looking objects between Maya and Unreal.
This lets you do nifty things like use simpler Maya proxy objects
to animate complex Unreal objects – great for performance if your props are really complex!
You can then use subsequences to view all your streamed objects at once!
So that’s everything you need to know about transferring animation data
from Maya to Unreal using Live Link.
I definitely recommend downloading the plug-in via the link in the description
and giving it a try for yourself.
Until next time!