Unity Udexreal开发插件包
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.5 KiB

using NaughtyAttributes;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using static UDE_HAND_INTERACTION.HandStaticPose;
namespace UDE_HAND_INTERACTION
{
public class StaticPoseDetector : MonoBehaviour
{
public Material DefaultGrid;
public HandStaticPose[] handStaticPoses;
public List<HandStaticPose> LeftPoses { get; private set; } = new();
public List<HandStaticPose> RightPoses { get; private set; } = new();
public TextMeshPro PoseMsg;
[Button]
public void DetectPoses()
{
handStaticPoses = GetComponentsInChildren<HandStaticPose>();
}
// Start is called before the first frame update
void Start()
{
DetectPoses();
foreach (HandStaticPose pose in handStaticPoses)
{
if(pose.handness == Handness.Left)
{
LeftPoses.Add(pose);
}
else
{
RightPoses.Add(pose);
}
pose.OnPoseDetectResult += PoseDetectAnnouncement;
}
}
void PoseDetectAnnouncement(object sender, StaticPoseDetectEventArgs e)
{
if(e.IsDetected)
{
Debug.Log($"{e._Pose.name} is detected.");
PoseMsg.text = $"{e._Pose.name} is detected.";
}
else
{
PoseMsg.text = "No Pose.";
}
}
}
}