瀏覽代碼

Fixed state recording of soft body skinned constraints

Jorrit Rouwe 1 年之前
父節點
當前提交
1d272ed17a
共有 1 個文件被更改,包括 14 次插入0 次删除
  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);
 	}
 
+	for (const SkinState &s : mSkinState)
+	{
+		inStream.Write(s.mPreviousPosition);
+		inStream.Write(s.mPosition);
+		inStream.Write(s.mNormal);
+	}
+
 	inStream.Write(mLocalBounds.mMin);
 	inStream.Write(mLocalBounds.mMax);
 	inStream.Write(mLocalPredictedBounds.mMin);
@@ -1183,6 +1190,13 @@ void SoftBodyMotionProperties::RestoreState(StateRecorder &inStream)
 		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.mMax);
 	inStream.Read(mLocalPredictedBounds.mMin);