From 4de1ad07cb2ca39c84d6503dea9bd77362bcb611 Mon Sep 17 00:00:00 2001 From: i-saint Date: Thu, 1 Feb 2018 08:34:18 +0900 Subject: [PATCH] improve compatibility --- .../Scripts/Importer/AlembicStreamDescriptor.cs | 4 ++-- .../Alembic/Scripts/Importer/AlembicStreamPlayer.cs | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamDescriptor.cs b/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamDescriptor.cs index f9021128f..a3cc63bb0 100644 --- a/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamDescriptor.cs +++ b/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamDescriptor.cs @@ -9,8 +9,8 @@ public class AlembicStreamDescriptor : ScriptableObject [SerializeField] public AlembicStreamSettings settings = new AlembicStreamSettings(); [SerializeField] public bool hasVaryingTopology = false; [SerializeField] public bool hasAcyclicFramerate = false; - [SerializeField] public double abcStartTime = 0.0f; - [SerializeField] public double abcEndTime = 0.0f; + [SerializeField] public double abcStartTime = double.MinValue; + [SerializeField] public double abcEndTime = double.MaxValue; public double duration { get { return abcEndTime - abcStartTime; } } } diff --git a/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamPlayer.cs b/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamPlayer.cs index d643b5a23..e8fe16a9a 100644 --- a/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamPlayer.cs +++ b/AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamPlayer.cs @@ -18,9 +18,19 @@ public class AlembicStreamPlayer : MonoBehaviour public double duration { get { return m_endTime - m_startTime; } } + void Start() + { + OnValidate(); + } + void OnValidate() { - if (streamDescriptor == null) return; + if (streamDescriptor == null || m_stream == null) + return; + if (streamDescriptor.abcStartTime == double.MinValue) + streamDescriptor.abcStartTime = m_stream.abcTimeRange.startTime; + if (streamDescriptor.abcEndTime == double.MaxValue) + streamDescriptor.abcEndTime = m_stream.abcTimeRange.endTime; m_startTime = Mathf.Clamp((float)m_startTime, (float)streamDescriptor.abcStartTime, (float)streamDescriptor.abcEndTime); m_endTime = Mathf.Clamp((float)m_endTime, (float)m_startTime, (float)streamDescriptor.abcEndTime); ClampTime();