Skip to content

Commit e58a6c1

Browse files
committed
Revert "add support for recording multiple objects from one recorder"
This reverts commit 7273fdc.
1 parent 7273fdc commit e58a6c1

File tree

5 files changed

+53
-131
lines changed

5 files changed

+53
-131
lines changed

com.unity.formats.fbx/Editor/Sources/Recorders/FbxRecorder/FbxInput.cs

Lines changed: 0 additions & 50 deletions
This file was deleted.

com.unity.formats.fbx/Editor/Sources/Recorders/FbxRecorder/FbxInput.cs.meta

Lines changed: 0 additions & 11 deletions
This file was deleted.

com.unity.formats.fbx/Editor/Sources/Recorders/FbxRecorder/FbxInputSettings.cs.meta

Lines changed: 0 additions & 11 deletions
This file was deleted.

com.unity.formats.fbx/Editor/Sources/Recorders/FbxRecorder/FbxRecorder.cs

Lines changed: 43 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -21,67 +21,61 @@ public override void EndRecording(RecordingSession session)
2121
foreach (var input in m_Inputs)
2222
{
2323

24-
var aInput = (FbxInput)input;
24+
var aInput = (AnimationInput)input;
2525

26-
var recorders = aInput.gameObjectRecorder;
27-
var gameObjects = ((FbxInputSettings)aInput.settings).gameObjects;
28-
if (recorders == null || recorders.Length <= 0)
26+
if (aInput.gameObjectRecorder == null)
2927
continue;
3028

31-
var clips = new AnimationClip[recorders.Length];
32-
for (int i = 0; i < recorders.Length; i++)
33-
{
34-
clips[i] = new AnimationClip();
35-
36-
ars.fileNameGenerator.CreateDirectory(session);
29+
var clip = new AnimationClip();
3730

38-
var absolutePath = FileNameGenerator.SanitizePath(ars.fileNameGenerator.BuildAbsolutePath(session));
39-
var clipName = absolutePath.Replace(FileNameGenerator.SanitizePath(Application.dataPath), "Assets");
31+
ars.fileNameGenerator.CreateDirectory(session);
4032

41-
//AssetDatabase.CreateAsset(clip, clipName);
42-
#if UNITY_2018_3_OR_NEWER
43-
recorders[i].SaveToClip(clips[i], ars.frameRate);
33+
var absolutePath = FileNameGenerator.SanitizePath(ars.fileNameGenerator.BuildAbsolutePath(session));
34+
var clipName = absolutePath.Replace(FileNameGenerator.SanitizePath(Application.dataPath), "Assets");
35+
36+
//AssetDatabase.CreateAsset(clip, clipName);
37+
#if UNITY_2018_3_OR_NEWER
38+
aInput.gameObjectRecorder.SaveToClip(clip, ars.frameRate);
4439
#else
45-
recorder.SaveToClip(clip);
40+
aInput.gameObjectRecorder.SaveToClip(clip);
4641
#endif
47-
var root = gameObjects[i];
48-
clips[i].name = "recorded_clip";
49-
clips[i].legacy = true;
50-
Animation animator = root.GetComponent<Animation>();
51-
bool hasAnimComponent = true;
52-
if (!animator)
53-
{
54-
animator = root.AddComponent<Animation>();
55-
hasAnimComponent = false;
56-
}
42+
var root = ((AnimationInputSettings)aInput.settings).gameObject;
43+
clip.name = "recorded_clip";
44+
clip.legacy = true;
45+
Animation animator = root.GetComponent<Animation>();
46+
bool hasAnimComponent = true;
47+
if (!animator)
48+
{
49+
animator = root.AddComponent<Animation>();
50+
hasAnimComponent = false;
51+
}
5752

58-
AnimationClip[] prevAnimClips = null;
59-
if (hasAnimComponent)
60-
{
61-
prevAnimClips = AnimationUtility.GetAnimationClips(root);
62-
}
53+
AnimationClip[] prevAnimClips = null;
54+
if (hasAnimComponent)
55+
{
56+
prevAnimClips = AnimationUtility.GetAnimationClips(root);
57+
}
6358

64-
AnimationUtility.SetAnimationClips(animator, new AnimationClip[] { clips[i] });
65-
var exportSettings = new ExportModelSettingsSerialize();
66-
var toInclude = ExportSettings.Include.ModelAndAnim;
67-
if (!ars.ExportGeometry)
68-
{
69-
toInclude = ExportSettings.Include.Anim;
70-
}
71-
exportSettings.SetModelAnimIncludeOption(toInclude);
72-
ModelExporter.ExportObject(clipName, root, exportSettings);
59+
AnimationUtility.SetAnimationClips(animator, new AnimationClip[] { clip });
60+
var exportSettings = new ExportModelSettingsSerialize();
61+
var toInclude = ExportSettings.Include.ModelAndAnim;
62+
if (!ars.ExportGeometry)
63+
{
64+
toInclude = ExportSettings.Include.Anim;
65+
}
66+
exportSettings.SetModelAnimIncludeOption(toInclude);
67+
ModelExporter.ExportObject(clipName, root, exportSettings);
7368

7469

75-
if (hasAnimComponent)
76-
{
77-
AnimationUtility.SetAnimationClips(animator, prevAnimClips);
78-
}
79-
else
80-
{
81-
Object.DestroyImmediate(animator);
82-
}
83-
recorders[i].ResetRecording();
70+
if (hasAnimComponent)
71+
{
72+
AnimationUtility.SetAnimationClips(animator, prevAnimClips);
73+
}
74+
else
75+
{
76+
Object.DestroyImmediate(animator);
8477
}
78+
aInput.gameObjectRecorder.ResetRecording();
8579
}
8680
base.EndRecording(session);
8781
}

com.unity.formats.fbx/Editor/Sources/Recorders/FbxRecorder/FbxRecorderSettings.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,36 +22,36 @@ public bool ExportGeometry
2222
}
2323
}
2424

25-
[SerializeField] FbxInputSettings m_AnimationInputSettings = new FbxInputSettings();
25+
[SerializeField] AnimationInputSettings m_AnimationInputSettings = new AnimationInputSettings();
2626

27-
public FbxInputSettings animationInputSettings
27+
public AnimationInputSettings animationInputSettings
2828
{
2929
get { return m_AnimationInputSettings; }
3030
set { m_AnimationInputSettings = value; }
3131
}
3232

3333
public FbxRecorderSettings()
3434
{
35-
//var goWildcard = DefaultWildcard.GeneratePattern("GameObject");
35+
var goWildcard = DefaultWildcard.GeneratePattern("GameObject");
3636

37-
//fileNameGenerator.AddWildcard(goWildcard, GameObjectNameResolver);
37+
fileNameGenerator.AddWildcard(goWildcard, GameObjectNameResolver);
3838
fileNameGenerator.AddWildcard(DefaultWildcard.GeneratePattern("GameObjectScene"), GameObjectSceneNameResolver);
3939

4040
fileNameGenerator.forceAssetsFolder = true;
4141
fileNameGenerator.root = OutputPath.Root.AssetsFolder;
42-
fileNameGenerator.fileName = "animation_" /*+ goWildcard*/ + "@" + DefaultWildcard.Take;
42+
fileNameGenerator.fileName = "animation_" + goWildcard + "_" + DefaultWildcard.Take;
4343
}
4444

4545
string GameObjectNameResolver(RecordingSession session)
4646
{
47-
var go = m_AnimationInputSettings.gameObjects;
48-
return /*go != null ? go[0].name :*/ "None";
47+
var go = m_AnimationInputSettings.gameObject;
48+
return go != null ? go.name : "None";
4949
}
5050

5151
string GameObjectSceneNameResolver(RecordingSession session)
5252
{
53-
var go = m_AnimationInputSettings.gameObjects;
54-
return go != null && go.Length > 0 ? go[0].scene.name : "None";
53+
var go = m_AnimationInputSettings.gameObject;
54+
return go != null ? go.scene.name : "None";
5555
}
5656

5757
public override bool isPlatformSupported
@@ -73,7 +73,7 @@ internal override bool ValidityCheck(List<string> errors)
7373
{
7474
var ok = base.ValidityCheck(errors);
7575

76-
if (m_AnimationInputSettings.gameObjects == null)
76+
if (m_AnimationInputSettings.gameObject == null)
7777
{
7878
ok = false;
7979
errors.Add("No input object set");

0 commit comments

Comments
 (0)