// Use this for initialization void Start () { FileName = "bodytime-"+DateTime.UtcNow.ToString()+".txt"; args = FileName.Split(new char[3]{'/',' ',':'}); FileName = args[0]+"-"+args[1]+"-"+args[2]+"-"+args[3]+"-"+args[4]+"-"+args[5]+"-"+args[6]; fs = new FileStream (FileName, FileMode.Create); sw = new StreamWriter (fs); sw.AutoFlush = true; args = SceneManager.Global.Bodyplan.Split('-'); point = 0; dm = GameObject.Find ("DataManager").GetComponent<PXCMBodyData>(); }
protected override Status checkMotion(PXCMBodyData.JointData[] data) { angle = 2 * Math.Acos(data[1].localRotation.w); angle2 = 2 * Math.Acos (data [0].localRotation.w); Debug.LogWarning (angle.ToString ()); if (angle < MaxAngle) MaxAngle = angle; if (angle2 < MaxAngle2) MaxAngle2 = angle2; 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 void Start () { ad = GameObject.Find ("DataManager").GetComponent<PXCMBodyData>(); arms = new GameObject[6]; target = new GameObject (); body = 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; arms [3] = target.transform.Find ("spine").transform.Find ("frArms_skinMale_RightShoulder").transform.Find ("frArms_skinMale_RightArm").gameObject; arms [4] = arms [3].transform.Find ("frArms_skinMale_RightForeArm").gameObject; arms [5] = arms [4].transform.Find ("frArms_skinMale_RightForeArmRoll").transform.Find ("frArms_skinMale_RightHand").gameObject;*/ body = GameObject.Find ("Ethan").gameObject; target = GameObject.Find ("Ethan").transform.Find ("EthanSkeleton").transform.Find("EthanHips").transform.Find ("EthanSpine") .transform.Find ("EthanSpine1").transform.Find ("EthanSpine2").transform.Find ("EthanNeck").gameObject; arms [0] = target.transform.Find ("EthanLeftShoulder").transform.Find ("EthanLeftArm").gameObject; arms [1] = arms [0].transform.Find ("EthanLeftForeArm").gameObject; arms [2] = arms [1].transform.Find ("EthanLeftHand").gameObject; arms [3] = target.transform.Find ("EthanRightShoulder").transform.Find ("EthanRightArm").gameObject; arms [4] = arms [3].transform.Find ("EthanRightForeArm").gameObject; arms [5] = arms [4].transform.Find ("EthanRightHand").gameObject; }
// Use this for initialization protected override void getStatus(PXCMBodyData.JointData[] data, bool isLeft) { if (isLeft) lhstatus = checkMotion (data); label1.GetComponent<UILabel>().text = lhstatus.ToString(); }
protected override bool isGreat(PXCMBodyData.JointData[] data) { return (angle > 1.4); }
protected override bool isGood(PXCMBodyData.JointData[] data) { return (angle > 1.7); }
protected override bool isBad(PXCMBodyData.JointData[] data) { return (angle > 2.0); }
protected override bool isDone(PXCMBodyData.JointData[] data) { return (!IsDetecting && angle > 2.3); }
protected override bool isPrepared(PXCMBodyData.JointData[] data) { return (IsDetecting && angle > 2.3); }
protected virtual bool isDone(PXCMBodyData.JointData[] data){ return false; }
protected virtual bool isPrepared(PXCMBodyData.JointData[] data){ return false; }
protected virtual Status checkMotion(PXCMBodyData.JointData[] data){ return Status.None; }
protected virtual void getStatus(PXCMBodyData.JointData[] data, bool isLeft){}