Skip to content

Commit 7fb21f0

Browse files
fixed issue with cacheSamples not having any effect.
1 parent fee0a5f commit 7fb21f0

File tree

5 files changed

+23
-38
lines changed

5 files changed

+23
-38
lines changed

AlembicImporter/Assets/UTJ/Alembic/Editor/Importer/AlembicImporter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public override void OnImportAsset(AssetImportContext ctx)
105105

106106
using (var abcStream = new AlembicStream(go, streamDescriptor))
107107
{
108-
abcStream.AbcLoad(true);
108+
abcStream.AbcLoad();
109109
AbcStartTime = abcStream.AbcStartTime;
110110
AbcEndTime = abcStream.AbcEndTime;
111111
AbcFrameCount = abcStream.AbcFrameCount;

AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AbcAPI.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,12 +341,12 @@ public static float GetAspectRatio(aiAspectRatioMode mode)
341341
}
342342
}
343343

344-
public static void UpdateAbcTree(aiContext ctx, AlembicTreeNode node, float time, bool createMissingNodes=false)
344+
public static void UpdateAbcTree(aiContext ctx, AlembicTreeNode node, float time, bool createMissingNodes=true)
345345
{
346346
var ic = new ImportContext
347347
{
348348
alembicTreeNode = node,
349-
//ss = aiTimeToSampleSelector(time),
349+
ss = aiTimeToSampleSelector(time),
350350
createMissingNodes = createMissingNodes,
351351
objectsToDelete = new List<aiObject>()
352352
};

AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStream.cs

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -149,36 +149,35 @@ public bool AbcUpdate(float time,float motionScale,bool interpolateSamples)
149149
return true;
150150
}
151151

152-
public void AbcLoad(bool createMissingNodes=false)
152+
public void AbcLoad()
153153
{
154154
m_Time = 0.0f;
155155

156156
m_Context = AbcAPI.aiCreateContext(alembicTreeRoot.linkedGameObj.GetInstanceID());
157-
m_Loaded = AbcAPI.aiLoad(m_Context,m_StreamDesc.pathToAbc);
158-
159-
160157

161-
if (m_Loaded)
162-
{
163-
var settings = m_StreamDesc.settings;
164-
m_Config.swapHandedness = settings.swapHandedness;
165-
m_Config.shareVertices = settings.shareVertices;
166-
m_Config.swapFaceWinding = settings.swapFaceWinding;
167-
m_Config.normalsMode = settings.normalsMode;
168-
m_Config.tangentsMode = settings.tangentsMode;
169-
m_Config.cacheSamples = settings.cacheSamples;
170-
m_Config.treatVertexExtraDataAsStatics = settings.treatVertexExtraDataAsStatics;
171-
m_Config.turnQuadEdges = settings.turnQuadEdges;
172-
m_Config.aspectRatio = AbcAPI.GetAspectRatio(settings.aspectRatioMode);
173-
m_Config.cacheTangentsSplits = true;
158+
var settings = m_StreamDesc.settings;
159+
m_Config.swapHandedness = settings.swapHandedness;
160+
m_Config.shareVertices = settings.shareVertices;
161+
m_Config.swapFaceWinding = settings.swapFaceWinding;
162+
m_Config.normalsMode = settings.normalsMode;
163+
m_Config.tangentsMode = settings.tangentsMode;
164+
m_Config.cacheSamples = settings.cacheSamples;
165+
m_Config.treatVertexExtraDataAsStatics = settings.treatVertexExtraDataAsStatics;
166+
m_Config.turnQuadEdges = settings.turnQuadEdges;
167+
m_Config.aspectRatio = AbcAPI.GetAspectRatio(settings.aspectRatioMode);
168+
m_Config.cacheTangentsSplits = true;
174169
#if !UNITY_2017_3_OR_NEWER
175-
m_Config.use32BitsIndexBuffer = settings.use32BitsIndexBuffer;
170+
m_Config.use32BitsIndexBuffer = settings.use32BitsIndexBuffer;
176171
#else
177-
m_Config.use32BitsIndexBuffer = false;
172+
m_Config.use32BitsIndexBuffer = false;
178173
#endif
179174
AbcAPI.aiSetConfig(m_Context, ref m_Config);
180175

181-
AbcAPI.UpdateAbcTree(m_Context, alembicTreeRoot, m_Time, createMissingNodes);
176+
m_Loaded = AbcAPI.aiLoad(m_Context,m_StreamDesc.pathToAbc);
177+
178+
if (m_Loaded)
179+
{
180+
AbcAPI.UpdateAbcTree(m_Context, alembicTreeRoot, m_Time);
182181
AlembicStream.s_Streams.Add(this);
183182
}
184183
else

AlembicImporter/Assets/UTJ/Alembic/Scripts/Importer/AlembicStreamPlayer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void LoadStream()
6868
{
6969
if (streamDescriptor == null) return;
7070
Stream = new AlembicStream(gameObject, streamDescriptor);
71-
Stream.AbcLoad(true);
71+
Stream.AbcLoad();
7272
m_ForceUpdate = true;
7373
}
7474

Plugin/abci/Importer/aiSchema.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ class aiSchemaBase
4040
void setSampleCallback(aiSampleCallback cb, void *arg);
4141
void invokeConfigCallback(aiConfig *config) const;
4242
void invokeSampleCallback(aiSampleBase *sample, bool topologyChanged) const;
43-
virtual void cacheAllSamples() =0;
4443
virtual void cacheSamples(int64_t startIndex, int64_t endIndex)=0;
4544
virtual int getTimeSamplingIndex() const = 0;
4645
virtual int getNumSamples() const = 0;
@@ -125,19 +124,6 @@ class aiTSchema : public aiSchemaBase
125124
return static_cast<int>(m_numSamples);
126125
}
127126

128-
void cacheAllSamples() override
129-
{
130-
if (m_constant)
131-
return;
132-
readConfig();
133-
for (int64_t i=0; i< m_numSamples ; i++)
134-
{
135-
auto &sp = m_samples[i];
136-
bool unused = i == 0;
137-
sp.reset(readSample(i, unused));
138-
}
139-
}
140-
141127
void cacheSamples(int64_t startIndex, int64_t endIndex) override
142128
{
143129
if (m_constant)

0 commit comments

Comments
 (0)