Browse Source

Fixed state recording of soft body skinned constraints

Jorrit Rouwe 1 year ago
parent
commit
1d272ed17a
1 changed files with 14 additions and 0 deletions
  1. 14 0
      Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp

+ 14 - 0
Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp

@@ -1166,6 +1166,13 @@ void SoftBodyMotionProperties::SaveState(StateRecorder &inStream) const
 		inStream.Write(v.mVelocity);
 		inStream.Write(v.mVelocity);
 	}
 	}
 
 
+	for (const SkinState &s : mSkinState)
+	{
+		inStream.Write(s.mPreviousPosition);
+		inStream.Write(s.mPosition);
+		inStream.Write(s.mNormal);
+	}
+
 	inStream.Write(mLocalBounds.mMin);
 	inStream.Write(mLocalBounds.mMin);
 	inStream.Write(mLocalBounds.mMax);
 	inStream.Write(mLocalBounds.mMax);
 	inStream.Write(mLocalPredictedBounds.mMin);
 	inStream.Write(mLocalPredictedBounds.mMin);
@@ -1183,6 +1190,13 @@ void SoftBodyMotionProperties::RestoreState(StateRecorder &inStream)
 		inStream.Read(v.mVelocity);
 		inStream.Read(v.mVelocity);
 	}
 	}
 
 
+	for (SkinState &s : mSkinState)
+	{
+		inStream.Read(s.mPreviousPosition);
+		inStream.Read(s.mPosition);
+		inStream.Read(s.mNormal);
+	}
+
 	inStream.Read(mLocalBounds.mMin);
 	inStream.Read(mLocalBounds.mMin);
 	inStream.Read(mLocalBounds.mMax);
 	inStream.Read(mLocalBounds.mMax);
 	inStream.Read(mLocalPredictedBounds.mMin);
 	inStream.Read(mLocalPredictedBounds.mMin);