Skip to content

Instantly share code, notes, and snippets.

@takoyakiroom
Created October 29, 2020 16:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takoyakiroom/31449bc5983bce3685de4c579a4b1beb to your computer and use it in GitHub Desktop.
Save takoyakiroom/31449bc5983bce3685de4c579a4b1beb to your computer and use it in GitHub Desktop.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HandText : MonoBehaviour
{
[SerializeField]
private OVRHand.Hand HandType = OVRHand.Hand.HandLeft;
private TextMesh text = null;
private OVRHand hand = null;
void Start()
{
hand = GetComponent<OVRHand>();
}
void Update()
{
if ((text == null)&&(hand != null))
{
text = new GameObject("HandText").AddComponent<TextMesh>();
text.fontSize = 120;
text.characterSize = 0.001f;
text.transform.parent = transform;
text.alignment = TextAlignment.Left;
text.anchor = TextAnchor.UpperLeft;
// 表示位置を左右の手によって変える
if (HandType == OVRHand.Hand.HandLeft)
{
text.transform.localPosition = new Vector3(0.03f, -0.15f, 0.0f);
text.transform.localRotation = Quaternion.Euler(180.0f, 0.0f, 0.0f);
}
else if (HandType == OVRHand.Hand.HandRight)
{
text.transform.localPosition = new Vector3(-0.08f, 0.15f, 0.0f);
text.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, 0.0f);
}
}
else
{
text.text = string.Format(
"Thumb:{0}:{5:f2}\n" +
"Index:{1}:{6:f2}\n" +
"Middle:{2}:{7:f2}\n" +
"Ring:{3}:{8:f2}\n" +
"Pinky:{4}:{9:f2}\n" +
"IsTracked:{10}\n" +
"HandConfidence:{11}\n" +
"IsPointerPoseValid:{12}\n" +
"IsSystemGestureInProgress:{13}",
hand.GetFingerIsPinching(OVRHand.HandFinger.Thumb) ? "Pinching" : "-",
hand.GetFingerIsPinching(OVRHand.HandFinger.Index) ? "Pinching" : "-",
hand.GetFingerIsPinching(OVRHand.HandFinger.Middle) ? "Pinching" : "-",
hand.GetFingerIsPinching(OVRHand.HandFinger.Ring) ? "Pinching" : "-",
hand.GetFingerIsPinching(OVRHand.HandFinger.Pinky) ? "Pinching" : "-",
hand.GetFingerPinchStrength(OVRHand.HandFinger.Thumb),
hand.GetFingerPinchStrength(OVRHand.HandFinger.Index),
hand.GetFingerPinchStrength(OVRHand.HandFinger.Middle),
hand.GetFingerPinchStrength(OVRHand.HandFinger.Ring),
hand.GetFingerPinchStrength(OVRHand.HandFinger.Pinky),
hand.IsTracked, // トラッキングできているか
hand.HandConfidence, // 手のポーズについての信頼性
hand.IsPointerPoseValid, // ポインターポーズをしているか
hand.IsSystemGestureInProgress // システムジェスチャーをしているか
);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment