예제 #1
0
	// 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>();
	}
예제 #2
0
	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;
	}
예제 #3
0
	// 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;
	}
예제 #4
0
	// Use this for initialization
	protected override void getStatus(PXCMBodyData.JointData[] data, bool isLeft)
	{
		if (isLeft)
			lhstatus = checkMotion (data);
		label1.GetComponent<UILabel>().text = lhstatus.ToString();
	}
예제 #5
0
	protected override bool isGreat(PXCMBodyData.JointData[] data)
	{
		return (angle > 1.4);
	}
예제 #6
0
	protected override bool isGood(PXCMBodyData.JointData[] data)
	{
		return (angle > 1.7);
	}
예제 #7
0
	protected override bool isBad(PXCMBodyData.JointData[] data)
	{
		return (angle > 2.0);
	}
예제 #8
0
	protected override bool isDone(PXCMBodyData.JointData[] data)
	{
		return (!IsDetecting && angle > 2.3);
	}
예제 #9
0
	protected override bool isPrepared(PXCMBodyData.JointData[] data)
	{
		return (IsDetecting && angle > 2.3);
	}
예제 #10
0
	protected virtual bool isDone(PXCMBodyData.JointData[] data){
		return false;
	}
예제 #11
0
	protected virtual bool isPrepared(PXCMBodyData.JointData[] data){
		return false;
	}
예제 #12
0
	protected virtual Status checkMotion(PXCMBodyData.JointData[] data){
		return Status.None;
	}
예제 #13
0
	protected virtual void getStatus(PXCMBodyData.JointData[] data, bool isLeft){}