本文整理汇总了C#中KinectManager.GetUserIdByIndex方法的典型用法代码示例。如果您正苦于以下问题:C# KinectManager.GetUserIdByIndex方法的具体用法?C# KinectManager.GetUserIdByIndex怎么用?C# KinectManager.GetUserIdByIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KinectManager
的用法示例。
在下文中一共展示了KinectManager.GetUserIdByIndex方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FixedUpdate
// Update is called once per frame
void FixedUpdate()
{
// show pause screen and return if isPaused
if (isPaused)
{
overlay.waitingForPlayer.SetActive(false);
overlay.pauseScreen.SetActive(true);
begin = false;
Cursor.visible = true;
return;
}
else
Cursor.visible = false;
overlay.pauseScreen.SetActive(false);
// setup kinect & return if no user found
manager = KinectManager.Instance;
long userID = manager ? manager.GetUserIdByIndex (0) : 0;
if (userID == 0)
{
overlay.waitingForPlayer.SetActive(true);
begin = false;
return;
}
begin = true;
overlay.waitingForPlayer.SetActive(false);
// set joints
bottomSpine = manager.GetJointPosition (userID, 0);
bottomHead = manager.GetJointPosition (userID, 2);
leftShoulder = manager.GetJointPosition (userID, 4);
leftHand = manager.GetJointPosition (userID, 6);
rightShoulder = manager.GetJointPosition (userID, 8);
rightHand = manager.GetJointPosition (userID, 10);
leftHip = manager.GetJointPosition (userID, 12);
leftKnee = manager.GetJointPosition (userID, 13);
leftFoot = manager.GetJointPosition (userID, 15);
rightHip = manager.GetJointPosition (userID, 16);
rightKnee = manager.GetJointPosition (userID, 17);
rightFoot = manager.GetJointPosition (userID, 19);
xBottom = bottomSpine.x;
// Horizontal movement
HorizontalMovement();
// Forward movement
MoveForward();
// Calculate leg angles
CalcAngles();
// Calculate lowest foot
LowestFoot();
}
示例2: Start
// Use this for initialization
void Start()
{
// キネクトマネージャーの取得
manager = KinectManager.Instance;
// リズムカウントの配列を初期化
rhythmTimes = new Queue<float>(rhythmCalcNum);
float initRhythm = 60.0f / initBPM;
for (int i = 0; i < rhythmTimes.Count; i++) {
rhythmTimes.Enqueue(initRhythm);
}
checkObjectPosY = new Queue<float>(checkObjectPosYNum);
// チェックオブジェクトの高さ検出に関する初期化
// 初期位置で配列を埋める
long userId = manager.GetUserIdByIndex (0);
Vector3 pos = manager.GetJointPosition (userId, (int)checkBodyType);
}
示例3: Update
// Update is called once per frame
void Update()
{
initText.text = noUser + straightKnees + inRange + groundedFeet;
manager = KinectManager.Instance;
long userID = manager ? manager.GetUserIdByIndex (0) : 0;
if (userID == 0)
{
noUser = "No User Detected\n";
return;
}
else
noUser = "\n";
// Joints
bottomSpine = manager.GetJointPosition (userID, 0);
bottomHead = manager.GetJointPosition (userID, 2);
leftHip = manager.GetJointPosition (userID, 12);
leftKnee = manager.GetJointPosition (userID, 13);
leftFoot = manager.GetJointPosition (userID, 15);
rightHip = manager.GetJointPosition (userID, 16);
rightKnee = manager.GetJointPosition (userID, 17);
rightFoot = manager.GetJointPosition (userID, 19);
LegAngles();
LowestFoot();
// check distance from the sensor
if (bottomSpine.z > 2.0f)
{
inRange = "Too far!\n";
distanceBool = false;
}
else if (bottomSpine.z < 1.25f)
{
inRange = "Too close!\n";
distanceBool = false;
}
else
{
distanceBool = true;
inRange = "\n";
}
// check for straight legs
if ((leftLegAngle < 165.0f) || (rightLegAngle < 165.0f) || (leftUp < 155.0f) || (rightUp < 155.0f))
{
straightKnees = "Stand up straight!\n";
angleBool = false;
}
else
{
angleBool = true;
straightKnees = "\n";
}
// check for feet on ground
if (Mathf.Abs (leftFoot.y - rightFoot.y) > 0.05f)
{
groundedFeet = "Keep both feet grounded!\n";
groundedBool = false;
}
else
{
groundedBool = true;
groundedFeet = "\n";
}
if (distanceBool && angleBool && groundedBool && !coroutineStarted)
{
coroutineStarted = true;
StartCoroutine(InitCount());
}
}