private void UpdateJointsPosition(EventData e) { if (e.serviceType != EventBase.ServiceType.ServiceTypeMocap) { return; } int sourceId = (int)e.sourceId; if(bodyId != sourceId) { return; } /*float shoulderDistance = Vector3.Distance(GetJointPosition(e, 6), GetJointPosition(e, 16)); horizontalMultiplier = horizontalDistance / shoulderDistance; verticalMultiplier = verticalDistance / GetJointPosition(e, 1).y;*/ if (!isDistortedReality) { UpdateHipsPosition (e); UpdateJointPosition (leftElbow, e, 7); UpdateJointPosition (rightElbow, e, 17); UpdateJointPosition (leftHand, e, 9); UpdateJointPosition (rightHand, e, 19); UpdateJointPosition (leftShoulder, e, 6); //, new Vector3(-0.1f, -0.1f, 0f)); UpdateJointPosition (rightShoulder, e, 16); //, new Vector3(0.1f, -0.1f, 0f)); leftHandState = FetchHandState(e.orw); rightHandState = FetchHandState(e.orx); UpdateJointPosition (leftHip, e, 11); UpdateJointPosition (rightHip, e, 21); UpdateJointPosition (leftKnee, e, 12); UpdateJointPosition (rightKnee, e, 22); UpdateJointPosition (leftFoot, e, 13); UpdateJointPosition (rightFoot, e, 23); } else { UpdateHipsPositionDistorted(e); UpdateJointPositionDistorted (leftElbow, e, 17); UpdateJointPositionDistorted (rightElbow, e, 7); UpdateJointPositionDistorted (leftHand, e, 19); UpdateJointPositionDistorted (rightHand, e, 9); UpdateJointPositionDistorted (leftShoulder, e, 16); //, new Vector3(-0.1f, -0.1f, 0f)); UpdateJointPositionDistorted (rightShoulder, e, 6); UpdateJointPositionDistorted (leftHip, e, 21); UpdateJointPositionDistorted (rightHip, e, 11); UpdateJointPositionDistorted (leftKnee, e, 22); UpdateJointPositionDistorted (rightKnee, e, 12); UpdateJointPositionDistorted (leftFoot, e, 23); UpdateJointPositionDistorted (rightFoot, e, 13); } //UpdateJointPosition (leftFinger, e, 10); //UpdateJointPosition (rightFinger, e, 20); lastUpdate = Time.time; }
private void UpdateJointsPosition(EventData e) { float shoulderDistance = Vector3.Distance(GetJointPosition(e, 6), GetJointPosition(e, 16)); horizontalMultiplier = horizontalDistance / shoulderDistance; verticalMultiplier = verticalDistance / GetJointPosition(e, 1).y; //UpdateJointPosition (hips, e, 0); UpdateJointPosition (leftElbow, e, 7); UpdateJointPosition (rightElbow, e, 17); UpdateJointPosition (leftHand, e, 9); UpdateJointPosition (rightHand, e, 19); leftHandState = FetchHandState(e.orw); rightHandState = FetchHandState(e.orx); leftHandIndicator.position = GetJointPosition(e, 9) + kinectPosition; rightHandIndicator.position = GetJointPosition(e, 19) + kinectPosition; //hips.transform.position = hips.transform.position - originalHipsPosition; }