功能: 舵机上挂一物体,kinect 识别人走动,计算向量夹角,实现效果为物体始终朝向人物
unity 发送角度给Arduino
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MyKinectController : MonoBehaviour
{
KinectManager manager;
Vector3 person_PosVector3;
float angle;
public static MyKinectController Instance;
void Awake()
{
Instance = this;
}
void Start()
{
if (KinectManager.Instance != null) manager = KinectManager.Instance;
InitGameData();
}
void Update()
{
if (manager && manager.IsInitialized() && manager.IsUserDetected())
{
person_PosVector3 = manager.GetJointPosition(manager.GetPrimaryUserID(), 3);
angle = Vector3.Angle(person_PosVector3, -Vector3.right);
SerialManager.Instance.WriteData(angle.ToString());
Debug.Log(angle);
//Debug.Log(person_PosVector3.y);
}
else
{
ResetGameData();
}
}
void InitGameData()
{
}
void ResetGameData()
{
SerialManager.Instance.WriteData("0");
}
}
Arduino 代码: