Example #1
0
        public void Log(JointPositions positions, uint userId, IList <IGesture> gestures)
        {
            positions.InitIfNotSetExt(Fnc.Values <Joints>());

            var timestamp     = DateTime.Now.ToString("O");
            var player        = userId.ToString(CultureInfo.InvariantCulture);
            var positionsDump = string.Join(",", Fnc.Values <Joints>().Select(joint => positions[joint].x + "," + positions[joint].y + "," + positions[joint].z).ToArray());
            var baseDataLine  = timestamp + "," + player + "," + positionsDump + ",";

            if (gestures == null || gestures.Count < 1)
            {
                gestures = new IGesture[] { null }
            }
            ;

            foreach (var dataLine in gestures.Select(gestureDetected => baseDataLine + (gestureDetected != null ? gestureDetected.Gesture.ToString() : "None")))
            {
                _dataStream.WriteLine(dataLine);
            }
        }
Example #2
0
        public void Position(KinectManager manager, JointPositions positions, GameObject overlayObject, float smoothFactor)
        {
            if (!overlayObject || !_mappings.ContainsKey(overlayObject))
            {
                return;
            }

            var joint         = _mappings[overlayObject];
            var jointPosition = positions[joint];

            var depthPosition = manager.GetDepthMapPosForJointPos(jointPosition);
            var colorPosition = manager.GetColorMapPosForDepthPos(depthPosition);

            var scaleX = colorPosition.x / KinectWrapper.Constants.ColorImageWidth;
            var scaleY = 1.0f - colorPosition.y / KinectWrapper.Constants.ColorImageHeight;

            var distanceToCamera = _overlays[overlayObject];
            var overlayPosition  = Camera.main.ViewportToWorldPoint(new Vector3(scaleX, scaleY, distanceToCamera));

            overlayObject.transform.position = Vector3.Lerp(overlayObject.transform.position, overlayPosition, smoothFactor * Time.deltaTime);
        }
Example #3
0
 public void Log(JointPositions positions, uint userId, IGesture gesture)
 {
     Log(positions, userId, new[] { gesture });
 }
Example #4
0
 public void Log(JointPositions positions, uint userId)
 {
     Log(positions, userId, new IGesture[] { null });
 }
Example #5
0
 public void Log(JointPositions positions)
 {
     Log(positions, 0);
 }