<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Abduction Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<atom:link href="https://lycos7560.com/tag/abduction/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>생각의 흐름을 타고 다니며 만드는 블로그</description>
	<lastBuildDate>Wed, 14 Jun 2023 08:47:02 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://lycos7560.com/wp-content/uploads/2022/11/cropped-cropped-cropped-log-1-150x150-1-80x80.png</url>
	<title>Abduction Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Oculus Unity-Integration &#8211; Hand Pose Detection</title>
		<link>https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/</link>
					<comments>https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 22 May 2023 15:49:57 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[Abduction]]></category>
		<category><![CDATA[Curl]]></category>
		<category><![CDATA[Finger Features]]></category>
		<category><![CDATA[FingerFeatureStateProvider]]></category>
		<category><![CDATA[FingerFeatureStateThresholds]]></category>
		<category><![CDATA[Flexion]]></category>
		<category><![CDATA[Hand]]></category>
		<category><![CDATA[Hand Pose]]></category>
		<category><![CDATA[Hand Pose Detection]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Oculus Unity-Integration]]></category>
		<category><![CDATA[Pose Prefabs]]></category>
		<category><![CDATA[ShapeRecognizer]]></category>
		<category><![CDATA[ShapeRecognizerActiveState]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[Unity-Integration]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[유니티]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=34843</guid>

					<description><![CDATA[<p>이론이 필요없고 적용하는 과정이 궁금하다면 아래글로 Oculus Hand Pose Detection https://developer.oculus.com/documentation/unity/unity-isdk-hand-pose-detection/?ref=blog.immersive-insiders.com Hand Pose Detection uses multiple components and configurators to detect hand poses. 손 포즈 감지는 여러 컴포넌트와 구성 요소를 사용하여 손의 동작을 감지하는 기술입니다. A hand pose is defined by shapes and transforms.이를 판단하기 위해 형태(shape)와 변환(transform)이라는 두 가지 요소를 사용합니다. Shapes are boolean [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/">Oculus Unity-Integration &#8211; Hand Pose Detection</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5698326622209671" crossorigin="anonymous"></script>
<!-- HorizontalAD -->
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5698326622209671" data-ad-slot="6908948342" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">이론이 필요없고 적용하는 과정이 궁금하다면 아래글로</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-어제와-내일의-나-그-사이의-이야기 wp-block-embed-어제와-내일의-나-그-사이의-이야기"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="vbVz6GAD9S"><a href="https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%97%b0%ec%8a%b5/35047/">Oculus Hand Pose Detection 연습</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Oculus Hand Pose Detection 연습&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%97%b0%ec%8a%b5/35047/embed/#?secret=IB6B3qIX84#?secret=vbVz6GAD9S" data-secret="vbVz6GAD9S" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>


				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-fddbe69c      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차 테이블						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#oculus-hand-pose-detection" class="uagb-toc-link__trigger">Oculus Hand Pose Detection</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pose-prefabs" class="uagb-toc-link__trigger">Pose Prefabs</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#shaperecognizer" class="uagb-toc-link__trigger">ShapeRecognizer</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#shaperecognizeractivestate" class="uagb-toc-link__trigger">ShapeRecognizerActiveState</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#shaperecognizer" class="uagb-toc-link__trigger">ShapeRecognizer</a></li></ul><li class="uagb-toc__list"><a href="#fingerfeaturestateprovider" class="uagb-toc-link__trigger">FingerFeatureStateProvider</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#fingerfeaturestatethresholds" class="uagb-toc-link__trigger">FingerFeatureStateThresholds</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#fingerfeaturestatethresholds-example" class="uagb-toc-link__trigger">FingerFeatureStateThresholds Example</a></li></ul><li class="uagb-toc__list"><a href="#finger-features" class="uagb-toc-link__trigger">Finger Features</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#curl" class="uagb-toc-link__trigger">Curl</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#flexion" class="uagb-toc-link__trigger">Flexion</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#abduction" class="uagb-toc-link__trigger">Abduction</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#opposition" class="uagb-toc-link__trigger">Opposition</a></li></ul></li></ul></li></ul><li class="uagb-toc__list"><a href="#transform-recognition" class="uagb-toc-link__trigger">Transform Recognition</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformrecognizeractivestate" class="uagb-toc-link__trigger">TransformRecognizerActiveState</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformfeaturestateprovider" class="uagb-toc-link__trigger">TransformFeatureStateProvider</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformconfig" class="uagb-toc-link__trigger">TransformConfig</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#velocity-recognition" class="uagb-toc-link__trigger">Velocity Recognition</a></li></ul><li class="uagb-toc__list"><a href="#sequences" class="uagb-toc-link__trigger">Sequences</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sequence-classes" class="uagb-toc-link__trigger">Sequence Classes</a></li></ul><li class="uagb-toc__list"><a href="#debugging-pose-recognition-포즈-인식-디버깅" class="uagb-toc-link__trigger">Debugging Pose Recognition (포즈 인식 디버깅)</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#activestatedebugtree" class="uagb-toc-link__trigger">ActiveStateDebugTree</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#fingerfeatureskeletaldebugvisual" class="uagb-toc-link__trigger">FingerFeatureSkeletalDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#handshapeskeletaldebugvisual" class="uagb-toc-link__trigger">HandShapeSkeletalDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformfeaturedebugvisual" class="uagb-toc-link__trigger">TransformFeatureDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformfeaturevectordebugparentvisual" class="uagb-toc-link__trigger">TransformFeatureVectorDebugParentVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformfeaturevectordebugvisual" class="uagb-toc-link__trigger">TransformFeatureVectorDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#transformrecognizerdebugvisual" class="uagb-toc-link__trigger">TransformRecognizerDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#jointrotationdebugvisual" class="uagb-toc-link__trigger">JointRotationDebugVisual</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#jointvelocitydebugvisual" class="uagb-toc-link__trigger">JointVelocityDebugVisual</a></li></ul><li class="uagb-toc__list"><a href="#internal-implementation-classes" class="uagb-toc-link__trigger">Internal Implementation Classes</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#featurestateprovider" class="uagb-toc-link__trigger">FeatureStateProvider</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#featurestatethresholdseditor" class="uagb-toc-link__trigger">FeatureStateThresholdsEditor</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#featuredescriptionattribute" class="uagb-toc-link__trigger">FeatureDescriptionAttribute</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ifeaturestatethreshold" class="uagb-toc-link__trigger">IFeatureStateThreshold</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ifeaturestatethresholds" class="uagb-toc-link__trigger">IFeatureStateThresholds</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ifeature-thresholds" class="uagb-toc-link__trigger">IFeature Thresholds</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#collidercontainshandjointactivestate" class="uagb-toc-link__trigger">ColliderContainsHandJointActiveState</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#hmdoffset" class="uagb-toc-link__trigger">HmdOffset</a></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-large-font-size">Oculus Hand Pose Detection</h1>



<p class="wp-block-paragraph"><a href="https://developer.oculus.com/documentation/unity/unity-isdk-hand-pose-detection/?ref=blog.immersive-insiders.com" target="_blank" rel="noreferrer noopener">https://developer.oculus.com/documentation/unity/unity-isdk-hand-pose-detection/?ref=blog.immersive-insiders.com</a></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Hand Pose Detection uses multiple components and configurators to detect hand poses. <br>손 포즈 감지는 여러 컴포넌트와 구성 요소를 사용하여 손의 동작을 감지하는 기술입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A hand pose is defined by shapes and transforms.<br>이를 판단하기 위해 형태(shape)와 변환(transform)이라는 두 가지 요소를 사용합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Shapes are boolean conditions about the required position of the hand’s finger joints.<br>형태는 손가락 관절의 위치에 대한 부울 조건을 나타냅니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Transforms are boolean conditions about the required orientation of the hand in the world space. <br>Transform은 세계 공간에서 손의 요구되는 방향에 대한 bool 조건입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A pose is detected when the tracked hand matches that pose&#8217;s required shapes and transforms. <br>추적된 손이 해당 포즈의 요구 형태와 Transform이 일치할 때 포즈가 감지됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">This topic explains poses, shape and transform recognition, and the criteria used to determine if a pose is detected. <br>이 글에서는 포즈, 형태 및 Transform 인식, 그리고 포즈가 감지되는지 여부를 결정하는 기준에 대해 설명합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">It also describes debug components you can use to visually debug poses. <br>시각적으로 포즈를 디버깅하기 위해 사용할 수 있는 debug components에 대해서도 설명합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">To learn how to detect a hand pose, see Build a Hand Pose Recognizer. (나중에 링크)<br>손 포즈를 감지하는 방법을 알아보려면 &#8220;손 포즈 인식기 만들기&#8221;를 참조하세요.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-large-font-size">Pose Prefabs</h2>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Interaction SDK includes 6 ready to use example pose prefabs.<br>Interaction SDK에는 6개의 준비된 예제 포즈 프리팹이 포함되어 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">You can define your own poses using the patterns defined in these prefabs.<br>이러한 프리팹에서 정의된 패턴을 사용하여 직접 포즈를 정의할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">You can experiment with pose detection using these pose prefabs in the PoseExamples sample scene.<br>PoseExamples 샘플 씬에서 이러한 포즈 prefab을 사용하여 포즈 감지를 실험해 볼 수 있습니다.</p>



<div style="height:19px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>RockPose</li>



<li>PaperPose</li>



<li>ScissorsPose</li>



<li>ThumbsUpPose</li>



<li>ThumbsDownPose</li>



<li>StopPose</li>
</ul>



<div style="height:19px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1363" height="352" src="https://lycos7560.com/wp-content/uploads/2023/05/image-94.jpg" alt="" class="wp-image-34862" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-94.jpg 1363w, https://lycos7560.com/wp-content/uploads/2023/05/image-94-300x77.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-94-768x198.jpg 768w" sizes="(max-width: 1363px) 100vw, 1363px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Each pose prefab has these components:<br>각 pose prefab에는 다음과 같은 구성 요소가 있습니다</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">A <strong>HandRef</strong> is a component that takes an <strong>IHand</strong> as input.<br>이 <strong>HandRef</strong>는 <strong>IHand</strong>를 입력 값으로 받는 component입니다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="814" height="390" src="https://lycos7560.com/wp-content/uploads/2023/05/image-95.png" alt="" class="wp-image-34864" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-95.png 814w, https://lycos7560.com/wp-content/uploads/2023/05/image-95-300x144.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-95-768x368.png 768w" sizes="(max-width: 814px) 100vw, 814px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="796" height="459" src="https://lycos7560.com/wp-content/uploads/2023/05/image-94.png" alt="" class="wp-image-34863" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-94.png 796w, https://lycos7560.com/wp-content/uploads/2023/05/image-94-300x173.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-94-768x443.png 768w" sizes="(max-width: 796px) 100vw, 796px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The other components on this prefab will read hand state via this reference.<br>이 프리팹의 다른 컴포넌트들은 이 참조를 통해 손의 상태를 읽습니다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1268" height="957" src="https://lycos7560.com/wp-content/uploads/2023/05/image-99.jpg" alt="" class="wp-image-34868" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-99.jpg 1268w, https://lycos7560.com/wp-content/uploads/2023/05/image-99-300x226.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-99-768x580.jpg 768w" sizes="(max-width: 1268px) 100vw, 1268px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>ShapeRecognizerActiveState</strong> is a component that becomes active when the criteria of a specified Shape is met.<br><strong>ShapeRecognizerActiveState</strong>는 지정된 형태의 조건이 충족되면 활성화되는 component입니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>TransformRecognizerActive</strong> is a component that becomes active when a transform feature, such as a particular wrist orientation, is detected.<br><strong>TransformRecognizerActive</strong>은 특정 손목 방향과 같은 변환 기능이 감지되었을 때 활성화되는 component입니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>ActiveStateGroup</strong> is a component that returns true when all dependent ActiveStates are true.<br><strong>ActiveStateGroup</strong>은 종속적인 ActiveState가 모두 true일 때 true를 반환하는 컴포넌트입니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>ActiveStateSelector</strong> and <strong>SelectorUnityEventWrapper</strong> are components that can invoke events when a pose is detected.<br><strong>ActiveStateSelector</strong>와 <strong>SelectorUnityEventWrapper</strong>는 포즈가 감지되었을 때 이벤트를 호출할 수 있는 component입니다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="761" height="300" src="https://lycos7560.com/wp-content/uploads/2023/05/image-135.png" alt="" class="wp-image-35043" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-135.png 761w, https://lycos7560.com/wp-content/uploads/2023/05/image-135-300x118.png 300w" sizes="(max-width: 761px) 100vw, 761px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="733" height="327" src="https://lycos7560.com/wp-content/uploads/2023/05/image-136.png" alt="" class="wp-image-35045" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-136.png 733w, https://lycos7560.com/wp-content/uploads/2023/05/image-136-300x134.png 300w" sizes="(max-width: 733px) 100vw, 733px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="698" height="632" src="https://lycos7560.com/wp-content/uploads/2023/05/image-99.png" alt="" class="wp-image-34871" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-99.png 698w, https://lycos7560.com/wp-content/uploads/2023/05/image-99-300x272.png 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">A pose includes required transforms (which are bundled in TransformRecognizerActiveState) and shapes (which are bundled in ShapeRecognizerActiveState).<br>한 pose에는 필요한 transforms(이는 TransformRecognizerActiveState에서 묶여 있음)와 shapes(이는 ShapeRecognizerActiveState에서 묶여 있음)가 포함됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">These are combined using ActiveStateGroup to define the pose.<br>이들은 ActiveStateGroup을 사용하여 결합되어 pose를 정의합니다.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1175" height="1202" src="https://lycos7560.com/wp-content/uploads/2023/05/image-100.png" alt="" class="wp-image-34874" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-100.png 1175w, https://lycos7560.com/wp-content/uploads/2023/05/image-100-293x300.png 293w, https://lycos7560.com/wp-content/uploads/2023/05/image-100-768x786.png 768w" sizes="(max-width: 1175px) 100vw, 1175px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">wrist up =&gt; 손목을 위로 향하게</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-video"><video height="808" style="aspect-ratio: 1432 / 808;" width="1432" controls muted src="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_22_21_16_30_889.mp4"></video></figure>



<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-large-font-size">ShapeRecognizer</h2>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Poses include one or more shapes. <br>포즈에는 하나 이상의 형태가 포함됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A shape is a set of boolean conditions about the position of one or more fingers. <br>형태는 하나 이상의 손가락 위치에 대한 boolean 조건의 집합입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The conditions are defined using Finger Features states. <br>이러한 조건은 Finger Features 상태를 사용하여 정의됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If a tracked hand meets these conditions, then the shape becomes active.<br>추적된 손이 이러한 조건을 충족하면 형태가 활성화됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If all the shapes in the pose are active and the transform is also active, the pose is detected. <br>포즈의 모든 형태가 활성화되고 변형도 활성화된 경우, 포즈가 감지됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A pose’s shapes are stored as ShapeRecognizer assets in the pose’s ShapeRecognizerActiveState component.<br>포즈의 형태는 포즈의 ShapeRecognizerActiveState component에 저장되는 ShapeRecognizer 자산으로 저장됩니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="695" height="520" src="https://lycos7560.com/wp-content/uploads/2023/05/image-101.png" alt="" class="wp-image-34879" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-101.png 695w, https://lycos7560.com/wp-content/uploads/2023/05/image-101-300x224.png 300w" sizes="(max-width: 695px) 100vw, 695px" /></figure>



<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading has-large-font-size">ShapeRecognizerActiveState</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1186" height="581" src="https://lycos7560.com/wp-content/uploads/2023/05/image-103.png" alt="" class="wp-image-34885" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-103.png 1186w, https://lycos7560.com/wp-content/uploads/2023/05/image-103-300x147.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-103-768x376.png 768w" sizes="(max-width: 1186px) 100vw, 1186px" /></figure>



<p class="has-medium-font-size wp-block-paragraph"><strong>ShapeRecognizerActiveState</strong>&nbsp;takes a hand, the current state of the hand’s fingers, and a list of shape configs. <br><strong>ShapeRecognizerActiveState</strong>&nbsp;는 손, 손 손가락의 현재 상태 및 셰이프 구성 목록을 사용합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">To get the current state of the fingers, it uses the&nbsp;method to retrieve the&nbsp;<strong>FingerFeatureStateProvider</strong>&nbsp;component from the hand. <br>손가락의 현재 상태를 가져오기 위해 이 메서드를 사용하여 손에서&nbsp;<strong>FingerFeatureStateProvider</strong>&nbsp;구성 요소를 검색합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If the state of every finger matches the states in the listed shapes,&nbsp;<strong>ShapeRecognizerActiveState</strong>&nbsp;becomes active.&nbsp;<br>모든 손가락의 상태가 나열된 도형의 상태와 일치하면&nbsp;<strong>ShapeRecognizerActiveState</strong>가 활성화됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>ShapeRecognizerActiveState</strong>&nbsp;implements the&nbsp;<strong>IActiveState</strong>&nbsp;interface.<code>GetHandAspect</code><br>Shape RecognizerActiveState는 the IActiveState interface.GetHandAspect를 구현합니다</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Property</th><th class="has-text-align-left" data-align="left">Description</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Hand</td><td class="has-text-align-left" data-align="left">A&nbsp;<strong>Hand Ref</strong>&nbsp;component. Determines which hand is read for state data.<br><strong>Hand Ref</strong>&nbsp;구성 요소입니다.  데이터를 읽을 Hand를 결정합니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Finger Feature State Provider</td><td class="has-text-align-left" data-align="left">A&nbsp;<strong>FingerFeatureStateProvider</strong>&nbsp;component, which provides the current state of the tracked hand’s fingers.<br>추적된 손 손가락의 현재 상태를 제공하는&nbsp;<strong>FingerFeatureStateProvider&nbsp;</strong>구성 요소입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Shapes</td><td class="has-text-align-left" data-align="left">A list of shape configs (<a href="https://developer.oculus.com/documentation/unity/unity-isdk-hand-pose-detection/?ref=blog.immersive-insiders.com#shape-recognizer">ShapeRecognizer</a>&nbsp;assets) that define the pose. <br>포즈를 정의하는 셰이프 구성(<a href="https://developer.oculus.com/documentation/unity/unity-isdk-hand-pose-detection/?ref=blog.immersive-insiders.com#shape-recognizer">ShapeRecognizer</a>&nbsp;자산)의 목록입니다.<br><br>The states in these shape configs are compared to the finger states from the&nbsp;<strong>Finger Feature State Provider</strong>&nbsp;property.<br>&nbsp;이러한 셰이프 구성의 상태는&nbsp;<strong>Finger Feature State Provider</strong>&nbsp;속성의 손가락 상태와 비교됩니다.</td></tr></tbody></table></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size" id="shape-recognizer">ShapeRecognizer</h4>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1893" height="738" src="https://lycos7560.com/wp-content/uploads/2023/05/image-106.png" alt="" class="wp-image-34901" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-106.png 1893w, https://lycos7560.com/wp-content/uploads/2023/05/image-106-300x117.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-106-768x299.png 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-106-1536x599.png 1536w" sizes="(max-width: 1893px) 100vw, 1893px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>ShapeRecognizer</strong>&nbsp;is a that defines a shape. <br><strong>ShapeRecognizer</strong>는 도형을 정의하는 것입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">To define a shape, it uses a set of rules&nbsp;called Feature Configs. <br>&nbsp;shape를 정의하기 위해&nbsp;Feature Configs라는 rules을 사용합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Feature Configs specify a required position (state) for each of the five fingers. <br>기능 구성은 다섯 손가락 각각에 필요한 위치(상태)를 지정합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Feature Configs define state using at least one of the Finger Features: Curl, Flexion, Abduction, and Opposition.&nbsp;<br>기능 구성은 손가락 기능(Curl, Flexion, Abduction, Opposition) 중 하나 이상을 사용하여 상태를 정의합니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>ShapeRecognizer</strong>&nbsp;is referenced by the&nbsp;<strong>ShapeRecognizerActiveState</strong>&nbsp;component to determine if a pose is active.<code>ScriptableObject</code><br><strong>ShapeRecognizer</strong>는&nbsp;<strong>ShapeRecognizerActiveState</strong>&nbsp;구성 요소에서 참조하여 포즈가 활성 상태인지 확인합니다.<code>ScriptableObject</code></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading has-large-font-size">FingerFeatureStateProvider</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1190" height="681" src="https://lycos7560.com/wp-content/uploads/2023/05/image-104.png" alt="" class="wp-image-34897" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-104.png 1190w, https://lycos7560.com/wp-content/uploads/2023/05/image-104-300x172.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-104-768x440.png 768w" sizes="(max-width: 1190px) 100vw, 1190px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>Finger&nbsp;Feature&nbsp;State Provider</strong>&nbsp;provides the finger states of the tracked hands and&nbsp;contains the state transition thresholds for each finger. <br><strong>손가락&nbsp;기능&nbsp;상태 공급자</strong>는 추적된 손의 손가락 상태를 제공하고 각 손가락에 대한 상태 전환 임계값을 포함합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">It’s referenced by the&nbsp;ShapeRecognizerActiveState&nbsp;component.<br>ShapeRecognizerActiveState&nbsp;구성 요소에서 참조합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Property</th><th class="has-text-align-left" data-align="left">Description</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Hand</td><td class="has-text-align-left" data-align="left">The&nbsp;<strong>Hand</strong>&nbsp;component to use for finger state data.<br>손가락 상태 데이터에 사용할&nbsp;<strong>Hand</strong>&nbsp;구성 요소입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Finger State Thresholds</td><td class="has-text-align-left" data-align="left">A list of five elements, one for each finger. <br>각 손가락에 하나 씩 5개의 요소 목록입니다. <br><br>Each element has two properties, a&nbsp;<strong>Finger</strong>&nbsp;(Thumb, Index, Middle, Ring, Pinky), and a&nbsp;<strong>State Thresholds</strong>&nbsp;(FingerFeatureStateThresholds).<br>각 요소에는 Finger(Thumb,&nbsp;Index, Middle, Ring, Pinky)와 <strong>State Thresholds</strong>(FingerFeatureStateThresholds)의 두 가지 속성이 있습니다.</td></tr></tbody></table></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size" id="finger-feature-state-thresholds">FingerFeatureStateThresholds</h4>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>FingerFeatureStateThresholds</strong>&nbsp;is a&nbsp;that defines the state thresholds for each&nbsp;Finger Feature.<br><strong>FingerFeatureStateThresholds</strong>는 각&nbsp;손가락 특징에 대한 상태 임계값을 정의하는 것입니다.</p>



<p class="has-medium-font-size wp-block-paragraph"> A <strong>state threshold</strong> is a set of boundaries that determine when a finger has transitioned between states. <br>&nbsp;<strong>state threshold</strong> 는 손가락이 상태 간에 전환된 시기를 결정하는 경계 집합입니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">For example, the curl feature has 3 states: Open, Neutral, and Closed.<br>예를 들어 curl 기능에는 3가지 상태(Open, Neutral 및 Closed)가 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph"> So the state thresholds for curl use an angle in degrees to define when the finger’s state has changed from Open to Neutral, Neutral to Closed, or vice-versa.<code>ScriptableObject</code><br>따라서 curl의 상태 임계값은 각도(도)를 사용하여 손가락의 상태가 열림에서 보통으로, 보통에서 닫힘으로 또는 그 반대로 변경된 시기를 정의합니다.<code>ScriptableObject</code></p>



<p class="has-medium-font-size wp-block-paragraph">Interaction SDK provides four sets of default state thresholds, which are under&nbsp;:<code>DefaultSettings/PoseDetection</code><br>Interaction SDK는 아래에 있는 4개의 기본 상태 임계값 집합을 제공합니다.<code>DefaultSettings/PoseDetection</code></p>



<ul class="wp-block-list">
<li>DefaultThumbFeatureStateThresholds (for the thumb)(엄지 손가락의 경우)</li>



<li>IndexFingerFeatureStateThresholds (for the Index finger)(집게 손가락의 경우)</li>



<li>MiddleFingerFeatureStateThresholds (for the Middle finger)(가운데 손가락의 경우)</li>



<li>DefaultFingerFeatureStateThresholds (for the Ring &amp; Pinky fingers)(약지 및 새끼손가락용)</li>
</ul>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1920" height="991" src="https://lycos7560.com/wp-content/uploads/2023/05/image-107.jpg" alt="" class="wp-image-34908" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-107.jpg 1920w, https://lycos7560.com/wp-content/uploads/2023/05/image-107-300x155.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-107-768x396.jpg 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-107-1536x793.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="473" height="380" src="https://lycos7560.com/wp-content/uploads/2023/05/image-107.png" alt="" class="wp-image-34909" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-107.png 473w, https://lycos7560.com/wp-content/uploads/2023/05/image-107-300x241.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The thumb’s curl state threshold.<br>엄지 손가락의 curl 상태 임계값입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">For curl, the value is an angle in degrees.<br>curl의 경우 값은 각도(도)입니다.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Property</th><th class="has-text-align-left" data-align="left">Description</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Min Time In State</td><td class="has-text-align-left" data-align="left">How long the value must be in the new state before the feature will actually change to that state. <br>기능이 실제로 해당 상태로 변경되기 전에 값이 새로운 상태에 있어야 하는 기간입니다.&nbsp;<br><br>This is to prevent rapid flickering at transition edges. <br>이는 전환 가장자리에서 빠른 깜박임을 방지하기 위한 것입니다.&nbsp;<br><br>This value applies to all features.<br>이 값은 모든 기능에 적용됩니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Expected Value Range</td><td class="has-text-align-left" data-align="left">A rough guide that indicates what range of motion the average human will be able to achieve.<br>평균적인 인간이 달성할 수 있는 동작 범위를 나타내는 대략적인 가이드입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Midpoint</td><td class="has-text-align-left" data-align="left">The value at which a state will transition from A &gt; B (or B &gt; A).<br>상태가 A에서 B(또는 B&gt; A)&gt; 전환되는 값입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Width</td><td class="has-text-align-left" data-align="left">How far the value must exceed the midpoint until the transition can occur. <br>전환이 발생할 수 있을 때까지 값이 중간점을 초과해야 하는 거리입니다.<br><br>This is to prevent rapid flickering at transition edges.<br>이는 전환 가장자리에서 빠른 깜박임을 방지하기 위한 것입니다.</td></tr></tbody></table></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading has-large-font-size" id="fingerfeaturestatethresholds-example">FingerFeatureStateThresholds Example</h5>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Given the transition between two states, A &lt;&gt; B:<br>두 상태 간의 전환할 때 A&lt;&gt; B는 다음과 같습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If the current state is “A”, to transition up to “B” then the angle must rise above the midpoint for that pairing by at least (width / 2.0) for “Min Time In State” seconds.<br>현재 상태가 &#8220;A&#8221;인 경우 &#8220;B&#8221;로 전환하려면 각도가 &#8220;Min Time In State&#8221; 초 동안 해당 페어링의 중간점 이상으로 최소(너비/2.0) 상승해야 합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If the current state is “B”, to transition down to “A” then the angle must drop below the midpoint for that pairing by at least (width / 2.0) for “Min Time In State” seconds.<br>현재 상태가 &#8220;B&#8221;인 경우 &#8220;A&#8221;로 전환하려면 각도가 &#8220;Min Time In State&#8221; 초 동안 해당 페어링의 중간점 아래로 최소(너비 / 2.0) 떨어져야 합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">So for Curl, to transition:<br>따라서 Curl의 경우 전환하려면 다음을 수행하십시오:</p>



<ul class="wp-block-list">
<li>From Open &gt; Neutral: value must be above 195 for 0.0222 seconds</li>



<li>From Neutral &gt; Open: value must be below 185 for 0.0222 seconds</li>



<li>From Neutral &gt; Closed: value must be above 210 for 0.0222 seconds</li>



<li>From Closed &gt; Neutral: value must be below 200 for 0.0222 seconds</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>개방에서 중립&gt;: 값은 195.0초 동안 0222보다 커야 합니다.</li>



<li>중립에서 시&gt;까지: 값은 185.0초 동안 0222 미만이어야 합니다.</li>



<li>중립에서 닫힘으로&gt;: 값은 210.0초 동안 0222보다 커야 합니다.</li>



<li>닫힘에서 중립&gt;: 값은 200.0초 동안 0222 미만이어야 합니다.</li>
</ul>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size" id="finger-features">Finger Features</h4>



<p class="has-medium-font-size wp-block-paragraph">Finger Features are specific finger positions that let you define a shape. There are four features:<br>손가락 기능은 모양을 정의할 수 있는 특정 손가락 위치입니다. 네 가지 기능이 있습니다.</p>



<ul class="wp-block-list">
<li>Curl </li>



<li>Flexion</li>



<li>Abduction</li>



<li>Opposition</li>
</ul>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="664" height="429" src="https://lycos7560.com/wp-content/uploads/2023/05/image-115.png" alt="" class="wp-image-34938" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-115.png 664w, https://lycos7560.com/wp-content/uploads/2023/05/image-115-300x194.png 300w" sizes="(max-width: 664px) 100vw, 664px" /></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading has-large-font-size" id="curl">Curl</h5>



<p class="has-medium-font-size wp-block-paragraph">Represents how bent the top two joints of the finger or thumb are. <br>손가락 또는 엄지손가락의 위쪽 두 관절이 얼마나 구부러졌는지를 나타냅니다.</p>



<p class="has-medium-font-size wp-block-paragraph">This feature doesn’t take the Proximal (knuckle) joint into consideration.<br>이 기능은 근위부(너클) 조인트를 고려하지 않습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">States:</p>



<ul class="wp-block-list">
<li><strong>Open</strong>: Fingers are fully extended straight.</li>



<li><strong>Neutral</strong>: Fingers are slightly curled inwards, as if they were wrapped around a coffee mug.</li>



<li><strong>Closed</strong>&nbsp;(pictured): Fingers are tightly curled inwards such that the tips are almost touching the palm.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>열림</strong>: 손가락을 완전히 똑바로 뻗습니다.</li>



<li><strong>중립</strong>: 손가락이 마치 커피 머그잔을 감싼 것처럼 안쪽으로 약간 말려 있습니다.</li>



<li><strong>닫힘</strong>&nbsp;(사진) : 손가락이 안쪽으로 단단히 말려서 끝이 손바닥에 거의 닿을 정도입니다.</li>
</ul>



<div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="291" height="529" src="https://lycos7560.com/wp-content/uploads/2023/05/image-108.png" alt="" class="wp-image-34913" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-108.png 291w, https://lycos7560.com/wp-content/uploads/2023/05/image-108-165x300.png 165w" sizes="(max-width: 291px) 100vw, 291px" /></figure>



<div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The joints used to measure the curl feature.<br>컬 형상을 측정하는 데 사용되는 조인트.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading has-large-font-size" id="flexion">Flexion</h5>



<p class="has-medium-font-size wp-block-paragraph">The extent that the Proximal (knuckle) joint is bent. <br>근위부(너클) 관절이 구부러진 정도.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">Flexion is only reliable on the 4 fingers.<br>굴곡은 4개의 손가락에서만 신뢰할 수 있습니다.&nbsp; (엄지 X )</p>



<p class="has-medium-font-size wp-block-paragraph"> It can provide false positives on the thumb.<br>이것은 엄지 손가락에 잘못된 긍정을 제공 할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>States:</strong></p>



<ul class="wp-block-list">
<li><strong>Open</strong>: The first bone on the fingers is fully extended and is parallel to the palm.</li>



<li><strong>Neutral</strong>: Somewhat bent.</li>



<li><strong>Closed</strong>: Knuckle joint is fully bent (pictured).</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>열림</strong>: 손가락의 첫 번째 뼈가 완전히 확장되고 손바닥과 평행합니다.</li>



<li><strong>중립:</strong>&nbsp;약간 구부러져 있습니다.</li>



<li><strong>닫힘</strong>: 너클 조인트가 완전히 구부러져 있습니다(사진).</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>Warning</strong></p>



<p class="has-medium-font-size wp-block-paragraph">Flexion is only reliable on the 4 fingers.<br>굴곡은 4개의 손가락에서만 신뢰할 수 있습니다. </p>



<p class="has-medium-font-size wp-block-paragraph"> It can provide false positives on the thumb.<br>엄지 손가락에 잘못된 긍정을 제공 할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image"><img decoding="async" src="https://scontent-ssn1-1.xx.fbcdn.net/v/t39.2365-6/309860470_1137837473813430_4556848194095159268_n.png?_nc_cat=109&amp;ccb=1-7&amp;_nc_sid=ad8a9d&amp;_nc_ohc=ZKwYFdpy-J0AX9zGOWy&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AfDCf0AgRjvTKySJl0nN4zFee__gKeLgnJJPAy0aTXlzJQ&amp;oe=64703882" alt="Four fingers bent perpendicular to the palm"/></figure>



<p class="has-medium-font-size wp-block-paragraph">An example of flexion where the knuckle joint is in the&nbsp;<strong>Closed</strong>&nbsp;state.<br>너클 관절이&nbsp;<strong>닫힌</strong>&nbsp;상태인 굴곡의 예.</p>



<div style="height:99px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading has-large-font-size">Abduction</h5>



<p class="has-medium-font-size wp-block-paragraph">The angle between two adjacent fingers, measured at the base of those two fingers.<br>인접한 두 손가락 사이의 각도로, 두 손가락의 밑면에서 측정됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Abduction measures the angle between the given finger and the adjacent finger that’s closer to the pinky. <br>외전은 주어진 손가락과 새끼 손가락에 더 가까운 인접한 손가락 사이의 각도를 측정합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">For example, Abduction for the index finger is the angle between the index and middle finger.<br>예를 들어, 집게 손가락의 외전은 집게 손가락과 가운데 손가락 사이의 각도입니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>States:</strong></p>



<ul class="wp-block-list">
<li><strong>Open</strong>&nbsp;The two fingers are spread apart (pictured for index).</li>



<li><strong>Closed</strong>: The two fingers are tightly compressed together (pictured for thumb, middle, ring).</li>



<li><strong>None</strong>: Not currently used.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>열다</strong>&nbsp;두 손가락이 벌어져 있습니다(인덱스 사진).</li>



<li><strong>닫힘</strong>: 두 손가락이 함께 단단히 압축됩니다(엄지, 가운데, 반지 사진).</li>



<li><strong>없음</strong>: 현재 사용되지 않습니다.</li>
</ul>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>Note</strong></p>



<p class="has-medium-font-size wp-block-paragraph">Abduction on Pinkie is not supported.<br>핑키의 외전은 지원되지 않습니다. (새끼 손가락)</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="395" height="564" src="https://lycos7560.com/wp-content/uploads/2023/05/image-109.png" alt="" class="wp-image-34921" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-109.png 395w, https://lycos7560.com/wp-content/uploads/2023/05/image-109-210x300.png 210w" sizes="(max-width: 395px) 100vw, 395px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">An example of abduction. <br>The index finger is in the&nbsp;<strong>Open</strong>&nbsp;state.<br>집게 손가락이&nbsp;<strong>열린</strong>&nbsp;상태입니다. </p>



<p class="has-medium-font-size wp-block-paragraph">The thumb, middle, and ring fingers are in the&nbsp;<strong>Closed</strong>&nbsp;state.<br>엄지, 중지, 약지가&nbsp;<strong>닫힌</strong>&nbsp;상태입니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading has-large-font-size"><strong>Opposition</strong></h5>



<p class="has-medium-font-size wp-block-paragraph">How close a given fingertip is to the thumb tip. <br>주어진 손가락 끝이 엄지 손가락 끝에 얼마나 가까운지.</p>



<p class="has-medium-font-size wp-block-paragraph">Can only be used on index, middle, ring, and pinky fingers.<br>검지, 중지, 약지, 새끼손가락에만 사용할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">States:</p>



<ul class="wp-block-list">
<li><strong>Touching</strong>: The fingertip joints are within ~1.5cm (pictured for index).</li>



<li><strong>Near</strong>: The fingertip joints are between ~1.5cm and ~15cm apart.</li>



<li><strong>None</strong>: The fingertip joints are greater than ~15cm apart.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>만지기</strong>: 손가락 끝 관절은 ~1.5cm 이내입니다(인덱스 사진).</li>



<li><strong>근거리</strong>: 손가락 끝 관절은 ~1.5cm에서 ~15cm 떨어져 있습니다.</li>



<li><strong>없음</strong>: 손가락 끝 관절이 ~15cm 이상 떨어져 있습니다.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="438" height="596" src="https://lycos7560.com/wp-content/uploads/2023/05/image-110.png" alt="" class="wp-image-34922" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-110.png 438w, https://lycos7560.com/wp-content/uploads/2023/05/image-110-220x300.png 220w" sizes="(max-width: 438px) 100vw, 438px" /></figure>



<p class="has-medium-font-size wp-block-paragraph">An example of opposition. The index finger is in the&nbsp;<strong>Touching</strong>&nbsp;state.<br>반대의 예. 집게 손가락이&nbsp;<strong>Touching</strong>&nbsp;상태입니다.</p>



<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-large-font-size" id="transform-recognition">Transform Recognition</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Poses consist of one or more transforms. <br>포즈는 하나 이상의 변환으로 구성됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The transform of the hand only represents the orientation and position.<br>손의 변형은 방향과 위치만 나타냅니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The orientation is only evaluated relative to the WristUp, WristDown, PalmDown, PalmUp, PalmTowardsFace, PalmsAwayFromFace, FingersUp, FingersDown, and PinchClear transforms.<br>방향은 WristUp, WristDown, PalmDown, PalmUp, PalmTowardsFace, PalmsAwayFromFace, FingersUp, FingersDown 및 PinchClear 변환을 기준으로만 평가됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A pose’s required transforms are listed in the pose’s&nbsp;TransformRecognizerActiveState&nbsp;component.<br>포즈의 필수 변환은 포즈의&nbsp;TransformRecognizerActiveState&nbsp;구성 요소에 나열됩니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">During hand tracking, the hand’s transforms are compared to the pose’s transforms. <br>핸드 트래킹 중에 손의 변형이 포즈의 변형과 비교됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If both sets of transforms match and all the shapes in the pose are active, then the pose is detected.<br>두 변환 집합이 모두 일치하고 포즈의 모든 shape가 활성 상태이면 포즈가 감지됩니다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="568" height="328" src="https://lycos7560.com/wp-content/uploads/2023/05/image-111.png" alt="" class="wp-image-34926" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-111.png 568w, https://lycos7560.com/wp-content/uploads/2023/05/image-111-300x173.png 300w" sizes="(max-width: 568px) 100vw, 568px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The axes that define the hand’s fingers, wrist, and palm.<br>손의 손가락, 손목 및 손바닥을 정의하는 축입니다.</p>



<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size">TransformRecognizerActiveState</h4>



<figure class="wp-block-image size-full"><img decoding="async" width="1195" height="315" src="https://lycos7560.com/wp-content/uploads/2023/05/image-114.png" alt="" class="wp-image-34934" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-114.png 1195w, https://lycos7560.com/wp-content/uploads/2023/05/image-114-300x79.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-114-768x202.png 768w" sizes="(max-width: 1195px) 100vw, 1195px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>TransformRecognizerActiveState</strong>&nbsp;takes a hand, the current state of the hand’s transforms, and a list of transform feature configs, and a transform config.<br><strong>TransformRecognizerActiveState</strong>&nbsp;는 손 변환의 현재 상태, 변환 기능 구성 목록 및 변환 구성을 사용합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">To get the current state of the hand’s transforms, it uses the&nbsp;method to retrieve the&nbsp;<strong>TransformFeatureStateProvider</strong>&nbsp;component.<br>손 변환의 현재 상태를 가져오기 위해 method를 사용하여&nbsp;<strong>TransformFeatureStateProvider</strong>&nbsp;구성 요소를 검색합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">That component reads the raw feature values and quantizes them into&nbsp;<strong>TransformFeatureStates</strong>&nbsp;using the&nbsp;<strong>Transform Config</strong>&nbsp;you provide in this component.<code>GetHandAspect</code><br>이 구성 요소는 raw 기능 값을 읽고 이 구성 요소에서 제공하는&nbsp;<strong>변환 구성을</strong>&nbsp;사용하여&nbsp;<strong>TransformFeatureStates</strong>로 정량화 합니다.<code>GetHandAspect</code></p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Property</th><th class="has-text-align-left" data-align="left">Description</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Hand</td><td class="has-text-align-left" data-align="left">A&nbsp;<strong>Hand Ref</strong>&nbsp;component. Determines which hand is read for state data.<br><strong>Hand Ref</strong>&nbsp;구성 요소입니다. 상태 데이터를 읽을 핸드를 결정합니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Transform Feature State Provider</td><td class="has-text-align-left" data-align="left">A&nbsp;TransformFeatureStateProvider&nbsp;component, which provides the current state of the tracked hand’s transforms.<br>추적된 손 변환의 현재 상태를 제공하는&nbsp;TransformFeatureStateProvider&nbsp;구성 요소입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Transform Feature Configs</td><td class="has-text-align-left" data-align="left">A list of required transforms that the tracked hand must match for the pose to become active (assuming all shapes are also active). <br>포즈가 활성화되기 위해 추적된 손이 일치해야 하는 필수 변환 목록입니다(모든 셰이프도 활성 상태라고 가정).<br><br>Each transform is an orientation and a boolean (ex.&nbsp;<strong>PalmTowardsFace</strong>&nbsp;is&nbsp;<strong>True</strong>.)<br>각 변환은 방향과 부울입니다(예:&nbsp;<strong>PalmTowardsFace</strong>는&nbsp;<strong>True</strong>임).</td></tr><tr><td class="has-text-align-left" data-align="left">Transform Config</td><td class="has-text-align-left" data-align="left">See&nbsp;TransformConfig.<br>TransformConfig를 참조하세요.</td></tr></tbody></table></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size" id="transform-feature-state-provider">TransformFeatureStateProvider</h4>



<figure class="wp-block-image size-full"><img decoding="async" width="1200" height="255" src="https://lycos7560.com/wp-content/uploads/2023/05/image-113.png" alt="" class="wp-image-34933" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-113.png 1200w, https://lycos7560.com/wp-content/uploads/2023/05/image-113-300x64.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-113-768x163.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>TransformFeatureStateProvider</strong>&nbsp;provides the transform states of the tracked hand. <br><strong>TransformFeatureStateProvider</strong>는 추적된 손의 변환 상태를 제공합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">It’s referenced by the&nbsp;TransformRecognizerActiveState&nbsp;component.<br>TransformRecognizerActiveState&nbsp;구성 요소에서 참조합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Property</th><th class="has-text-align-left" data-align="left">Description</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Hand</td><td class="has-text-align-left" data-align="left">The&nbsp;<strong>Hand</strong>&nbsp;component to use for finger state data.<br>손가락 상태 데이터에 사용할&nbsp;<strong>Hand</strong>&nbsp;구성 요소입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Hmd</td><td class="has-text-align-left" data-align="left">The&nbsp;<strong>Hmd</strong>&nbsp;component.<br><strong>Hmd</strong>&nbsp;구성 요소입니다.</td></tr><tr><td class="has-text-align-left" data-align="left">Tracking to World Transformer</td><td class="has-text-align-left" data-align="left">The&nbsp;<strong>OVRInteraction</strong>&nbsp;GameObject from&nbsp;Set up Camera Rig.<br>OVR카메라 릭 셋업의&nbsp;<strong>내부 액션</strong>&nbsp;게임 오브젝트입니다.</td></tr></tbody></table></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size" id="transform-config">TransformConfig</h4>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>Transform Config</strong>&nbsp;influences state transitions computed via&nbsp;TransformFeatureStateProvider. <br><strong>변환 구성은</strong>&nbsp;TransformFeatureStateProvider를 통해 계산된 상태 전환에 영향을 줍니다.</p>



<p class="has-medium-font-size wp-block-paragraph">It implements the&nbsp;<strong>IActiveState</strong>&nbsp;interface and becomes active whenever all of the listed transform states are active.<br><strong>IActiveState</strong>&nbsp;인터페이스를 구현하고 나열된 모든 변환 상태가 활성화될 때마다 활성화됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Its&nbsp;<strong>Feature Thresholds</strong>&nbsp;property takes a&nbsp;,&nbsp;<strong>TransformFeatureStateThresholds</strong>, that defines the transform feature thresholds for each orientation. <br><strong>해당 Feature</strong>&nbsp;Thresholds 속성은 각 방향에 대한 변환 기능 임계값을 정의하는&nbsp;<strong>TransformFeatureStateThresholds</strong>를 사용합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The transform feature thresholds use the same properties as the&nbsp;FingerFeatureStateThresholds.<code>ScriptableObject</code><br>변환 기능 임계값은&nbsp;FingerFeatureStateThresholds와 동일한 속성을 사용합니다.<code>ScriptableObject</code></p>



<p class="has-medium-font-size wp-block-paragraph"><strong>Note</strong></p>



<p class="has-medium-font-size wp-block-paragraph">Once you register a specific configuration, the&nbsp;method can then query the state of each state tracked for configuration. <br>특정 구성을 등록하면 메서드는 구성을 위해 추적된 각 상태의 상태를 쿼리할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">It leverages&nbsp;<strong>FeatureStateProvider</strong>&nbsp;to drive state-changing logic.<code>RegisterConfig</code><br><strong>FeatureStateProvider</strong>를 활용하여 상태 변경 논리를 구동합니다.<code>RegisterConfig</code></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-large-font-size">Velocity Recognition</h4>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Velocity recognition components detect motion, whereas shape recognition only detects static poses. <br>속도 인식 구성 요소는 동작을 감지하는 반면 모양 인식은 정적 포즈만 감지합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">For example, shape recognition can detect a hand in a thumbs-up pose, <br>예를 들어 모양 인식은 엄지손가락을 위로 올리는 포즈에서 손을 감지할 수 있지만</p>



<p class="has-medium-font-size wp-block-paragraph">but cannot determine if the hand is moving upward while in that pose.<br>해당 포즈에서 손이 위로 움직이는지 여부는 확인할 수 없습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">There are two velocity recognition components. <br>속도 인식 구성 요소에는 두 가지가 있습니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">Both components get joint data from the&nbsp;<strong>JointDeltaProvider</strong>&nbsp;component.<br>두 구성 요소 모두&nbsp;<strong>JointDeltaProvider</strong>&nbsp;구성 요소에서 조인트 데이터를 가져옵니다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>JointVelocityActiveState</strong>&nbsp;tracks velocities (position deltas over the last two frames) for a list of joints and compares them to a velocity target along the provided axes. <br><strong>JointVelocityActiveState</strong>는 조인트 목록에 대한 속도(마지막 두 프레임에 대한 위치 델타)를 추적하고 제공된 축을 따라 속도 목표와 비교합니다.&nbsp;<br><br>If the velocity target (units per second) is met for the minimum time threshold, the state becomes Active.<br>속도 목표(초당 단위)가 최소 시간 임계값에 충족되면 상태가 활성이 됩니다.</li>



<li><strong>JointRotationActiveState</strong>&nbsp;tracks angular velocities (rotation deltas over the last two frames) for a list of joints and compares them to a rotation target around the provided axes. <br><strong>JointRotationActiveState</strong>는 조인트 목록에 대한 각속도(마지막 두 프레임의 회전 델타)를 추적하고 제공된 축 주위의 회전 대상과 비교합니다.<br><br>If the rotation target (degrees per second) is met for the minimum time threshold, the state becomes Active.<br>최소 시간 임계값에 대해 회전 목표(초당 도)가 충족되면 상태가 활성이 됩니다.</li>
</ul>



<figure class="wp-block-image size-full"><img decoding="async" width="1534" height="528" src="https://lycos7560.com/wp-content/uploads/2023/05/image-116.png" alt="" class="wp-image-34945" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-116.png 1534w, https://lycos7560.com/wp-content/uploads/2023/05/image-116-300x103.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-116-768x264.png 768w" sizes="(max-width: 1534px) 100vw, 1534px" /></figure>



<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-large-font-size">Sequences</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>IActiveState</strong>&nbsp;components can be chained together using the&nbsp;<strong>Sequence</strong>&nbsp;component. <br><strong>IActiveState</strong>&nbsp;구성 요소는&nbsp;<strong>Sequence</strong>&nbsp;구성 요소를 사용하여 함께 연결할 수 있습니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">Because&nbsp;<strong>Sequences</strong>&nbsp;can recognize a series of&nbsp;<strong>IActiveStates</strong>&nbsp;over time, they can be used to compose complex gestures. <br><strong>시퀀스는</strong>&nbsp;시간이 지남에 따라 일련의&nbsp;<strong>IActiveStates</strong>를 인식할 수 있으므로 복잡한 제스처를 작성하는 데 사용할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">For examples of complex gestures, see the&nbsp;GestureExamples&nbsp;sample scene.<br>복잡한 제스처의 예는&nbsp;GestureExamples&nbsp;샘플 장면을 참조하세요.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-video"><video height="948" style="aspect-ratio: 1688 / 948;" width="1688" controls muted src="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_23_00_24_04_459.mp4"></video></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img decoding="async" width="1513" height="762" src="https://lycos7560.com/wp-content/uploads/2023/05/image-118.png" alt="" class="wp-image-34947" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-118.png 1513w, https://lycos7560.com/wp-content/uploads/2023/05/image-118-300x151.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-118-768x387.png 768w" sizes="(max-width: 1513px) 100vw, 1513px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading has-large-font-size">Sequence Classes</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph"><strong>Sequence</strong>&nbsp;takes a list of&nbsp;<strong>ActivationSteps</strong>&nbsp;and iterates through them as they become active. <br><strong>Sequence</strong>는&nbsp;<strong>ActivationSteps</strong>의 목록을 가져와서 활성화될 때 반복합니다.</p>



<p class="wp-block-paragraph">Each&nbsp;<strong>ActivationStep</strong>&nbsp;consists of an&nbsp;<strong>IActiveState</strong>, a minimum active time, and a maximum step time. <br><strong>ActivationStep</strong>은&nbsp;<strong>IActiveState</strong>, 최소 활성 시간 및 최대 단계 시간으로 구성됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">These steps function as follows:</p>



<ul class="wp-block-list">
<li>The&nbsp;<strong>IActiveState</strong>&nbsp;must be active for at least the minimum active time before the&nbsp;<strong>Sequence</strong>&nbsp;proceeds to the next step.</li>



<li>If an&nbsp;<strong>IActiveState</strong>&nbsp;is active for longer than the maximum step time, the step will fail and the&nbsp;<strong>Sequence</strong>&nbsp;will restart.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li><strong>IActiveState</strong>는&nbsp;<strong>시퀀스</strong>가 다음 단계로 진행하기 전에 최소 활성 시간 이상 활성 상태여야 합니다.</li>



<li><strong>IActiveState</strong>가 최대 단계 시간보다 오래 활성 상태이면 단계가 실패하고&nbsp;<strong>시퀀스</strong>가 다시 시작됩니다.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">Once the final&nbsp;<strong>ActivationStep</strong>&nbsp;in the&nbsp;<strong>Sequence</strong>&nbsp;has completed, the&nbsp;<strong>Sequence</strong>&nbsp;becomes active. <br><strong>시퀀스</strong>의 마지막&nbsp;<strong>ActivationStep</strong>이 완료되면&nbsp;<strong>시퀀스</strong>가 활성화됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If an optional KeepActiveWhile&nbsp;<strong>IActiveState</strong>&nbsp;has been provided, the&nbsp;<strong>Sequence</strong>&nbsp;will remain active as long as KeepActiveWhile is active.<br>선택적 KeepActiveWhile&nbsp;<strong>IActiveState</strong>가 제공된 경우 KeepActiveWhile이 활성화되어 있는 한&nbsp;<strong>시퀀스</strong>는 활성 상태로 유지됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The last phase of a&nbsp;<strong>Sequence</strong>&nbsp;is the optional cooldown phase, the duration of which can be set in the RemainActiveCooldown field. <br><strong>시퀀스</strong>의 마지막 단계는 선택적 휴지 단계이며, 지속 시간은 RemainActiveCooldown 필드에서 설정할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">A&nbsp;<strong>Sequence</strong>&nbsp;that is deactivating will wait for this cooldown timer to elapse before finally becoming inactive.<br>비활성화 중인&nbsp;<strong>시퀀스</strong>는 이 재사용 대기시간 타이머가 경과할 때까지 기다렸다가 최종적으로 비활성화됩니다.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>SequenceActiveState</strong>&nbsp;is an&nbsp;<strong>IActiveState</strong>&nbsp;wrapper for a&nbsp;<strong>Sequence</strong>, and can either report active once the Sequence has started, once the&nbsp;<strong>Sequence</strong>&nbsp;steps have finished, or both.<br><strong>SequenceActiveState</strong>는 시퀀스에 대한&nbsp;<strong>IActiveState</strong>&nbsp;래퍼이며, 시퀀스가 시작되거나,&nbsp;<strong>시퀀스</strong>&nbsp;단계가 완료되거나, 둘 다 활성으로 보고될 수 있습니다.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Debugging Pose Recognition (포즈 인식 디버깅)</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The following classes let you visually debug elements of the pose recognition system.<br>다음 클래스를 사용하면 포즈 인식 시스템의 요소를 시각적으로 디버깅할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="activestatedebugtree">ActiveStateDebugTree</h3>



<p class="has-medium-font-size wp-block-paragraph">Builds a visual representation of an IActiveState tree on a UI canvas, based on a provided root IActiveState. <br>제공된 루트 IActiveState를 기반으로 UI 캔버스에서 IActiveState 트리의 시각적 표현을 빌드합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Two different node layout types are provided,&nbsp;<strong>ActiveStateDebugTreeHorizontal</strong>&nbsp;(for a left-to-right representation) and **ActiveStateDebugTreeVertical **(for a more compact top to bottom tree view).<br><strong>ActiveStateDebugTreeHorizontal</strong>(왼쪽에서 오른쪽 표현용) 및 ActiveStateDebugTreeVertical(보다 간결한 위에서 아래쪽 트리 보기)의 두 가지 노드 레이아웃 유형이 제공됩니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="fingerfeatureskeletaldebugvisual">FingerFeatureSkeletalDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Uses a line renderer to indicate if a finger feature is active on a specific finger (green) or not (red).<br>라인 렌더러를 사용하여 손가락 기능이 특정 손가락에서 활성화되어 있는지(녹색) 또는 활성화되지 않았는지(빨간색)를 나타냅니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="handshapeskeletaldebugvisual">HandShapeSkeletalDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Creates a series of&nbsp;<strong>FingerFeatureSkeletalDebugVisuals</strong>&nbsp;for the features belonging to a&nbsp;<strong>ShapeRecognizerActiveState</strong>.<br><strong>ShapeRecognizerActiveState</strong>에 속하는 기능에 대한 일련의&nbsp;<strong>FingerFeatureSkeletalDebugVisuals</strong>를 만듭니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="transformfeaturedebugvisual">TransformFeatureDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Changes the color of a target renderer to green if the specific&nbsp;<strong>TransformFeatureState</strong>&nbsp;is active; red if not.<br>특정&nbsp;<strong>TransformFeatureState</strong>가 활성 상태인 경우 대상 렌더러의 색을 녹색으로 변경합니다. 그렇지 않은 경우 빨간색.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="transformfeaturevectordebugparentvisual">TransformFeatureVectorDebugParentVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Creates vector debug views for the&nbsp;<strong>FeatureStates</strong>&nbsp;belonging to a&nbsp;<strong>TransformRecognizerActiveState</strong>; one vector for the feature and another vector for the hand. <br><strong>TransformRecognizerActiveState</strong>에 속하는&nbsp;<strong>FeatureStates</strong>에 대한 벡터 디버그 뷰를 만듭니다. 하나의 벡터는 기능에 대한 것이고 다른 하나는 손에 대한 벡터입니다. </p>



<p class="has-medium-font-size wp-block-paragraph">When both vectors are visualized, one can see how close the (blue) hand vector is to the (black) feature vector that it is being tested against in&nbsp;<strong>TransformFeatureValueProvider</strong>.<br>두 벡터를 모두 시각화하면 손 벡터(파란색)가&nbsp;<strong>TransformFeatureValueProvider</strong>에서 테스트 중인 (검은색) 기능 벡터에 얼마나 가까운지 확인할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="transformfeaturevectordebugvisual">TransformFeatureVectorDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Uses a line renderer to visualize a simple vector.<br>라인 렌더러를 사용하여 간단한 벡터를 시각화합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="transformrecognizerdebugvisual">TransformRecognizerDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Creates a series of&nbsp;<strong>TransformFeatureDebugVisuas</strong>&nbsp;to visually debug the&nbsp;<strong>TransformFeatureStates</strong>&nbsp;belonging to a collection of&nbsp;<strong>TransformRecognizerActiveState</strong>.<br><strong>TransformRecognizerActiveState</strong>&nbsp;컬렉션에 속하는&nbsp;<strong>TransformFeatureStates</strong>를 시각적으로 디버깅하기 위해 일련의&nbsp;<strong>TransformFeatureDebugVisuas</strong>를 만듭니다.</p>



<p class="has-medium-font-size wp-block-paragraph">This allows one to visually debug the active state of each transform feature via the created instances of&nbsp;<strong>TransformFeatureDebugVisual</strong>.<br>이렇게 하면&nbsp;<strong>TransformFeatureDebugVisual</strong>의 생성된 인스턴스를 통해 각 변환 기능의 활성 상태를 시각적으로 디버그할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="jointrotationdebugvisual">JointRotationDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Renders lines along the rotation axes tracked by the&nbsp;<strong>JointRotationActiveState</strong>. <br><strong>JointRotationActiveState</strong>에 의해 추적되는 회전 축을 따라 선을 렌더링합니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Lines are red while not rotating along that axis, and they fill up yellow as rotation amount increases toward the target, at which point they become green.<br>선은 해당 축을 따라 회전하지 않는 동안 빨간색으로 표시되며, 대상을 향해 회전량이 증가함에 따라 노란색으로 채워지며, 이때 녹색이 됩니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="jointvelocitydebugvisual">JointVelocityDebugVisual</h3>



<p class="has-medium-font-size wp-block-paragraph">Renders lines along the velocity axes tracked by the&nbsp;<strong>JointVelocityActiveState</strong>. <br><strong>JointRotationActiveState</strong>에 의해 추적되는 회전 축을 따라 선을 렌더링합니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">Lines are red while not moving along that axis, and they fill up yellow as velocity increases toward the target, at which point they become green.<br>선은 해당 축을 따라 회전하지 않는 동안 빨간색으로 표시되며, 대상을 향해 회전량이 증가함에 따라 노란색으로 채워지며, 이때 녹색이 됩니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="internal-implementation-classes">Internal Implementation Classes</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size wp-block-paragraph">The classes described here implement the underlying functionality, but will not need to be modified in order to use Pose Recognition.<br>여기에 설명된 클래스는 기본 기능을 구현하지만 포즈 인식을 사용하기 위해 수정할 필요는 없습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="featurestateprovider">FeatureStateProvider</h3>



<p class="has-medium-font-size wp-block-paragraph">A generic helper class that keeps track of the current state of features, and uses thresholds to determine state changes.<br>기능의 현재 상태를 추적하고 임계값을 사용하여 상태 변경을 확인하는 제네릭 도우미 클래스입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">The class uses buffers to state changes to ensure that features do not switch rapidly between states.<br>이 클래스는 버퍼를 사용하여 상태 변경이 상태 간에 빠르게 전환되지 않도록 합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="featurestatethresholdseditor">FeatureStateThresholdsEditor</h3>



<p class="has-medium-font-size wp-block-paragraph">A generic editor class that defines the look and feel of dependent editor classes such as&nbsp;<strong>FingerFeatureStateThresholdsEditor</strong>&nbsp;and&nbsp;<strong>TransformStatesThresholdsEditor</strong>.<br><strong>FingerFeatureStateThresholdsEditor</strong>&nbsp;및&nbsp;<strong>TransformStatesThresholdsEditor</strong>와 같은 종속 편집기 클래스의 모양과 느낌을 정의하는 제네릭 편집기 클래스입니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="featuredescriptionattribute">FeatureDescriptionAttribute</h3>



<p class="has-medium-font-size wp-block-paragraph">Lets you define editor-visible descriptions and hints and values to aid users in setting thresholds for features.<br>사용자가 기능에 대한 임계값을 설정하는 데 도움이 되도록 편집기에서 볼 수 있는 설명과 힌트 및 값을 정의할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="ifeaturestatethreshold">IFeatureStateThreshold</h3>



<p class="has-medium-font-size wp-block-paragraph"><strong>IFeatureStateThreshold</strong>&nbsp;is a generic interface that defines the functionality of all thresholds used in hand pose detection.<br><strong>IFeatureStateThreshold</strong>는 손 자세 감지에 사용되는 모든 임계값의 기능을 정의하는 제네릭 인터페이스입니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="ifeaturestatethresholds">IFeatureStateThresholds</h3>



<p class="has-medium-font-size wp-block-paragraph">Defines a collection of IFeatureStateThresholds, specific to a feature type, whether that is finger features or transform features.<br>손가락 기능이든 변환 기능이든 기능 형식과 관련된 IFeatureStateThresholds의 컬렉션을 정의합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="ifeature-thresholds">IFeature Thresholds</h3>



<p class="has-medium-font-size wp-block-paragraph">Provides an interface to a collection of&nbsp;<strong>IFeatureStateThresholds</strong>&nbsp;as well as&nbsp;<strong>MinTimeInState</strong>&nbsp;(i.e. a minimum threshold of time a feature can be in a certain state before transitioning to another state).<br><strong>IFeatureStateThresholds</strong>&nbsp;및&nbsp;<strong>MinTimeInState</strong>&nbsp;컬렉션에 대한 인터페이스를 제공합니다(즉, 다른 상태로 전환하기 전에 기능이 특정 상태에 있을 수 있는 최소 임계값).</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="collidercontainshandjointactivestate">ColliderContainsHandJointActiveState</h3>



<p class="has-medium-font-size wp-block-paragraph">An&nbsp;<strong>IActiveState</strong>&nbsp;that tests to see if a hand joint is inside a collider. <br>손 관절이 콜라이더 내부에 있는지 테스트하는&nbsp;<strong>IActiveState</strong>입니다.</p>



<p class="has-medium-font-size wp-block-paragraph">If a SphereCollider is specified then its radius is used for checking, otherwise the script relies on the collider’s bounds. <br>SphereCollider가 지정되면 해당 반경이 검사에 사용되고, 그렇지 않으면 스크립트가 콜라이더의 경계에 의존합니다.&nbsp;</p>



<p class="has-medium-font-size wp-block-paragraph">This class is useful in case a developer wishes to see if the hand joint exists within a certain volume when a pose is active.<br>이 클래스는 개발자가 포즈가 활성 상태일 때 손 관절이 특정 볼륨 내에 존재하는지 확인하려는 경우에 유용합니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="hmdoffset">HmdOffset</h3>



<p class="has-medium-font-size wp-block-paragraph">Can be attached to an object that needs to be anchored from the center eye. <br>중앙 눈에서 고정해야 하는 물체에 부착할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">Position and rotation offsets can be specified, along with options to toggle the roll, pitch and yaw of the latter. <br>위치 및 회전 오프셋을 지정할 수 있으며, 후자의 롤, 피치 및 요를 토글하는 옵션도 지정할 수 있습니다.</p>



<p class="has-medium-font-size wp-block-paragraph">One can combine this with a&nbsp;<strong>ColliderContainsHandJointActiveState</strong>to position a collider relative to the center eye.<br>이를&nbsp;<strong>ColliderContainsHandJointActiveState</strong>와 결합하여 중심 눈을 기준으로 콜라이더를 배치할 수 있습니다.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5698326622209671" crossorigin="anonymous"></script>
<ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5698326622209671" data-ad-slot="4245812909"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/">Oculus Unity-Integration &#8211; Hand Pose Detection</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_22_21_16_30_889.mp4" length="13747023" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_23_00_24_04_459.mp4" length="16054352" type="video/mp4" />

			</item>
	</channel>
</rss>
