MagicLeapToolKit을(를) 사용하여 핸드제스처의 확장 방법
それとは別にMagicLeapToolKit을 사용하여 한드제스쳐의 取得方法을 紹介します( かなりお手軽なので おすめです )
環境
LuminOS : 0.98.11
LuminSDK : 0.24.1
MagicLeapUnity패키지 : 0.24.2
유니티 : 2019.3.7.f1
MagicLeapToolKit : 특별한 바졸이 한정되지 않는 것으로 こちら 에서 최신 버전을 DL
出来上がり
以下のようにジェスチャを取得できる機能を作成します
技術記事投稿用動画MagicLeap의 손제스챠를 取得するだけlogの表示はRuntimeConsole pic.twitter.com/RJDyHbkOyZ — 松本隆介 (
)
신노작성(下準備)
で作成したCameraRigまたは自前で作成したCameraをシーンに配置しておいてください
こちらは最低限の準備でよいと思います
다음 GameObjectを作成( とりあえずHandInput으로 하십시오 )を作成し、MagicLeap-Tools > Code > Input > Hands ディレクトリにあるHandInputをアタッチします
다음으로 MagicLeap-Tools > Examples > RuntimeConsole > Scenes にあるRuntimeConsoleshinをHierarchy上に드랏그&드롭쉬, その中かRuntimeConsole오브제크트を自分のtest用
これで下準備が完了しました.
스크립트 작업
ここからがmeinになります、といってもやることは簡単でHandInputにJeschaを取得するためのイベントを登録するだけです
using MagicLeapTools;
using UnityEngine;
using UnityEngine.XR.MagicLeap;
/// <summary>
/// MLTKの手のジェスチャ取得.
/// </summary>
public class Sample : MonoBehaviour
{
void Start()
{
HandInput.OnReady += () =>
{
HandInput.Right.Gesture.OnKeyPoseChanged += OnHandGesturePoseChanged;
HandInput.Left.Gesture.OnKeyPoseChanged += OnHandGesturePoseChanged;
};
}
private void OnHandGesturePoseChanged(
ManagedHand hand,
MLHandTracking.HandKeyPose pose)
{
// 左右の判定はこんな感じ.
string lr = hand.Hand.Type == MLHandTracking.HandType.Left ? "left" : "right";
Debug.Log($"{pose} {lr}");
// 取得されたジェスチャ.
switch (pose)
{
case MLHandTracking.HandKeyPose.C: break;
case MLHandTracking.HandKeyPose.Finger: break;
case MLHandTracking.HandKeyPose.Fist: break;
case MLHandTracking.HandKeyPose.L: break;
case MLHandTracking.HandKeyPose.Ok: break;
case MLHandTracking.HandKeyPose.Pinch: break;
case MLHandTracking.HandKeyPose.Thumb: break;
case MLHandTracking.HandKeyPose.NoHand: break;
case MLHandTracking.HandKeyPose.NoPose: break;
case MLHandTracking.HandKeyPose.OpenHand: break;
}
}
}
↑의 각본으로 問題なくジェスチャを取得する ことが出来ると思います
이 스크립트を先ほど作成したHandInputにアタッチすれば稼働します
Script の解説
Start()로 HandInput.OnReady의 이벤트를 활성화하려면 HandInput.Right, Left의 OnKeyPoseChanged 이벤트를 시작해야 합니다.
리스나는 ManagedHand형과 MLHandTracking.HandKeyPose형을 引数に持つmesodd입니다.
あとがき
UniRx 등을 사용하여 제스쳐의 제스쳐를 연결하는 일의 코만드 등을 만들 수 있는 제스쳐의 제스챠의
MagicLeap의 제스챠로 할 수 있는 を作ってみた動画は右手Fist -> (1秒以内に)右手OpenHand로 弾を飛ばす動作、途中二回はわざ와 1秒よりも長くinターバルをント作りがのベ確認 これでジェスチャの幅が広がった pic.twitter.com/Ha3Vo9IXMd — 松本隆介 (
)
Reference
이 문제에 관하여(MagicLeapToolKit을(를) 사용하여 핸드제스처의 확장 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/matsumotokaka11/magicleaptoolkit-1d9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)