// Use this for initialization void Start () { ad = GameObject.Find ("DataManager").GetComponent<PXCMArmData>(); arms = new GameObject[3]; target = new GameObject (); target = GameObject.Find ("Arms").transform.Find ("arms").gameObject; arms [0] = target.transform.Find ("spine").transform.Find ("LeftShoulder").transform.Find ("LeftArm").gameObject; arms [1] = arms [0].transform.Find ("LeftForeArm").gameObject; arms [2] = arms [1].transform.Find ("LeftForeArmRoll").transform.Find ("LeftHand").gameObject; }
protected override Status checkMotion(PXCMArmData.JointData[] data) { angle = 2 * Math.Acos(data[1].localRotation.w); if (angle < MaxAngle) MaxAngle = angle; if (isPrepared (data)) return Status.Prepared; if (isDone (data)) return Status.Done; if (isBad (data)) return Status.Bad; if (isGood(data)) return Status.Good; if (isGreat(data)) return Status.Great; return Status.None; }
// Use this for initialization protected override void getStatus(PXCMArmData.JointData[] data, bool isLeft) { if (isLeft) lhstatus = checkMotion (data); label1.GetComponent<UILabel>().text = lhstatus.ToString(); }
protected override bool isGreat(PXCMArmData.JointData[] data) { return (angle > 0.6); }
protected override bool isGood(PXCMArmData.JointData[] data) { return (angle > 1.0); }
protected override bool isDone(PXCMArmData.JointData[] data) { return (!IsDetecting && angle > 2.3); }
protected override bool isPrepared(PXCMArmData.JointData[] data) { return (IsDetecting && angle > 2.3); }