lvjincheng 3 anni fa
parent
commit
6c86c8e8fd

+ 20 - 5
Assets/BowArrow/Scripts/Bluetooth/New/o09AxisAfterXiaMenFromDll.cs

@@ -155,20 +155,35 @@ namespace o0.Bow
 
 
             if (double.IsInfinity(GyrVariance))
-                GyrVariance = double.MinValue;
+            {
+                //Debug.Log("GyrVariance IsInfinity: " + state.GyrVariance);
+                GyrVariance = 0.0000001;
+            }
             if (double.IsNaN(GyrVariance))
-                GyrVariance = double.MinValue;
+            {
+                //Debug.Log("GyrVariance IsNaN: " + state.GyrVariance);
+                GyrVariance = 0.0000001;
+            }
             if (double.IsNaN(AccVariance))
-                AccVariance = double.MinValue;
+            {
+                //Debug.Log("AccVariance IsNaN: " + state.AccVariance);
+                AccVariance = 0.0000001;
+            }
             if (double.IsNaN(MagVariance))
-                MagVariance = double.MinValue;
+            {
+                //Debug.Log("MagVariance IsNaN: " + state.MagVariance);
+                MagVariance = 0.0000001;
+            }
 
             state.Variance = GyrVariance;
             state.Variance = state.Variance * (AccVariance + MagVariance) / (state.Variance + (AccVariance + MagVariance));
 
 
             if (double.IsNaN(state.Variance))
-                state.Variance = double.MinValue;
+            {
+                //Debug.Log("Variance IsNaN: " + state.Variance);
+                state.Variance = 0.0000001;
+            }
 
             var quaAccMag = Geometry.Quaternion.FormQuaternion(AccIdentity, MagIdentity, state.Acc, state.Mag, (float)(AccVariance / (AccVariance + MagVariance)));
             var quaMinRate = GyrVariance / (GyrVariance + Math.Max(AccVariance, MagVariance));