Browse Source

fix visualization

Kenkart 2 years ago
parent
commit
c48c946f0d

+ 2 - 4
Assets/KinectView/Scripts/BodySourceView.cs

@@ -142,14 +142,12 @@ public class BodySourceView : MonoBehaviour
             //lr.SetVertexCount(2);
             lr.positionCount = 2;
             //lr.material = BoneMaterial;
-            // TODO: change size of line
             //lr.SetWidth(0.05f, 0.05f);
             lr.startWidth = 0.05f;
             lr.endWidth = 0.05f;
             Material whiteDiffuseMat = new Material(Shader.Find("Unlit/Texture"));
             lr.material = whiteDiffuseMat;
 
-            // TODO: change size of cube
             jointObj.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
             jointObj.name = jt.ToString();
             jointObj.transform.parent = body.transform;
@@ -293,10 +291,10 @@ public class BodySourceView : MonoBehaviour
         // TODO: change offset to be more realistic
         if (joint.JointType == Kinect.JointType.ShoulderLeft)
         {
-            return new Vector3(joint.Position.X * -1 + 0.1f, joint.Position.Y * 1, joint.Position.Z * 1);
+            return new Vector3(joint.Position.X * -1 - 0.01f, joint.Position.Y * 1, joint.Position.Z * 1);
         } else if (joint.JointType == Kinect.JointType.ShoulderRight)
         {
-            return new Vector3(joint.Position.X * -1 - 0.1f, joint.Position.Y * 1, joint.Position.Z * 1);
+            return new Vector3(joint.Position.X * -1 + 0.01f, joint.Position.Y * 1, joint.Position.Z * 1);
         }
 
         return new Vector3(joint.Position.X * -1, joint.Position.Y * 1, joint.Position.Z * 1);

+ 10 - 3
Assets/Scripts/PlayerReplay.cs

@@ -216,7 +216,7 @@ public class PlayerReplay : MonoBehaviour
 
     private IEnumerator VisualizeFadeInSeries(List<JointsData> newJointsData, List<float> newRecordingTimes)
     {
-        float waitTime = 2;
+        float waitTime = 3;
         List<JointsData> jointsDataSeries = new List<JointsData>();
         List<float> recordingTimesSeries = new List<float>();
 
@@ -228,7 +228,7 @@ public class PlayerReplay : MonoBehaviour
                 recordingTimesSeries.Add(newRecordingTimes[i]);
             } else
             {
-                waitTime += 2;
+                waitTime += 3;
                 
                 Visualizer_FadeInSeries body = Instantiate(vfis) as Visualizer_FadeInSeries;
                 body.SetData(jointsDataSeries, recordingTimesSeries);
@@ -237,9 +237,16 @@ public class PlayerReplay : MonoBehaviour
                 jointsDataSeries.Clear();
                 recordingTimesSeries.Clear();
 
-                WaitForSeconds wait = new WaitForSeconds(2);
+                WaitForSeconds wait = new WaitForSeconds(3);
                 yield return wait;
             }
         }
+
+        Visualizer_FadeInSeries bodyEnd = Instantiate(vfis) as Visualizer_FadeInSeries;
+        bodyEnd.SetData(jointsDataSeries, recordingTimesSeries);
+        bodyEnd.ShowBody();
+
+        jointsDataSeries.Clear();
+        recordingTimesSeries.Clear();
     }
 }

+ 9 - 2
Assets/Scripts/Visualizer_FadeInSeries.cs

@@ -66,7 +66,7 @@ public class Visualizer_FadeInSeries : MonoBehaviour
             return;
         }
 
-        t += Time.deltaTime / 2;
+        t += Time.deltaTime / 3;
 
         // TODO: different way to do it
         // After half time, report if player WristLeft or WristRight late or not
@@ -133,6 +133,12 @@ public class Visualizer_FadeInSeries : MonoBehaviour
                 jointObj.GetComponent<MeshRenderer>().material.color = newColor;
                 jointObj.GetComponent<LineRenderer>().startColor = newColor;
                 jointObj.GetComponent<LineRenderer>().endColor = newColor;
+
+                // Remove LineRenderer component from neck
+                if (jt == Kinect.JointType.Neck)
+                {
+                    Destroy(jointObj.GetComponent<LineRenderer>());
+                }
             }
 
             // Connect the joints with LineRenderer
@@ -148,9 +154,10 @@ public class Visualizer_FadeInSeries : MonoBehaviour
                 Transform jointObj = body.transform.Find(jt.ToString());
                 Transform targetJoint = body.transform.Find(_BoneMap[jt].ToString());
                 LineRenderer lr = jointObj.GetComponent<LineRenderer>();
-
+                
                 lr.SetPosition(0, jointObj.localPosition);
                 lr.SetPosition(1, targetJoint.localPosition);
+                Debug.Log("debug: " + i + ", " + jt);
             }
         }
 

BIN
Assets/joints.sav