From 67c850985ea30b51204db9746bef2ca3f4a4b374 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Fri, 2 Oct 2020 09:59:53 -0400 Subject: [PATCH 1/6] JIRA: ABC-164 Doc build warning (#362) * JIRA: ABC-164 API documentation build generates warnings * Update the License year. * Add the doctools package in the AlembicImporter project * Fix casing that generates warnings (on OSX) * Doc Tweaks. --- TestProjects/AlembicImporter/Packages/manifest.json | 10 ++++++++++ .../Documentation~/ref_Recorder.md | 2 +- com.unity.formats.alembic/LICENSE.md | 2 +- .../Runtime/Scripts/Timeline/AlembicShotAsset.cs | 11 +++++++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/TestProjects/AlembicImporter/Packages/manifest.json b/TestProjects/AlembicImporter/Packages/manifest.json index 8691e38b6..339800b2e 100644 --- a/TestProjects/AlembicImporter/Packages/manifest.json +++ b/TestProjects/AlembicImporter/Packages/manifest.json @@ -1,8 +1,18 @@ { + "scopedRegistries": [ + { + "name": "Candidates", + "url": "https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-candidates", + "scopes": [ + "com.unity.package-manager-doctools" + ] + } + ], "dependencies": { "com.unity.2d.sprite": "1.0.0", "com.unity.2d.tilemap": "1.0.0", "com.unity.coding": "0.1.0-preview.17", + "com.unity.package-manager-doctools":"1.6.1-preview", "com.unity.formats.alembic": "file:../../../com.unity.formats.alembic", "com.unity.ide.rider": "1.1.4", "com.unity.ide.vscode": "1.2.0", diff --git a/com.unity.formats.alembic/Documentation~/ref_Recorder.md b/com.unity.formats.alembic/Documentation~/ref_Recorder.md index 6c73d4758..b75eec3eb 100644 --- a/com.unity.formats.alembic/Documentation~/ref_Recorder.md +++ b/com.unity.formats.alembic/Documentation~/ref_Recorder.md @@ -6,7 +6,7 @@ This section covers all properties specific to the Alembic Clip Recorder type. > * You must install the [Unity Recorder](https://docs.unity3d.com/Packages/com.unity.recorder@latest/index.html) package (minimum version: 2.0.0) to use the Alembic Clip Recorder. > * To fully configure an Alembic Clip Recorder, you must also set the global Recording Properties for the capture (properties shared with the other recorders, such as the frames to record). The [Unity Recorder documentation](https://docs.unity3d.com/Packages/com.unity.recorder@latest/index.html) describes these properties in detail. -![](Images/alembic-recorder-window.png) +![](images/alembic-recorder-window.png) The Alembic Clip Recorder properties fall into three main categories: * [Output File](#output-file) diff --git a/com.unity.formats.alembic/LICENSE.md b/com.unity.formats.alembic/LICENSE.md index 0232067df..a79799909 100644 --- a/com.unity.formats.alembic/LICENSE.md +++ b/com.unity.formats.alembic/LICENSE.md @@ -1,4 +1,4 @@ -Alembic for Unity copyright © [2019] Unity Technologies ApS +Alembic for Unity copyright © [2020] Unity Technologies ApS Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License). diff --git a/com.unity.formats.alembic/Runtime/Scripts/Timeline/AlembicShotAsset.cs b/com.unity.formats.alembic/Runtime/Scripts/Timeline/AlembicShotAsset.cs index f836578c7..c5303ff8a 100644 --- a/com.unity.formats.alembic/Runtime/Scripts/Timeline/AlembicShotAsset.cs +++ b/com.unity.formats.alembic/Runtime/Scripts/Timeline/AlembicShotAsset.cs @@ -27,7 +27,12 @@ public ExposedReference StreamPlayer set { streamPlayer = value; } } - /// + /// + /// For more information see: https://docs.unity3d.com/ScriptReference/Playables.PlayableAsset.CreatePlayable.html + /// + /// The Playable Graph. + /// The GameObject containing the PlayableDirector. + /// The playable that drives the AlembicStreamPlayer. public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) { var playable = ScriptPlayable.Create(graph); @@ -37,7 +42,9 @@ public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) return playable; } - /// + /// + /// Returns the duration selected through the AlembicStreamPlayer. + /// public override double duration { get From 5ea478d6dd6e1a0ab491fcac6f3f5d267c6b6242 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Fri, 2 Oct 2020 12:57:37 -0400 Subject: [PATCH 2/6] JIRA: ABC-162 Remove compilation warning. (#361) --- .../UnityRecorder/Recorder/AlembicRecorderSettingsEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.formats.alembic/Editor/UnityRecorder/Recorder/AlembicRecorderSettingsEditor.cs b/com.unity.formats.alembic/Editor/UnityRecorder/Recorder/AlembicRecorderSettingsEditor.cs index 8e43f8b29..5fc700df3 100644 --- a/com.unity.formats.alembic/Editor/UnityRecorder/Recorder/AlembicRecorderSettingsEditor.cs +++ b/com.unity.formats.alembic/Editor/UnityRecorder/Recorder/AlembicRecorderSettingsEditor.cs @@ -12,7 +12,7 @@ class AlembicRecorderSettingsEditor : RecorderEditor SavedBool m_foldCaptureComponents; SavedBool m_foldMeshComponents; - public void OnEnable() + protected override void OnEnable() { base.OnEnable(); m_foldCaptureComponents = new SavedBool($"{target.GetType()}.m_foldCaptureComponents", false); From 5475a788c9506f08d8f065bd0d41a367c5206da5 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Fri, 2 Oct 2020 14:08:10 -0400 Subject: [PATCH 3/6] ABC-160: Hide out of project asset stream incomplete API (#357) * ABC-160: Hide out of project asset stream incomplete API * Tweak doc. --- .../Tests/Unity.Formats.Alembic.RecorderTests.Runtime.asmdef | 4 ++-- com.unity.formats.alembic/Runtime/Scripts/Exporter/AbcAPI.cs | 1 + .../Runtime/Scripts/Importer/AlembicStreamPlayer.cs | 4 ++-- .../Runtime/Unity.Formats.Alembic.Runtime.api | 1 - 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/TestProjects/AlembicRecorder/Assets/Tests/Unity.Formats.Alembic.RecorderTests.Runtime.asmdef b/TestProjects/AlembicRecorder/Assets/Tests/Unity.Formats.Alembic.RecorderTests.Runtime.asmdef index 5e4305e06..2839dcd15 100644 --- a/TestProjects/AlembicRecorder/Assets/Tests/Unity.Formats.Alembic.RecorderTests.Runtime.asmdef +++ b/TestProjects/AlembicRecorder/Assets/Tests/Unity.Formats.Alembic.RecorderTests.Runtime.asmdef @@ -1,5 +1,5 @@ { - "name": "Unity.Formats.Alembic.RecorderTests.Runtime", + "name": "Unity.Formats.Alembic.RecorderTests.Editor", "references": [ "UnityEngine.TestRunner", "UnityEditor.TestRunner", @@ -21,4 +21,4 @@ ], "versionDefines": [], "noEngineReferences": false -} +} \ No newline at end of file diff --git a/com.unity.formats.alembic/Runtime/Scripts/Exporter/AbcAPI.cs b/com.unity.formats.alembic/Runtime/Scripts/Exporter/AbcAPI.cs index a1a552d53..bd6a2d468 100644 --- a/com.unity.formats.alembic/Runtime/Scripts/Exporter/AbcAPI.cs +++ b/com.unity.formats.alembic/Runtime/Scripts/Exporter/AbcAPI.cs @@ -5,6 +5,7 @@ [assembly: InternalsVisibleTo("Unity.Formats.Alembic.UnitTests.Editor")] [assembly: InternalsVisibleTo("Unity.Formats.Alembic.UnitTests.Runtime")] +[assembly: InternalsVisibleTo("Unity.Formats.Alembic.RecorderTests.Editor")] [assembly: InternalsVisibleTo("Unity.Formats.Alembic.Tests")] [assembly: InternalsVisibleTo("Unity.Formats.Alembic.Editor")] diff --git a/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicStreamPlayer.cs b/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicStreamPlayer.cs index 9a1994d0e..9b335adae 100644 --- a/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicStreamPlayer.cs +++ b/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicStreamPlayer.cs @@ -104,7 +104,7 @@ public float VertexMotionScale public string PathToAbc => StreamDescriptor != null ? StreamDescriptor.PathToAbc : ""; /// - /// The stream import options. + /// The stream import options. NOTE: these options are shared between all instances of this asset. /// public AlembicStreamSettings Settings => StreamDescriptor != null ? StreamDescriptor.Settings : null; @@ -129,7 +129,7 @@ public void UpdateImmediately(float time) /// /// Path to the new file. /// True if the load succeeded, false otherwise. - public bool LoadFromFile(string newPath) + internal bool LoadFromFile(string newPath) { if (StreamDescriptor == null) { diff --git a/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.api b/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.api index f82f6127c..c3480f762 100644 --- a/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.api +++ b/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.api @@ -49,7 +49,6 @@ namespace UnityEngine.Formats.Alembic.Importer public float StartTime { get; set; } public float VertexMotionScale { get; set; } public AlembicStreamPlayer() {} - public bool LoadFromFile(string newPath); public void UpdateImmediately(float time); } From b385108f08a889a5ddfd942eb89658ae04d95d57 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Tue, 13 Oct 2020 09:29:00 -0400 Subject: [PATCH 4/6] Bump package version to 2.1.0-preview.4 (#363) --- com.unity.formats.alembic/CHANGELOG.md | 2 +- com.unity.formats.alembic/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.formats.alembic/CHANGELOG.md b/com.unity.formats.alembic/CHANGELOG.md index 2645ae57a..5e5df4e89 100644 --- a/com.unity.formats.alembic/CHANGELOG.md +++ b/com.unity.formats.alembic/CHANGELOG.md @@ -1,6 +1,6 @@ # Changes in Alembic for Unity -## [2.1.0-preview.3] - 2020-09-24 +## [2.1.0-preview.4] - 2020-09-24 ### Feature - Added Unity recorder integration (compatible with Unity Recorder >= 2.2.0). diff --git a/com.unity.formats.alembic/package.json b/com.unity.formats.alembic/package.json index 722f1d183..ef7875cd6 100644 --- a/com.unity.formats.alembic/package.json +++ b/com.unity.formats.alembic/package.json @@ -15,5 +15,5 @@ ], "name": "com.unity.formats.alembic", "unity": "2019.3", - "version": "2.1.0-preview.3" + "version": "2.1.0-preview.4" } From a30edfb137c82ed7d49e64768f0d7bed718f11b5 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Tue, 27 Oct 2020 15:35:14 -0400 Subject: [PATCH 5/6] Package version (#364) * Bump to 2.1.1-pre.1 * Change burst dependency for verification to a soft dependency. --- com.unity.formats.alembic/CHANGELOG.md | 4 ++-- .../Runtime/Scripts/Importer/AlembicMesh.cs | 3 ++- .../Runtime/Unity.Formats.Alembic.Runtime.asmdef | 10 ++++++++-- com.unity.formats.alembic/package.json | 5 ++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/com.unity.formats.alembic/CHANGELOG.md b/com.unity.formats.alembic/CHANGELOG.md index 5e5df4e89..cfd360647 100644 --- a/com.unity.formats.alembic/CHANGELOG.md +++ b/com.unity.formats.alembic/CHANGELOG.md @@ -1,6 +1,6 @@ # Changes in Alembic for Unity -## [2.1.0-preview.4] - 2020-09-24 +## [2.1.1-pre.1] - 2020-10-21 ### Feature - Added Unity recorder integration (compatible with Unity Recorder >= 2.2.0). @@ -9,7 +9,7 @@ - Fixed a bug that caused a crash when exporting a GameObject with a MeshRender but without a MeshFilter Component. - Fixed a bug where the visibility was not properly read if it was the only animated property of the object. - When the timeline does discontinuous time updates (scrubbing), the alembic updates the scene synchronously. -- Updated dependency to Burst 1.3.6 (Eliminate the need to have a C++ compiler for x86-64 Mono builds). +- Updated optional dependency to Burst 1.1.1 or newer. ## [2.0.1-preview.1] - 2020-05-29 ### Changes diff --git a/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicMesh.cs b/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicMesh.cs index 7a3d3f6c5..9de7b37a9 100644 --- a/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicMesh.cs +++ b/com.unity.formats.alembic/Runtime/Scripts/Importer/AlembicMesh.cs @@ -292,8 +292,9 @@ public void Execute() sample.FillVertexBuffer(splitData, submeshData); } } - +#if BURST_AVAILABLE [BurstCompile] +#endif struct MultiplyByConstant : IJobParallelFor { [NativeDisableUnsafePtrRestriction] diff --git a/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.asmdef b/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.asmdef index 6eaf38e57..25b9bb920 100644 --- a/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.asmdef +++ b/com.unity.formats.alembic/Runtime/Unity.Formats.Alembic.Runtime.asmdef @@ -16,6 +16,12 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [], + "versionDefines": [ + { + "name": "com.unity.burst", + "expression": "1.1.1", + "define": "BURST_AVAILABLE" + } + ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/com.unity.formats.alembic/package.json b/com.unity.formats.alembic/package.json index ef7875cd6..26eaa597e 100644 --- a/com.unity.formats.alembic/package.json +++ b/com.unity.formats.alembic/package.json @@ -1,7 +1,6 @@ { "dependencies": { - "com.unity.timeline": "1.0.0", - "com.unity.burst": "1.3.6" + "com.unity.timeline": "1.0.0" }, "description": "Import and export Alembic files (.abc), record and stream animations in the Alembic format directly in Unity.\n\nThe Alembic format is commonly used in animation to transfer facial, cloth, and other simulation between applications.\n\nIMPORTANT: Alembic for Unity ony supports Windows 64-bit, MacOS X and Linux 64-bit as build targets.", "displayName": "Alembic", @@ -15,5 +14,5 @@ ], "name": "com.unity.formats.alembic", "unity": "2019.3", - "version": "2.1.0-preview.4" + "version": "2.1.1-pre.1" } From d13021b7aff4587fa71573f7743c5ee1242dd655 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Wed, 28 Oct 2020 10:18:43 -0400 Subject: [PATCH 6/6] Fix validation suite warnings. (#366) --- com.unity.formats.alembic/CHANGELOG.md | 4 ++-- com.unity.formats.alembic/LICENSE.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/com.unity.formats.alembic/CHANGELOG.md b/com.unity.formats.alembic/CHANGELOG.md index cfd360647..68e661f8b 100644 --- a/com.unity.formats.alembic/CHANGELOG.md +++ b/com.unity.formats.alembic/CHANGELOG.md @@ -47,7 +47,7 @@ ### Changes - Fixed regression introduced in 1.0.4 where old Alembic scene instances would lose prefab connection. New scene instances made with 1.0.4 are unfortunately unrecoverable -## [1.0.4] - 2019-05-2 +## [1.0.4] - 2019-05-02 ### Changes - Fixed crash in the Exporter when using SwapFaces - Fixed Branch recording mode in the Exporter @@ -57,7 +57,7 @@ - Fixed regression, where absolute paths to alembic assets were stored - Alembic importer and Exporter correctly deals with physical Camera parameters -## [1.0.3] - 2019-04-9 +## [1.0.3] - 2019-04-09 ### Changes - Do not lock Alembic files when Windows - Fix InheritXform on files from Blender diff --git a/com.unity.formats.alembic/LICENSE.md b/com.unity.formats.alembic/LICENSE.md index a79799909..93401ae5d 100644 --- a/com.unity.formats.alembic/LICENSE.md +++ b/com.unity.formats.alembic/LICENSE.md @@ -1,4 +1,4 @@ -Alembic for Unity copyright © [2020] Unity Technologies ApS +com.unity.formats.alembic copyright © 2020 Unity Technologies ApS Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License).