Export Locators as Sockets from Maya LT to UE4

Hi Gang.
First post - apologies as I’ve trawled through the Forums already looking for answers to this question…but none have helped so I’m trying anew.

I’m trying to export Locators as Sockets from Maya LT into UE 4.9.2.

I’m naming the Locator “SOCKET_TEST01”. The Locator is parented to a SINGLE mesh and exported using FBX 2014/2015 from Maya. Easy enough eh?

When viewed in UE4 though…the Socket is visible…but its location is wayyy off where it should be.

It’s so odd. When double-checking the Translation and Rotation figures I can see there is a negative value placed on the Y Translation and Y Rotation. But even changing that manually to reflect the Maya scene doesn’t put the Locator/SOCKET where it should be!

I’ve tried fiddling with the FBX plugin settings. Changing UP from Y to Z, etc…nothing works. No matter what I do the locator/SOCKET never ends up in the right place or the correct orientation.

We’re testing with Blender and apparently no problems there. I assume that means it’s all Maya LT’s fault? I wish I had a copy of normal Maya to test it against but I’ve already used up that free trial…
If there are any Maya users out there who could help it would be most appreciated.

thanks and all best
p.

Maya LT 2015/16
Unreal 4.9.2
FBX 2014/15
Windows 8

I know this thread is a bit old but here is one solution that works for me:
First of all: All tested in Maya 2015 and UE4 4.12.5
Yes! The problem also exists in Maya. AFAIK its because of the different coordinate systems.

I created a simple cube with a couple of locators parented under it:

Do not freeze transformations.
Make sure that “inherit transform” flag is on.
Avoid rotation on y and z axes.

When exporting from maya use y-up.
When importing to unreal use "Bake Pivot in Vertex and “Transform Vertex to Absolut Transform”

As you can see from the screenshots, all locators are in the correct location:

But: Regarding the rotation, the y and z values are swapped.

Solution to that:

A: Swap them back manually in UE4.

B: Use this script in maya before exporting your scene (MAKE A BACKUP BEFOREHAND):
**

Start of script. finds all locators in a scene and swaps the y and z rotations. z is also negated.

Author: Fabian Quosdorf

Licence: CC - Creative Commons - Wikipedia

import maya.cmds as cmds
locators = cmds.ls(type=(‘locator’), l=True) or ]
loc_parents = cmds.listRelatives(*locators, p=True, f=True) or ]
loc_parents.sort(reverse=True)
for l in loc_parents:
angleZ = -1 * cmds.getAttr(l+“.rotateZ”)
cmds.setAttr(l+“.rotateZ”, cmds.getAttr(l+“.rotateY”))
cmds.setAttr(l+“.rotateY”, angleZ)

#End of script**

Hope this helps!

Maya 2015
Unreal 4.12.5
FBX 2014/15
Windows 10

3 Likes

I know this is an old post but I just wanted to thank you for taking the time to write this out. I’m having the same issue you were having back in 2016 (8 yrs ago!) and this was extremely helpful for troubleshooting what was going on (and setting up a pipeline that actually works)!