Units=Inches, Import to UE4 with ConvertUnits, Root Bone is Scaled 2.54

Units=Inches, Import to UE4 with ConvertUnits, Root Bone is Scaled 2.54

Anonymous
3,714 Views
10 Replies
Message 1 of 11

Units=Inches, Import to UE4 with ConvertUnits, Root Bone is Scaled 2.54

Anonymous
Not applicable

3ds Max to UE4 leaves my Root Bone with non 1 scale.

 

I can't import in UE4 with NonUniformScale because Montages will scale the Root back to 1 during play, breaking the animation.

 

I tried CM vs INCHES but then import will leave mesh TINY, whether I enable ConvertUnits or not.

 

No other bone is being scaled.
All bones in 3ds max have been reset scale/stretch using Animation/BoneTools & the mesh reset using ResetXForm, setting Deform Off then back On before/after CollapseTo ResetXForm (below Skin Modifier)

0 Likes
Accepted solutions (1)
3,715 Views
10 Replies
Replies (10)
Message 2 of 11

ads_royje
Alumni
Alumni

Hi @Anonymous,

 

when exporting to FBX, to get a 1:1 scale the Max scene System Units must be set to CM.

This can be verified exporting the fbx as ascii file.

Reading the fbx file at the top of the file, when exported as cm :

GlobalSettings:
P: "UnitScaleFactor", "double", "Number", "",1
P: "OriginalUnitScaleFactor", "double", "Number", "",1

when exported as inches:

GlobalSettings:
P: "UnitScaleFactor", "double", "Number", "",2.54
P: "OriginalUnitScaleFactor", "double", "Number", "",2.54


I read that you have tried cm and did not work.
But you can try to read the fbx ascii and see the scale value in the fbx file.
If it is set to 1, then there is not scale in the fbx file.

I hope this can help! 🙂

 

Message 3 of 11

Anonymous
Not applicable

I could only find .ASE filetype and it does not have the lines of code which you mention.
How should I export the .fbx as an ASCII file?

0 Likes
Message 4 of 11

ads_royje
Alumni
Alumni

ha! Sorry I was convinced you were exporting using fbx!

in the .ase I don't know what line it would be.

 

File > Export > Export

in the drop down, choose .FBX file type

give a name and save, a UI for Export options will appear.

Advanced Options > FBX file format > Type:

Change Binary to ASCII.

Export.

 

In the fbx file you should be able to see what scale value is exported.

 

If you get a 2.54 scale value in EU4, it comes from Inches to Cm translation. 

Once in Cm in Max system units, and that the root object has a 100% scale, you should get a scale at 1.0 in UE4, as is. 

 

Message 5 of 11

Anonymous
Not applicable

In the .fbx (ASCII file format) I noticed it displayed a value of 2.54, thus meaning I exported in Inches.

I changed it to export in Centimeters and the Root Bone didn't change scale, it is still 1. (Note: I did not simply change the 2.54 to 1 in the .fbx file, I just changed the Unit Scale in 3ds max)

 

I imported to UE4, however the Skeleton's Root Bone is now a scale of 2.54

 

Whenever a Montage plays, the Root Bone will scale from it's original 2.54 down to 1 and back to 2.54 when the Montage's Animation is done playing.

Changing Import Settings, i.e. Uniform Scale and it changes the Root Bone scale as well.

0 Likes
Message 6 of 11

ads_royje
Alumni
Alumni

If in the fbx the scale is now 1

in the import in UE4, isn't there an import scale factor in the fbx importer ?

if it scales to 2.54, the importer "thinks" that 1 is an inch

 

Message 7 of 11

Anonymous
Not applicable

When I import with a scale factor, within UE4, then the Root Bone gets scaled. So if I import with a scale factor of 2.54, then the Root Bone and only that will be a scale of 2.54.
But any value other than 1 will result in animations growing and shrinking if they are played with an Animation Montage.

 

I tried importing with CM and IN and both times I imported, also tried re-import scale factor, and then added to a Montage, the Root would scale up/down when any animation was placed in a Montage. Somehow Montages will play with a Scale of 1...

0 Likes
Message 8 of 11

Anonymous
Not applicable

Nothing seems to work:
Scaling Root Bone using BoneTools
Import using CM or IN

Re-Import using CM or IN
Import using NonUniformScale Factor
Re-Import using NonUniformScale Factor

0 Likes
Message 9 of 11

Anonymous
Not applicable

I am still having trouble.
Could I send you my 3ds Max scene with the model and rig for you to try to export? Do you have Unreal Engine 4, so to go as far as testing import into UE4?

Basically, I think it might be a bug, in which UE4 importer is having trouble converting after exporting from 3ds max, or other modeling software like blender (which I don't use, but there has been a bug in UE4's history).

 

I have always kept my 3ds Max export settings set to "Auto" for Units.
I just want a .fbx or .uasset which has the rig's root scale of 1 and actual scale of inches...because centimeters just makes the mesh too small inside UE4.

 

 

0 Likes
Message 10 of 11

ads_royje
Alumni
Alumni
Accepted solution

Hi @Anonymous,

 

the units for a 1:1 scaling ratio is "cm", in Max, when exporting to other DCCs or any game engine. Using inches will give a 1:2.54 scaling ratio

1.0 unit (as cm) scale in Max => 1.0 unit scale in fbx => 1.0 unit scale in ue4

if

1.0 unit (as inch) scale in Max => 2.54 unit scale in fbx => 2.54 unit scale in ue4

As an inch is 2.54 cm, using the tool "Rescale World Units" in Max to scale up (by 2.54) the whole scene (in cm) without affecting the scale value, every objects in the scene will keep a scale of 100% and be 2.54 times bigger in ue4.

 

 

Message 11 of 11

Anonymous
Not applicable

Thanks! I did not know this feature existed.
Scaling the scene units without scaling individual object scale values did the trick!