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();