diff --git a/AssetStudio/IImported.cs b/AssetStudio/IImported.cs index 05578af..6b1ad46 100644 --- a/AssetStudio/IImported.cs +++ b/AssetStudio/IImported.cs @@ -205,7 +205,7 @@ namespace AssetStudio public class ImportedKeyframedAnimation { public string Name { get; set; } - + public float SampleRate { get; set; } public List TrackList { get; set; } public ImportedAnimationKeyframedTrack FindTrack(string path) diff --git a/AssetStudioFBX/AssetStudioFBXExporter.cpp b/AssetStudioFBX/AssetStudioFBXExporter.cpp index d515912..2e35076 100644 --- a/AssetStudioFBX/AssetStudioFBXExporter.cpp +++ b/AssetStudioFBX/AssetStudioFBXExporter.cpp @@ -49,6 +49,11 @@ namespace AssetStudio FbxGlobalSettings& globalSettings = pScene->GetGlobalSettings(); globalSettings.SetSystemUnit(FbxSystemUnit(scaleFactor)); + auto ani = imported->AnimationList[0]; + if (ani->SampleRate == 60.0f) + { + globalSettings.SetTimeMode(FbxTime::eFrames60); + } cDest = StringToUTF8(name); pExporter = FbxExporter::Create(pScene, ""); diff --git a/AssetStudioUtility/ModelConverter.cs b/AssetStudioUtility/ModelConverter.cs index 48ad2fa..1807cec 100644 --- a/AssetStudioUtility/ModelConverter.cs +++ b/AssetStudioUtility/ModelConverter.cs @@ -673,6 +673,7 @@ namespace AssetStudio } } iAnim.Name = name; + iAnim.SampleRate = animationClip.m_SampleRate; iAnim.TrackList = new List(); AnimationList.Add(iAnim); if (animationClip.m_Legacy)