<?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>Unity-VR Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<atom:link href="https://lycos7560.com/category/unity/unity-vr/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>생각의 흐름을 타고 다니며 만드는 블로그</description>
	<lastBuildDate>Thu, 26 Sep 2024 06:09:26 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://lycos7560.com/wp-content/uploads/2022/11/cropped-cropped-cropped-log-1-150x150-1-80x80.png</url>
	<title>Unity-VR Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OVR Metrics Tool (v1.5) Stats Definition Guide 번역</title>
		<link>https://lycos7560.com/unity/ovr-metrics-tool-v1-5-stats-definition-guide-%eb%b2%88%ec%97%ad/38331/</link>
					<comments>https://lycos7560.com/unity/ovr-metrics-tool-v1-5-stats-definition-guide-%eb%b2%88%ec%97%ad/38331/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Thu, 26 Sep 2024 06:09:23 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=38331</guid>

					<description><![CDATA[<p>OVR Metrics Tool https://www.meta.com/ko-kr/experiences/ovr-metrics&#8211;tool/2372625889463779 https://developers.meta.com/horizon/documentation/unity/ts-ovrmetricstool &#8211; DOCS New in OVR Metrics Tool 1.5(OVR Metrics Tool 1.5의 새로운 기능) The following statistics were introduced in OVR Metrics Tool 1.5. (다음 통계는 OVR Metrics Tool 1.5에 도입되었습니다.) These statistics are not enabled with either the Basic or Advanced buttons.(이러한 통계는 Basic 또는 Advanced 버튼으로 활성화되지 않습니다.) Statistic Description Boundary GPU Time(경계 GPU 시간) Displays the [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/unity/ovr-metrics-tool-v1-5-stats-definition-guide-%eb%b2%88%ec%97%ad/38331/">OVR Metrics Tool (v1.5) Stats Definition Guide 번역</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">OVR Metrics Tool</h2>



<p><a href="https://www.meta.com/ko-kr/experiences/ovr-metrics-tool/2372625889463779">https://www.meta.com/ko-kr/experiences/ovr-metrics</a><a href="https://www.meta.com/ko-kr/experiences/ovr-metrics-tool/2372625889463779" target="_blank" rel="noreferrer noopener">&#8211;</a><a href="https://www.meta.com/ko-kr/experiences/ovr-metrics-tool/2372625889463779">tool/2372625889463779</a></p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1065" height="313" src="https://lycos7560.com/wp-content/uploads/2024/09/image-16.png" alt="" class="wp-image-38333" srcset="https://lycos7560.com/wp-content/uploads/2024/09/image-16.png 1065w, https://lycos7560.com/wp-content/uploads/2024/09/image-16-300x88.png 300w, https://lycos7560.com/wp-content/uploads/2024/09/image-16-768x226.png 768w" sizes="(max-width: 1065px) 100vw, 1065px" /></figure>



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



<p><a href="https://developers.meta.com/horizon/documentation/unity/ts-ovrmetricstool" target="_blank" rel="noreferrer noopener">https://developers.meta.com/horizon/documentation/unity/ts-ovrmetricstool</a> &#8211; DOCS</p>



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



<div class="wp-block-uagb-container uagb-block-e9389ded alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-uagb-container uagb-block-38dd8e69">
<figure class="wp-block-image size-full"><img decoding="async" width="626" height="540" src="https://lycos7560.com/wp-content/uploads/2024/09/image-17-1.jpg" alt="" class="wp-image-38335" srcset="https://lycos7560.com/wp-content/uploads/2024/09/image-17-1.jpg 626w, https://lycos7560.com/wp-content/uploads/2024/09/image-17-1-300x259.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></figure>
</div>



<div class="wp-block-uagb-container uagb-block-e6e480c2">
<figure class="wp-block-image size-full"><img decoding="async" width="655" height="604" src="https://lycos7560.com/wp-content/uploads/2024/09/image-16-1.jpg" alt="" class="wp-image-38332" srcset="https://lycos7560.com/wp-content/uploads/2024/09/image-16-1.jpg 655w, https://lycos7560.com/wp-content/uploads/2024/09/image-16-1-300x277.jpg 300w" sizes="(max-width: 655px) 100vw, 655px" /></figure>
</div>
</div></div>



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



<h3 class="wp-block-heading">New in OVR Metrics Tool 1.5<br>(OVR Metrics Tool 1.5의 새로운 기능)</h3>



<p>The following statistics were introduced in OVR Metrics Tool 1.5. <br>(다음 통계는 OVR Metrics Tool 1.5에 도입되었습니다.)</p>



<p>These statistics are not enabled with either the <strong>Basic</strong> or <strong>Advanced</strong> buttons.<br>(이러한 통계는 <strong>Basic</strong> 또는 <strong>Advanced</strong> 버튼으로 활성화되지 않습니다.)</p>



<p></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Statistic</strong></td><td><strong>Description</strong></td></tr><tr><td>Boundary GPU Time<br>(경계 GPU 시간)</td><td>Displays the Boundary GPU time, which is the amount of GPU time used by the boundary rendering.<br>(경계 렌더링에 사용되는 GPU 시간인 경계 GPU 시간을 표시합니다.)</td></tr><tr><td>CPU Utilization Core 0-7<br>(CPU 사용률 코어 0-7)</td><td>Displays the individual CPU core utilization. Applications are limited to cores 5, 6, and 7.<br>(개별 CPU 코어 사용률을 표시합니다. 응용 프로그램은 코어 5, 6, 7로 제한됩니다.)</td></tr><tr><td>Application VSS, RSS, and Dalvik PSS<br>(응용 프로그램 VSS, RSS 및 Dalvik PSS)</td><td>Memory statistics to give additional insight into memory usage.<br>(메모리 사용에 대한 추가적인 통찰력을 제공하는 메모리 통계입니다.)</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading">Statistics Enabled with ovrgpuprofiler<br>(ovrgpuprofiler로 활성화되는 통계)</h3>



<p>The following statistics are not enabled with either the <strong>Basic</strong> or <strong>Advanced</strong> buttons, and require that <a href="https://developers.meta.com/horizon/documentation/unity/ts-ovrgpuprofiler/" target="_blank" rel="noreferrer noopener">ovrgpuprofiler</a> has been enabled from a connected shell.<br>(다음 통계들은 <strong>Basic</strong> 또는 <strong>Advanced</strong> 버튼으로는 활성화되지 않으며, 연결된 셸에서 <a href="https://developers.meta.com/horizon/documentation/unity/ts-ovrgpuprofiler/" target="_blank" rel="noreferrer noopener">ovrgpuprofiler</a> 를 활성화해야 사용할 수 있습니다.)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Statistic</strong></td><td><strong>Description</strong></td></tr><tr><td>Average Vertices Per Frame<br>(프레임당 평균 정점 수)</td><td>Shows the approximate number of vertices shaded per frame. Note that boundary and system overlays will affect this number.<br>(프레임당 셰이딩된 대략적인 정점 수를 보여줍니다. 경계 및 시스템 오버레이가 이 수치에 영향을 줄 수 있습니다.)</td></tr><tr><td>Average Fill Percentage per Eye<br>(눈당 평균 채우기 비율)</td><td>An estimate for the average amount of overdraw, based on the number of fragments shaded per frame divided by the eye buffer resolution.<br>(프레임당 셰이딩된 프래그먼트 수를 눈 버퍼 해상도로 나눈 값을 기반으로 한 평균 오버드로우 추정치입니다.)<br>100 represents touching every pixel in the eye buffer only once.<br>(100은 눈 버퍼의 모든 픽셀을 한 번만 터치했음을 나타냅니다. )<br> Note that boundary and system overlays will affect this number.<br>(경계 및 시스템 오버레이가 이 수치에 영향을 줄 수 있습니다.)</td></tr><tr><td>Average Instructions per Fragment<br>(프래그먼트당 평균 명령어 수)</td><td>Shows the average number of instructions for every shaded fragment.<br>(셰이딩된 모든 프래그먼트에 대한 평균 명령어 수를 보여줍니다.)</td></tr><tr><td>Average Instructions per Vertex<br>(정점당 평균 명령어 수)</td><td>Shows the average number of instructions for every shaded vertex<br>(셰이딩된 모든 정점에 대한 평균 명령어 수를 보여줍니다.)</td></tr><tr><td>Average Textures per Fragment<br>(프래그먼트당 평균 텍스처 수)</td><td>Shows the average number of textures for each fragment.<br>(각 프래그먼트에 대한 평균 텍스처 수를 보여줍니다.)</td></tr><tr><td>Percentage Time Shading Fragments<br>(프래그먼트 셰이딩 시간 비율)</td><td>Shows the percentage of GPU time spent shading fragments.<br>(프래그먼트 셰이딩에 사용된 GPU 시간의 비율을 보여줍니다.)</td></tr><tr><td>Percentage Time Shading Vertices<br>(정점 셰이딩 시간 비율)</td><td>Shows the percentage of GPU time spent shading vertices.<br>(정점 셰이딩에 사용된 GPU 시간의 비율을 보여줍니다.)</td></tr><tr><td>Vertex Fetch Stall Percentage<br>(정점 가져오기 지연 비율)</td><td>Percentage of clock cycles where the GPU cannot make any more requests for vertex data.<br>(GPU가 정점 데이터에 대한 추가 요청을 할 수 없는 클럭 사이클의 비율입니다.)</td></tr><tr><td>Texture Fetch Stall Percentage<br>(텍스처 가져오기 지연 비율)</td><td>Percentage of clock cycles where the shader processors cannot make any more requests for texture data.<br>(셰이더 프로세서가 텍스처 데이터에 대한 추가 요청을 할 수 없는 클럭 사이클의 비율입니다.)</td></tr><tr><td>L1 Texture Miss Percentage<br>(L1 텍스처 미스 비율)</td><td>Percentage of texture requests to L1 cache that miss the cache.<br>(L1 캐시에 대한 텍스처 요청 중 캐시 미스의 비율입니다.)</td></tr><tr><td>L2 Texture Miss Percentage<br>(L2 텍스처 미스 비율)</td><td>Percentage of texture requests to L2 cache that miss the cache.<br>(L2 캐시에 대한 텍스처 요청 중 캐시 미스의 비율입니다.)</td></tr><tr><td>Texture Sample Percentage Using Nearest Filtering<br>(최근접 필터링을 사용하는 텍스처 샘플 비율)</td><td>Percent of texture fetches that use the nearest sampling method.<br>(최근접 샘플링 방법을 사용하는 텍스처 가져오기의 비율입니다.)</td></tr><tr><td>Texture Sample Percentage Using Linear Filtering<br>(선형 필터링을 사용하는 텍스처 샘플 비율)</td><td>Percent of texture fetches that use the linear sampling method.<br>(선형 샘플링 방법을 사용하는 텍스처 가져오기의 비율입니다.)</td></tr><tr><td>Texture Sample Percentage Using Anisotropic Filtering<br>(비등방성 필터링을 사용하는 텍스처 샘플 비율)</td><td>Percent of texture fetches that use the anisotropic sampling method.<br>(비등방성 샘플링 방법을 사용하는 텍스처 가져오기의 비율입니다.)</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading">Basic Statistics<br>(기본 통계)</h3>



<p>This section contains statistics that are tracked when the <strong>Basic</strong> button is selected.<br>(이 section에는 Basic 버튼을 선택했을 때 추적되는 통계가 포함되어 있습니다. )</p>



<p>These contain most of the important info that developers should track in regards to performance.<br>(이는 개발자들이 성능과 관련하여 추적해야 할 대부분의 중요한 정보를 담고 있습니다.)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Statistic</strong></td><td><strong>Description</strong></td></tr><tr><td>Stale Frame Count (<code>STALE</code>)<br>오래된 프레임 수 (STALE)</td><td>Shows the number of stale frames. <br>( 오래된 프레임의 수를 보여줍니다.)<br>This indicates the number of times a frame wasn’t delivered on time, and the previous frame was used instead.<br>(이는 프레임이 제 시간에 전달되지 않아 이전 프레임이 대신 사용된 횟수를 나타냅니다.)<br>Because the CPU and GPU are working in parallel, sometimes rendering a frame takes longer than a single frame’s total time length, but neither the CPU or GPU take longer than a frame individually themselves. <br>(CPU와 GPU가 병렬로 작업하기 때문에, 때로는 한 프레임을 렌더링하는 데 전체 프레임 시간보다 오래 걸리지만, <br>CPU나 GPU 각각은 개별적으로 한 프레임 시간을 초과하지 않을 수 있습니다. )<br>Therefore, it is possible for an app to run at 72 FPS, but have 72 stale frames per second.<br>(따라서 앱이 72 FPS로 실행되면서도 초당 72개의 오래된 프레임이 발생할 수 있습니다.)<br>In such situations, the latency between rendering and display time will be higher, but the release tempo of frames will be steady.<br>(이런 상황에서는 렌더링과 표시 시간 사이의 지연이 더 길어지지만, 프레임 출력 템포는 일정하게 유지됩니다.)<br>Stale frames become an issue when the value is greater than 0 and less than the refresh rate. <br>(오래된 프레임은 그 값이 0보다 크고 화면 주사율보다 작을 때 문제가 됩니다.)<br>At this point, some frames are displayed twice in a row, some frames are skipped, and the user will have a poor experience. <br>(이 경우, 일부 프레임은 연속으로 두 번 표시되고, 일부는 건너뛰게 되어 사용자 경험이 저하됩니다.)<br>Extra latency mode can be used in such situations. <br>(이런 상황에서는 추가 지연 모드를 사용할 수 있습니다.)<br>This feature, which is on by default in Unity and Unreal Engine) tells ATW to always wait an extra frame, and not to consider frames stale unless they aren’t ready after the second frame. <br>(이 기능은 Unity와 Unreal Engine에서 기본적으로 활성화되어 있으며, ATW(Asynchronous TimeWarp)에게 항상 한 프레임을 더 기다리도록 <br>지시하고, 두 번째 프레임 이후에도 준비되지 않은 경우에만 프레임을 오래된 것으로 간주합니다.)<br>If the app does render quickly, the frame will be considered early, but everything will look smooth.<br>(앱이 빠르게 렌더링되면 프레임은 이른 것으로 간주되지만, 모든 것이 부드럽게 보일 것입니다.)<br>For further reading on how stale frames work, read the blog post <a href="https://developers.meta.com/horizon/blog/understanding-gameplay-latency-for-oculus-quest-oculus-go-and-gear-vr/" target="_blank" rel="noreferrer noopener">Understanding Gameplay Latency for Meta Quest, Oculus Go and Gear VR</a>.<br>(오래된 프레임의 작동 방식에 대해 더 자세히 알고 싶다면, &#8220;Understanding Gameplay Latency for Meta Quest, Oculus Go and Gear VR&#8221; 블로그 포스트를 참조하세요.)</td></tr><tr><td>App GPU Time (<code>APP T</code>)<br>앱 GPU 시간 (APP T)</td><td>Displays the app GPU time (in <em>μ</em>s, 1/1000th ms), which is the amount of time the application spends rendering a single frame.<br>(앱 GPU 시간을 마이크로초(μs, 1/1000 밀리초) 단위로 표시합니다. 이는 애플리케이션이 단일 프레임을 렌더링하는 데 소요하는 시간입니다.)<br>This value is one of the most useful numbers to monitor when optimizing an application. <br>(이 값은 애플리케이션을 최적화할 때 모니터링해야 할 가장 유용한 수치 중 하나입니다.)<br>If the length of time shown is longer than a single frame’s length (13.88ms for 72 frames per second), the app is GPU bound. <br>(표시된 시간이 단일 프레임 길이(72 프레임/초의 경우 13.88ms)보다 길다면, 앱은 GPU 바운드 상태입니다.)<br>If the length is less than a frame’s length, the app is probably CPU bound.<br>(프레임 길이보다 짧다면, 앱은 아마도 CPU 바운드 상태일 것입니다.)<br>In addition to using this metric to determine if an app is GPU or CPU bound, it’s also useful to monitor it as you change shaders, add textures, change meshes, and make other changes. <br>(이 메트릭은 앱이 GPU 바운드인지 CPU 바운드인지 판단하는 데 사용될 뿐만 아니라, 셰이더 변경, 텍스처 추가, 메시 변경 등의 작업을 수행할 때 모니터링하는 데도 유용합니다.)<br>This can allow insight into how much headroom remains on the GPU, and if debug logic is used to turn on and off specific objects, you can tell how performance-intensive those objects are.<br>()이를 통해 GPU에 남아있는 여유 공간을 파악할 수 있으며, 디버그 로직을 사용하여 특정 객체를 켜고 끄면 해당 객체가 얼마나 성능 집약적인지 알 수 있습니다.</td></tr><tr><td>GPU Utilization (<code>GPU U</code>)<br>GPU 사용률 (GPU U)</td><td>Displays the GPU utilization percentage. If this value is maxed 100%, the app is GPU bound. <br>(GPU 사용률을 백분율로 표시합니다. 이 값이 100%에 도달하면 앱은 GPU 바운드 상태입니다.)<br>Performance issues due to scheduling may occur if this number is over 90%.<br>(이 수치가 90%를 초과하면 스케줄링으로 인한 성능 문제가 발생할 수 있습니다.)</td></tr><tr><td>CPU Utilization (<code>CPU U</code>)<br>CPU 사용률 (CPU U)</td><td>Displays the CPU utilization percentage. <br>(CPU 사용률을 백분율로 표시합니다.)<br>However, this metric represents the worst performing core, and since most apps are multithreaded, and the scheduler assigns threads as they are available, the main thread of the app may not be represented in this metric.<br>(하지만 이 메트릭은 가장 성능이 낮은 코어를 나타내며, 대부분의 앱이 멀티스레드이고 스케줄러가 사용 가능한 대로 스레드를 할당하기 때문에 앱의 메인 스레드가 이 메트릭에 반영되지 않을 수 있습니다.)</td></tr><tr><td>CPU Level (<code>CPU L</code>)<br>GPU Level (<code>GPU L</code>)<br><br>CPU 레벨 (CPU L)<br>GPU 레벨 (GPU L)</td><td>These metrics specify the CPU and GPU clock levels set by the app. <br>(이 메트릭들은 앱에 의해 설정된 CPU와 GPU 클럭 레벨을 지정합니다.)<br>While these levels can be set manually, use of dynamic clock throttling, which increases these numbers if the app is not hitting frame rate at a requested level, is recommended.<br>(이 레벨들은 수동으로 설정할 수 있지만, 요청된 레벨에서 프레임 속도를 달성하지 못할 경우 이 수치를 증가시키는 동적 클럭 조절 사용을 권장합니다.)<br>If an app is not making frame rate, reviewing the clock levels can help quickly indicate if performance is CPU or GPU bound, providing a target area for optimization. <br>(앱이 프레임 속도를 달성하지 못하는 경우, 클럭 레벨을 검토하면 성능이 CPU 바운드인지 GPU 바운드인지 빠르게 파악할 수 있어 최적화 대상 영역을 제공합니다.)<br>For example, if an app with performance issues is at CPU 4 and GPU 2, the app must be CPU bound since there is still available GPU overhead. <br>(예를 들어, 성능 문제가 있는 앱이 CPU 4와 GPU 2에 있다면, GPU에 여전히 여유가 있으므로 앱은 CPU 바운드 상태여야 합니다.)<br>However, if both levels are 4 and the app has issues, this number is not as useful, and other metrics should be used to find potential areas for optimization, such as stale frames, app GPU time, and CPU/GPU utilization.<br>(그러나 두 레벨이 모두 4이고 앱에 문제가 있다면, 이 수치는 유용하지 않으며 오래된 프레임, 앱 GPU 시간, CPU/GPU 사용률 등 다른 메트릭을 사용하여 잠재적인 최적화 영역을 찾아야 합니다.)<br>For more information on the CPU and GPU clock levels, see<a href="https://developers.meta.com/horizon/documentation/native/android/mobile-power-overview/" target="_blank" rel="noreferrer noopener"> Power Management</a>.<br>(CPU 및 GPU 클럭 레벨에 대한 자세한 정보는 전원 관리 섹션을 참조하세요.)</td></tr><tr><td>Average FPS (<code>FPS</code>)<br>평균 FPS (FPS)</td><td>Displays the frame rate in frames per second. <br>(초당 프레임 수로 프레임 속도를 표시합니다.)<br>A well-performing app should target the refresh rate of the display. See <a href="https://developers.meta.com/horizon/documentation/native/android/mobile-display-refresh-rate/">Refresh Rate</a> for more information.<br>(성능이 좋은 앱은 디스플레이의 주사율을 목표로 해야 합니다. 자세한 내용은 주사율 섹션을 참조하세요.)</td></tr><tr><td>Available Memory (<code>A MEM</code>)<br>사용 가능한 메모리 (A MEM)</td><td>Indicates the available memory in MB as reported by Android. <br>(Android에서 보고한 대로 사용 가능한 메모리를 MB 단위로 나타냅니다.)<br>On Android, memory is handled in a somewhat opaque way, which makes this value useful for only general guidance. <br>(Android에서는 메모리가 다소 불투명한 방식으로 처리되므로, 이 값은 일반적인 지침으로만 유용합니다.)<br>For example, if an app goes to the background, the newly foregrounded app and OS operations will pull a lot of memory, and it may crash your app even if Free is reporting that there is memory available.<br>(예를 들어, 앱이 백그라운드로 전환되면 새로 포그라운드로 전환된 앱과 OS 작업이 많은 메모리를 사용하게 되어, Free가 사용 가능한 메모리가 있다고 보고하더라도 앱이 충돌할 수 있습니다.)<br>This value is most useful as a way to monitor whether memory is being allocated faster than expected, or if memory isn’t being released when expected.<br>(이 값은 예상보다 빠르게 메모리가 할당되고 있는지, 또는 예상할 때 메모리가 해제되지 않는지를 모니터링하는 방법으로 가장 유용합니다.)</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading">Advanced Statistics<br>(고급 통계)</h3>



<p>This section contains statistics that are tracked when the <strong>Advanced</strong> button is selected. <br>(이 섹션에는 Advanced 버튼을 선택했을 때 추적되는 통계가 포함되어 있습니다.)</p>



<p>When selected, all <strong>Basic</strong> metrics are tracked as well. <br>(선택 시 모든 기본 메트릭도 함께 추적됩니다. )</p>



<p>These metrics are mainly useful to verify that behavior conforms to expectations based on choices during development.<br>(이러한 메트릭은 주로 개발 중 선택한 사항들에 기반한 예상 동작을 확인하는 데 유용합니다.)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Statistic</td><td>Description</td></tr><tr><td>Foveation Level (<code>FOV</code>)<br>Foveation 레벨 (FOV)</td><td>Indicates the level of Fixed Foveated Rendering (FFR) intensity. <br>(Fixed Foveated Rendering(FFR) 강도 수준을 나타냅니다.)<br>This feature can be used to render the edges of your eye textures at a lower resolution than the center, lowering the fidelity of the scene in the viewer’s peripheral vision while reducing the GPU load. <br>(이 기능은 눈 텍스처의 가장자리를 중앙보다 낮은 해상도로 렌더링하여 시청자의 주변 시야에서 장면의 fidelity를 낮추면서 GPU 부하를 줄이는 데 사용될 수 있습니다.)<br>This number has direct GPU performance implications, and there will be noticeable visible artifacts on the edge of the screen at higher levels. <br>(이 수치는 GPU 성능에 직접적인 영향을 미치며, 높은 수준에서는 화면 가장자리에 눈에 띄는 가시적 아티팩트가 발생합니다.)<br>Pick the most visually acceptable level for the performance increase needed.<br>(필요한 성능 향상을 위해 시각적으로 가장 받아들일 만한 수준을 선택하세요.)<br>For more information and recommendations, see<a href="https://developers.meta.com/horizon/documentation/native/android/mobile-ffr/" target="_blank" rel="noreferrer noopener"> Fixed Foveated Rendering (FFR)</a>.<br>(자세한 정보와 권장 사항은 <a href="https://developers.meta.com/horizon/documentation/native/android/mobile-ffr/" target="_blank" rel="noreferrer noopener">Fixed Foveated Rendering (FFR)</a> 섹션을 참조하세요.)</td></tr><tr><td>Eye Buffer Width (<code>EBW</code>)<br>Eye Buffer Height (<code>EBH</code>)<br><br>눈 버퍼 너비 (EBW)<br>눈 버퍼 높이 (EBH)</td><td>This is the resolution of the texture to which the app is rendering. <br>(앱이 렌더링하는 텍스처의 해상도입니다.)<br>The default for Meta Quest is 1216&#215;1344. <br>(Meta Quest의 기본값은 1216&#215;1344입니다.)<br>This is useful to verify expectations and to confirm the aspect ratio is correct for the field of view. <br>(이는 예상을 확인하고 종횡비가 시야각에 맞는지 확인하는 데 유용합니다.)<br>Resolution has a direct impact on GPU rendering time, where more pixels means more time in fragment shaders.<br>(해상도는 GPU 렌더링 시간에 직접적인 영향을 미치며, 더 많은 픽셀은  fragment shaders에서 더 많은 시간을 의미합니다.)</td></tr><tr><td>Early Frame Count (<code>EARLY</code>)<br>조기 프레임 수 (EARLY)</td><td>Shows the number of early frames. <br>(조기 프레임의 수를 보여줍니다.)<br>This indicates the number of frames delivered before they were needed. <br>(이는 필요하기 전에 전달된 프레임의 수를 나타냅니다.)<br>Early frames are possible when extra latency mode is being used.<br>(조기 프레임은 추가 지연 모드가 사용될 때 가능합니다.)<br>When a few early frames can be ignored, but if this number is persistently high, make sure the CPU and GPU levels aren’t set higher than necessary. <br>(몇 개의 조기 프레임은 무시할 수 있지만, 이 수가 지속적으로 높다면 CPU와 GPU 레벨이 필요 이상으로 높게 설정되지 않았는지 확인하세요.)<br>If the number of early frames matches the FPS, it’s recommended to either turn off extra latency mode, or take advantage of the headroom by increasing the resolution or shader complexity.<br>(조기 프레임 수가 FPS와 일치한다면, 추가 지연 모드를 끄거나 여유 공간을 활용하여 해상도나 셰이더 복잡도를 높이는 것이 좋습니다.)</td></tr><tr><td>Used Memory (<code>U MEM</code>)<br>사용된 메모리 (U MEM)</td><td>Indicates the memory used in MB as reported by Android. <br>(Android에서 보고한 대로 사용된 메모리를 MB 단위로 나타냅니다.)<br>Because apps can share memory in Android, this number reports proportional set size (PSS) memory, meaning that this value adds all the unique memory used by the app, and a fractional part of shared memory based on how many apps are sharing it. <br>(Android에서 앱들이 메모리를 공유할 수 있기 때문에, 이 수치는 비례 집합 크기(PSS) 메모리를 보고합니다. <br>즉, 이 값은 앱이 사용하는 모든 고유 메모리와 공유 메모리의 일부분(공유하는 앱의 수에 따라 분할)을 더합니다.)<br>This makes the number useful in tracking relative memory allocation for your app, but not very useful in showing true memory footprint.<br>(이는 앱의 상대적인 메모리 할당을 추적하는 데 유용하지만, 실제 메모리 사용량을 보여주는 데는 그다지 유용하지 않습니다.)</td></tr><tr><td>Extra Latency Mode (<code>LAT</code>)<br>추가 지연 모드 (LAT)</td><td>Indicates whether extra latency mode is enabled. <br>(추가 지연 모드가 활성화되었는지 여부를 나타냅니다.)<br>This feature tells ATW to always wait an extra frame and use the previously submitted frame. <br>(이 기능은 ATW에게 항상 추가 프레임을 기다리고 이전에 제출된 프레임을 사용하도록 지시합니다.)<br>This allows usage of the whole frame for CPU and GPU, making it easier to hit frame targets with the downside of the loss of one frame of latency. <br>(이를 통해 CPU와 GPU에 전체 프레임을 사용할 수 있게 되어 프레임 목표를 더 쉽게 달성할 수 있지만, 한 프레임의 지연이 발생하는 단점이 있습니다.)<br>Extra latency mode can make hitting performance targets easier, and its use is highly recommended.<br>(추가 지연 모드는 성능 목표 달성을 더 쉽게 만들 수 있으며, 사용을 강력히 권장합니다.)<br>Extra latency mode is enabled by default when developing with Unity and Unreal Engine. <br>(Unity와 Unreal Engine으로 개발할 때 추가 지연 모드는 기본적으로 활성화됩니다.)<br>For native mobile development, enable extra latency mode with vrapi_SetExtraLatencyMode.<br>(네이티브 모바일 개발의 경우, vrapi_SetExtraLatencyMode로 추가 지연 모드를 활성화하세요.)</td></tr><tr><td>Average Prediction (<code>PRED</code>)<br>평균 예측 (PRED)</td><td>Shows the prediction time. <br>(예측 시간을 보여줍니다.)<br>This is the absolute time between when an app queries the pose before rendering and the time the frame is displayed on the HMD screen.<br>(이는 앱이 렌더링 전에 포즈를 쿼리하는 시점부터 프레임이 HMD 화면에 표시되는 시점까지의 절대 시간입니다.)<br>This should almost always be a fixed number between 45ms and 50ms. <br>(이 값은 거의 항상 45ms에서 50ms 사이의 고정된 수치여야 합니다. )<br>If this number is much higher than expected, the app likely has latency issues when rendering.<br>(이 수치가 예상보다 훨씬 높다면, 앱이 렌더링 시 지연 문제가 있을 가능성이 높습니다.)</td></tr><tr><td>TimeWarp GPU Time (<code>TW T</code>)<br>TimeWarp GPU 시간 (TW T)</td><td>Displays the ATW GPU time (in <em>μ</em>s, 1/1000th ms), which is the amount of time ATW takes to render. <br>(ATW GPU 시간을 마이크로초(μs, 1/1000 밀리초) 단위로 표시합니다, 이는 ATW가 렌더링하는 데 걸리는 시간입니다.)<br>This time directly correlates to the number of layers used and their complexity, with equirect and cylinder layers being more expensive on the GPU than quad and projection layers.<br>(이 시간은 사용된 레이어의 수와 복잡도에 직접적으로 연관되며, equirect와 cylinder 레이어가 quad와 projection 레이어보다 GPU에 더 부담이 됩니다.)<br>This value may be useful to video apps because ATW taking too long can result in screen tearing in playback.<br>(이 값은 비디오 앱에 유용할 수 있습니다. ATW가 너무 오래 걸리면 재생 중 화면 찢김 현상이 발생할 수 있기 때문입니다.)</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading">Additional Useful Statistics<br>(추가 유용한 통계)</h3>



<p>In addition to those tracked by the <strong>Basic</strong> and <strong>Advanced</strong> buttons, the statistics in this section may also provide utility to developers.<br>(Basic과 Advanced 버튼으로 추적되는 통계 외에도, 이 섹션의 통계는 개발자에게 유용할 수 있습니다.)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Statistic</td><td>Description</td></tr><tr><td>Screen Tear Count (<code>TEARS</code>)<br>화면 찢김 수 (TEARS)</td><td>Shows the number of screen tears. <br>(화면 찢김의 수를 보여줍니다.)<br>This reports when Asynchronous TimeWarp (ATW) takes too long and experiences a screen tear.<br>(이는 비동기 TimeWarp(ATW)가 너무 오래 걸려 화면 찢김을 경험할 때 보고됩니다.)<br>Screen tears should not happen on Meta Quest apps unless too many layers are being used. <br>(Meta Quest 앱에서는 너무 많은 레이어가 사용되지 않는 한 화면 찢김이 발생해서는 안 됩니다.)<br>This might occur if quad or cylinder layers are being used to display UI elements, or if multiple overlapping equirect video layers are displayed.<br>(이는 UI 요소를 표시하기 위해 quad나 cylinder 레이어를 사용하거나, 여러 개의 겹치는 equirect 비디오 레이어가 표시될 때 발생할 수 있습니다.)</td></tr><tr><td>Swap Interval (<code>SWAP</code>)<br>Swap 간격 (SWAP)</td><td>Shows the swap interval, which tells the app how many frames to skip before rendering the next frame. <br>(스왑 간격을 보여줍니다. 이는 앱에게 다음 프레임을 렌더링하기 전에 몇 개의 프레임을 건너뛸지 알려줍니다.)<br>This will almost always be 1, as a value of 2 can cause the app to render at half frame rate, which can be uncomfortable with 6DOF movement.<br>(이 값은 거의 항상 1이어야 합니다. 2로 설정하면 앱이 절반의 프레임 속도로 렌더링될 수 있어 6DOF 움직임에서 불편할 수 있습니다.)<br>This may be set to 2 for debugging purposes, but this setting should never be used in a published app because it’s noticeable whenever the user turns their head.<br>(디버깅 목적으로 2로 설정될 수 있지만, 사용자가 머리를 돌릴 때마다 눈에 띄기 때문에 출시된 앱에서는 절대 사용해서는 안 됩니다.)</td></tr><tr><td>Display Refresh Rate (<code>DRR</code>)<br>디스플레이 주사율 (DRR)</td><td>Shows what the refresh rate of the display is currently set to. This value can be 60 or 72. See <a href="https://developers.meta.com/horizon/documentation/native/android/mobile-display-refresh-rate/" target="_blank" rel="noreferrer noopener">Refresh Rate</a> for more information,<br>(디스플레이의 현재 주사율을 보여줍니다. 이 값은 60 또는 72일 수 있습니다. 자세한 내용은 <a href="https://developers.meta.com/horizon/documentation/native/android/mobile-display-refresh-rate/" target="_blank" rel="noreferrer noopener">Refresh Rate</a>을 참조하세요.)</td></tr><tr><td>Battery Level (<code>BAT</code>)<br>배터리 레벨 (BAT)</td><td>Shows the remaining battery level percentage.<br>(남은 배터리 레벨 백분율을 보여줍니다.)</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading">Other Statistics<br>(기타 통계)</h3>



<p>This section contains statistics that were relevant to older hardware, and should not be a concern for Meta Quest.<br>(이 섹션에는 이전 하드웨어에 관련된 통계가 포함되어 있으며, Meta Quest에서는 크게 신경 쓰지 않아도 됩니다.)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Statistic</td><td>Description</td></tr><tr><td>Sensor Temperature (<code>TEMP</code>)<br>센서 온도 (TEMP)</td><td>Shows the sensor temperature in Celsius. <br>센서 온도를 섭씨로 보여줍니다. <br>This was specifically important for phone-based VR development. <br>(이는 특히 폰 기반 VR 개발에 중요했습니다.)<br>For temperature concerns on current headsets, Power Level can be used as an indicator of when temperature is affecting the headsets’s performance.<br>(현재 헤드셋의 온도 문제에 대해서는, 전력 레벨을 온도가 헤드셋의 성능에 영향을 미치는 시점의 지표로 사용할 수 있습니다.)</td></tr><tr><td>Power Level (<code>POW L</code>)<br>전력 레벨 (POW L)</td><td>Indicates the current power level of the headset. <br>(헤드셋의 현재 전력 레벨을 나타냅니다.)<br>The reported levels are 0 (NORMAL), 1 (SAVE), and 2 (DANGER). <br>(보고되는 레벨은 0 (정상), 1 (절약), 2 (위험)입니다.)<br>As the headset heats up, the power level will automatically change from NORMAL, to SAVE, and eventually to DANGER. Once DANGER is reached, an overheat dialog is displayed.<br>(헤드셋이 가열됨에 따라 전력 레벨은 자동으로 정상에서 절약으로, 그리고 결국 위험으로 변경됩니다.<br>위험에 도달하면 과열 대화 상자가 표시됩니다.)<br>Applications should monitor the power level and change their behavior to reduce rendering costs when it enters power save mode. For more information on this topic, see<a href="https://developers.meta.com/horizon/documentation/native/android/mobile-power-overview/" target="_blank" rel="noreferrer noopener"> Power Management</a>.<br>(애플리케이션은 전력 레벨을 모니터링하고 절전 모드에 들어갈 때 렌더링 비용을 줄이도록 동작을 변경해야 합니다. 이 주제에 대한 자세한 내용은 <a href="https://developers.meta.com/horizon/documentation/native/android/mobile-power-overview/" target="_blank" rel="noreferrer noopener">Power Management</a>을 참조하세요.)</td></tr><tr><td>CPU Frequency (<code>CPU F</code>)<br>GPU Frequency (<code>GPU F</code>)<br>Mem Frequency (<code>MEM F</code>)<br><br>CPU 주파수 (CPU F) <br>GPU 주파수 (GPU F) <br>메모리 주파수 (MEM F)</td><td>These metrics display the clock speeds of the CPU, GPU, and memory. <br>(이 메트릭들은 CPU, GPU, 메모리의 클럭 속도를 표시합니다.)<br>The CPU and GPU speeds change whenever their CPU Level and GPU Level change, which makes them more useful to monitor since they can be directly adjusted and changed. <br>(CPU와 GPU 속도는 CPU 레벨과 GPU 레벨이 변경될 때마다 바뀌므로, 직접 조정하고 변경할 수 있기 때문에 모니터링하는 것이 더 유용합니다.)<br>The clock speeds tied to those levels vary with different SoC’s, and the frequencies cannot be changed.<br>(이 레벨에 연결된 클럭 속도는 다른 SoC에 따라 다르며, 주파수는 변경할 수 없습니다.)</td></tr><tr><td>Battery Temperature (<code>B TEM</code>)<br>배터리 온도 (B TEM)</td><td>Shows the battery temperature in Celsius. <br>(배터리 온도를 섭씨로 보여줍니다.)<br>This was specifically important for phone-based VR development.<br>(이는 특히 폰 기반 VR 개발에 중요했습니다.)<br>For temperature concerns on current headsets, Power Level can be used as an indicator of when temperature is affecting the headset&#8217;s performance.<br>(현재 헤드셋의 온도 문제에 대해서는, 전력 레벨을 온도가 헤드셋의 성능에 영향을 미치는 시점의 지표로 사용할 수 있습니다.)</td></tr><tr><td>Battery Current Now (<code>BAT C</code>)<br>현재 배터리 전류 (BAT C)</td><td>Shows the current coming from the battery in milliamps.<br>(배터리에서 나오는 전류를 밀리암페어 단위로 보여줍니다.)<br>Developers should optimize against the CPU and GPU levels rather than attempt to use this metric to determine battery drain.<br>(개발자는 이 메트릭을 사용하여 배터리 소모를 결정하려고 하기보다는 CPU와 GPU 레벨에 대해 최적화해야 합니다.)</td></tr><tr><td>Power Voltage (<code>POW V</code>)<br>전원 전압 (POW V)</td><td>Indicates the power voltage in milliamps.<br>(전원 전압을 밀리볼트 단위로 나타냅니다.)</td></tr><tr><td>Power Current (<code>POW C</code>)<br>전원 전류 (POW C)</td><td>Shows the power current of the headset in milliamps. <br>(헤드셋의 전원 전류를 밀리암페어 단위로 보여줍니다.)<br>Developers should optimize against the CPU and GPU levels rather than attempt to use this metric to determine power drain.<br>(개발자는 이 메트릭을 사용하여 전력 소모를 결정하려고 하기보다는 CPU와 GPU 레벨에 대해 최적화해야 합니다.)</td></tr><tr><td>Left Controller Temperature (<code>LC TM</code>)<br>Right Controller Temperature (<code>RC TM</code>)<br><br>왼쪽 컨트롤러 온도 (LC TM) <br>오른쪽 컨트롤러 온도 (RC TM)</td><td>These metrics display the temperatures of the left and right controllers.<br>(이 메트릭들은 왼쪽과 오른쪽 컨트롤러의 온도를 표시합니다.)</td></tr><tr><td>Maximum Rotational Speed (<code>M ROT</code>)<br>최대 회전 속도 (M ROT)</td><td>Specifies the fastest speed the headset has rotated.<br>헤드셋이 회전한 가장 빠른 속도를 지정합니다.</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">See Also</h3>



<ul class="wp-block-list">
<li><a href="https://developers.meta.com/horizon/documentation/unity/ts-ovrmetricstool/" target="_blank" rel="noreferrer noopener">OVR Metrics Tool</a></li>



<li><a href="https://developers.meta.com/horizon/resources/developer-tools/" target="_blank" rel="noreferrer noopener">Developer Tools for Meta Quest</a></li>
</ul>



<p></p>
<p>The post <a href="https://lycos7560.com/unity/ovr-metrics-tool-v1-5-stats-definition-guide-%eb%b2%88%ec%97%ad/38331/">OVR Metrics Tool (v1.5) Stats Definition Guide 번역</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/ovr-metrics-tool-v1-5-stats-definition-guide-%eb%b2%88%ec%97%ad/38331/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Oculus Unity-Integration &#8211; Snap Interactions</title>
		<link>https://lycos7560.com/unity/unity-vr/oculus-unity-integration-snap-interactions/35453/</link>
					<comments>https://lycos7560.com/unity/unity-vr/oculus-unity-integration-snap-interactions/35453/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 08:41:53 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[Interactions]]></category>
		<category><![CDATA[MovementProvider]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Oculus Unity-Integration]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[Snap]]></category>
		<category><![CDATA[Snap Interactions]]></category>
		<category><![CDATA[SnapInteractable]]></category>
		<category><![CDATA[SnapInteractor]]></category>
		<category><![CDATA[SnapPosesProvider]]></category>
		<category><![CDATA[Trigger collider]]></category>
		<category><![CDATA[Unity-Integration]]></category>
		<category><![CDATA[오큘러스]]></category>
		<category><![CDATA[유니티]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=35453</guid>

					<description><![CDATA[<p>Oculus Unity-Integration SDK를 정리한 내용입니다. (This is a summary of the Oculus Unity-Integration SDK.)</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-unity-integration-snap-interactions/35453/">Oculus Unity-Integration &#8211; Snap Interactions</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>
<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>



<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-4963675b      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							Oculus Unity-Integration						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#snap-interactions" class="uagb-toc-link__trigger">Snap Interactions</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#snapinteractor" class="uagb-toc-link__trigger">SnapInteractor</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#snapinteractable" class="uagb-toc-link__trigger">SnapInteractable</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#trigger-collider" class="uagb-toc-link__trigger">Trigger collider</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#movementprovider" class="uagb-toc-link__trigger">MovementProvider</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#snapposesprovider" class="uagb-toc-link__trigger">SnapPosesProvider</a></ul></ul></ol>					</div>
									</div>
				</div>
			


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



<h1 class="wp-block-heading">Snap Interactions</h1>



<p class="has-small-font-size"><a href="https://developer.oculus.com/documentation/unity/unity-isdk-snap-interaction/" target="_blank" rel="noreferrer noopener">https://developer.oculus.com/documentation/unity/unity-isdk-snap-interaction/</a></p>



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



<p>Snap interactions allow items to automatically snap to poses in the environment. <br>스냅 상호 작용을 사용하면 항목이 환경의 포즈에 자동으로 스냅될 수 있습니다.</p>



<p>The&nbsp;<strong>DistanceGrabExample</strong>&nbsp;scene uses them to simply have the items snap back to their original position when not in use,<br>but it is possible to create custom behaviors so the objects snap to inventories, cells in a board game, slots around the user body, etc.<br><strong>DistanceGrabExample</strong>&nbsp;씬은 사용하지 않을 때 단순히 아이템을 원래 위치로 되돌리기 위해 이를 사용하지만, <br>오브젝트가 인벤토리, 보드 게임의 셀, 사용자 몸 주위의 슬롯 등에 스냅되도록 커스텀 동작을 만들 수 있습니다.</p>



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



<figure class="wp-block-video"><video height="1016" style="aspect-ratio: 1864 / 1016;" width="1864" controls muted src="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_16_42_19_590.mp4"></video></figure>



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



<h2 class="wp-block-heading">SnapInteractor</h2>



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



<p>The SnapInteractor is the Interactor class for this interaction. <br>SnapInteractor는 이 상호 작용에 대한 Interactor 클래스입니다.</p>



<p>This component is placed in the item that we want to be able to snap, e.g. a chess piece, <br>and will take care of detecting nearby SnapInteractables and move the item towards the best available pose provided by them.<br>이 컴포넌트는 스냅할 수 있는 아이템(예: 체스 말)에 배치되며,<br>근처의 SnapInteractables를 감지하고 아이템이 제공하는 최상의 포즈로 아이템을 이동합니다.</p>



<p>When the Optional&nbsp;<strong>TimeOutInteractable</strong>&nbsp;and&nbsp;<strong>TimeOut</strong>&nbsp;are provided, <br>the Interactor will automatically move to said interactable after TimeOut seconds <br>if the Grabbable is not being Selected or Hovered by any other interactor.</p>



<p>선택적&nbsp;<strong>TimeOutInteractable</strong>&nbsp;및 TimeOut이 제공되면 다른 인터랙터가 <br>Grabbable을 선택하거나 가리키지 않는 경우 인터랙터는&nbsp;<strong>TimeOut</strong>(초) 후에 자동으로 해당 인터랙터로 이동합니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/2023/06/image-30.jpg" alt="" class="wp-image-35462" width="1714" height="1053" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-30.jpg 1714w, https://lycos7560.com/wp-content/uploads/2023/06/image-30-300x184.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-30-768x472.jpg 768w, https://lycos7560.com/wp-content/uploads/2023/06/image-30-1536x944.jpg 1536w" sizes="(max-width: 1714px) 100vw, 1714px" /></figure>



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



<figure class="wp-block-video"><video height="1016" style="aspect-ratio: 1864 / 1016;" width="1864" controls muted src="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_16_56_43_18.mp4"></video></figure>



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



<h2 class="wp-block-heading">SnapInteractable</h2>



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



<p>The SnapInteractable component is the Interactable class for this interaction.<br>SnapInteractable 구성 요소는 이 상호 작용에 대한 Interactable 클래스입니다.</p>



<p>When used as-is it provides a single pose in space to which the interactors can snap too, but optionally it can be enhanced in several ways.<br>있는 그대로 사용하면 상호 작용자가 스냅할 수 있는 공간에서 단일 포즈를 제공하지만 선택적으로 여러 가지 방법으로 향상시킬 수 있습니다.</p>



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



<h3 class="wp-block-heading"><strong>Trigger collider</strong></h3>



<p>when a&nbsp;<strong>Trigger</strong>&nbsp;volume is present in the same gameobject, <br>Interactors entering the volume will be tracked and automatically snap to the interactable pos as soon as their state becomes equal to Normal.<br><strong>트리거</strong>&nbsp;볼륨이 동일한 게임 오브젝트에 있는 경우 볼륨에 진입하는 인터랙터가 추적되고 <br>상태가 Normal이 되는 즉시 상호 작용 가능한 위치에 자동으로 스냅됩니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/2023/06/image-30.png" alt="" class="wp-image-35468" width="938" height="390" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-30.png 938w, https://lycos7560.com/wp-content/uploads/2023/06/image-30-300x125.png 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-30-768x319.png 768w" sizes="(max-width: 938px) 100vw, 938px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/2023/06/image-31.jpg" alt="" class="wp-image-35469" width="1145" height="930" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-31.jpg 1145w, https://lycos7560.com/wp-content/uploads/2023/06/image-31-300x244.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-31-768x624.jpg 768w" sizes="(max-width: 1145px) 100vw, 1145px" /></figure>



<figure class="wp-block-video"><video height="1016" style="aspect-ratio: 1896 / 1016;" width="1896" controls muted src="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_15_38_779.mp4"></video></figure>



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



<h3 class="wp-block-heading"><strong>MovementProvider</strong></h3>



<p>by referencing a&nbsp;<strong>MovementProvider</strong>&nbsp;the method for snapping can be fully customized. <br><strong>MovementProvider</strong>를 참조하여 스냅 메서드를&nbsp;완전히 사용자 지정할 수 있습니다.</p>



<p>By default the interactor will follow the slot at a fixed speed, but following the different MovementProvider it could trace a curve, add easing, etc.<br>기본적으로 인터랙터는 고정된 속도로 슬롯을 따라가지만 다른 MovementProvider를 따라 커브를 추적하고 부드럽게를 추가하는 등의 작업을 수행할 수 있습니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/2023/06/image-31.png" alt="" class="wp-image-35473" width="1205" height="687" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-31.png 1205w, https://lycos7560.com/wp-content/uploads/2023/06/image-31-300x171.png 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-31-768x438.png 768w" sizes="(max-width: 1205px) 100vw, 1205px" /></figure>



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



<figure class="wp-block-video"><video height="1016" style="aspect-ratio: 2552 / 1016;" width="2552" controls muted src="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_25_26_898.mp4"></video></figure>



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



<h3 class="wp-block-heading"><strong>SnapPosesProvider</strong></h3>



<p>the&nbsp;<strong>ISnapPoseProvider</strong>&nbsp;interface allows creating multiple poses within a SnapInteractable. <br><strong>ISnapPoseProvider</strong>&nbsp;인터페이스를 사용하면 SnapInteractable 내에서 여러 포즈를 만들 수 있습니다.&nbsp;</p>



<p>Implementing and providing this interface is useful for using a single SnapInteractable for all the cells within a board in a board game, <br>or to define all the different slots in an inventory system, allowing to even move snapped items when hovering new interactors to make room.<br>이 인터페이스를 구현하고 제공하면 보드 게임의 보드 내의 모든 셀에 대해 단일 SnapInteractable을 사용하거나 인벤토리 시스템에서 모든 다른 슬롯을 정의하는 데 유용하며, <br>공간을 만들기 위해 새 상호 작용기를 마우스로 가리킬 때 스냅된 항목을 이동할 수도 있습니다.</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1670" height="803" src="https://lycos7560.com/wp-content/uploads/2023/06/image-32-1.jpg" alt="" class="wp-image-35480" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-32-1.jpg 1670w, https://lycos7560.com/wp-content/uploads/2023/06/image-32-1-300x144.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-32-1-768x369.jpg 768w, https://lycos7560.com/wp-content/uploads/2023/06/image-32-1-1536x739.jpg 1536w" sizes="(max-width: 1670px) 100vw, 1670px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="878" height="711" src="https://lycos7560.com/wp-content/uploads/2023/06/image-32.png" alt="" class="wp-image-35481" srcset="https://lycos7560.com/wp-content/uploads/2023/06/image-32.png 878w, https://lycos7560.com/wp-content/uploads/2023/06/image-32-300x243.png 300w, https://lycos7560.com/wp-content/uploads/2023/06/image-32-768x622.png 768w" sizes="(max-width: 878px) 100vw, 878px" /></figure>



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



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">using UnityEngine;

namespace Oculus.Interaction
{
    /// &lt;summary>
    /// SnapPoseDelegate는 맞춤형 SnapPose 로직을 제공하는 데 사용할 수 있습니다
    /// 추적되거나 스냅되는 요소 집합이 주어집니다.
    /// &lt;/summary>
    public interface ISnapPoseDelegate
    {
        /// &lt;summary>
        /// 새 요소가 추적 중임을 나타냅니다.
        /// &lt;/summary>
        /// &lt;param name="id">추적할 요소 ID입니다.&lt;/param>
        /// &lt;param name="params">요소의 포즈입니다.&lt;/param>
        void TrackElement(int id, Pose p);
        /// &lt;summary>
        /// 요소가 더 이상 추적되지 않음을 나타냅니다.
        /// &lt;/summary>
        /// &lt;param name="id">추적을 중지할 요소 ID입니다.&lt;/param>
        void UntrackElement(int id);
        /// &lt;summary>
        /// 추적된 요소가 스냅되어야 함을 나타냅니다.
        /// &lt;/summary>
        /// &lt;param name="id">스냅할 요소 ID입니다.&lt;/param>
        /// &lt;param name="params">요소의 포즈입니다.&lt;/param>
        void SnapElement(int id, Pose pose);
        /// &lt;summary>
        /// 요소가 더 이상 스냅되지 않아야 함을 나타냅니다.
        /// &lt;/summary>
        /// &lt;param name="id">스냅을 중지할 요소 ID입니다.&lt;/param>
        void UnsnapElement(int id);
        /// &lt;summary>
        /// 추적된 요소 포즈가 업데이트되었음을 나타냅니다.
        /// &lt;/summary>
        /// &lt;param name="id">요소 ID.&lt;/param>
        /// &lt;param name="params">새로운 요소 포즈.&lt;/param>
        void MoveTrackedElement(int id, Pose p);
        /// &lt;summary>
        /// 쿼리된 요소 ID에 대한 대상 스냅 포즈입니다.
        /// &lt;/summary>
        /// &lt;param name="id">요소 ID.&lt;/param>
        /// &lt;param name="params">타깃 포즈.&lt;/param>
        /// &lt;returns>요소에 스냅할 포즈가 있으면 참입니다.&lt;/returns>
        bool SnapPoseForElement(int id, Pose pose, out Pose result);
    }
}</pre>



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



<figure class="wp-block-video"><video height="1016" style="aspect-ratio: 1936 / 1016;" width="1936" controls muted src="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_35_02_372.mp4"></video></figure>



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



<div style="height:100px" 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>
<!-- 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>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-unity-integration-snap-interactions/35453/">Oculus Unity-Integration &#8211; Snap Interactions</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-vr/oculus-unity-integration-snap-interactions/35453/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_16_42_19_590.mp4" length="9771598" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_16_56_43_18.mp4" length="16439396" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_15_38_779.mp4" length="13835677" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_25_26_898.mp4" length="9707333" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/06/녹화_2023_06_14_17_35_02_372.mp4" length="16034540" type="video/mp4" />

			</item>
		<item>
		<title>Oculus Hand Pose Detection 연습</title>
		<link>https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%97%b0%ec%8a%b5/35047/</link>
					<comments>https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%97%b0%ec%8a%b5/35047/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 23 May 2023 15:51:44 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=35047</guid>

					<description><![CDATA[<p>보이지는 않지만 핸드 트레킹은 작동중 Hand Visual 추가 Materials 변경 목표는 멈춰 손모양 간단한 테스트 스크립트 무언가 문제가 있다. Active state Group의 로직을 OR로 변경해도 작동하지 않는다. =&#62; 중간에 스크립트를 수정하여 Missing 다음 연습 손모양 퀘스트 1이라서 그런지 생각보다 인식률은 낮은편</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-hand-pose-detection-%ec%97%b0%ec%8a%b5/35047/">Oculus 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>



<figure class="wp-block-image size-full"><img decoding="async" width="1487" height="1430" src="https://lycos7560.com/wp-content/uploads/2023/05/image-138.png" alt="" class="wp-image-35049" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-138.png 1487w, https://lycos7560.com/wp-content/uploads/2023/05/image-138-300x289.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-138-768x739.png 768w" sizes="(max-width: 1487px) 100vw, 1487px" /></figure>



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



<p class="has-medium-font-size">보이지는 않지만 핸드 트레킹은 작동중 </p>



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



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



<p>Hand Visual 추가</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="olZ5Ob3AUK"><a href="https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/">Oculus Hand Visual</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Oculus Hand Visual&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/embed/#?secret=7uJkme686Z#?secret=olZ5Ob3AUK" data-secret="olZ5Ob3AUK" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1025" height="1386" src="https://lycos7560.com/wp-content/uploads/2023/05/image-140-1.jpg" alt="" class="wp-image-35062" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-140-1.jpg 1025w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-1-222x300.jpg 222w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-1-768x1038.jpg 768w" sizes="(max-width: 1025px) 100vw, 1025px" /></figure>



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



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



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



<p>Materials 변경</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1727" height="1114" src="https://lycos7560.com/wp-content/uploads/2023/05/image-140-2.jpg" alt="" class="wp-image-35073" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-140-2.jpg 1727w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-2-300x194.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-2-768x495.jpg 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-2-1536x991.jpg 1536w" sizes="(max-width: 1727px) 100vw, 1727px" /></figure>



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



<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="pTcZu9qCJ4"><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 Hand Pose Detection (손 포즈 감지)</a></blockquote><iframe loading="lazy" 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%86%90-%ed%8f%ac%ec%a6%88-%ea%b0%90%ec%a7%80/34843/embed/#?secret=jRBNKVCNSS#?secret=pTcZu9qCJ4" data-secret="pTcZu9qCJ4" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1466" height="1694" src="https://lycos7560.com/wp-content/uploads/2023/05/image-140.png" alt="" class="wp-image-35076" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-140.png 1466w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-260x300.png 260w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-768x887.png 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-1329x1536.png 1329w" sizes="(max-width: 1466px) 100vw, 1466px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="1461" height="1308" src="https://lycos7560.com/wp-content/uploads/2023/05/image-141.png" alt="" class="wp-image-35077" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-141.png 1461w, https://lycos7560.com/wp-content/uploads/2023/05/image-141-300x269.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-141-768x688.png 768w" sizes="(max-width: 1461px) 100vw, 1461px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="1480" height="2564" src="https://lycos7560.com/wp-content/uploads/2023/05/image-142.png" alt="" class="wp-image-35078" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-142.png 1480w, https://lycos7560.com/wp-content/uploads/2023/05/image-142-173x300.png 173w, https://lycos7560.com/wp-content/uploads/2023/05/image-142-768x1331.png 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-142-887x1536.png 887w, https://lycos7560.com/wp-content/uploads/2023/05/image-142-1182x2048.png 1182w" sizes="(max-width: 1480px) 100vw, 1480px" /></figure>



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



<p class="has-medium-font-size">목표는 멈춰 손모양</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/2023/05/image-143.png" alt="" class="wp-image-35079" width="341" height="270" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-143.png 682w, https://lycos7560.com/wp-content/uploads/2023/05/image-143-300x238.png 300w" sizes="(max-width: 341px) 100vw, 341px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1510" height="2050" src="https://lycos7560.com/wp-content/uploads/2023/05/image-144.png" alt="" class="wp-image-35081" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-144.png 1510w, https://lycos7560.com/wp-content/uploads/2023/05/image-144-221x300.png 221w, https://lycos7560.com/wp-content/uploads/2023/05/image-144-768x1043.png 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-144-1131x1536.png 1131w, https://lycos7560.com/wp-content/uploads/2023/05/image-144-1509x2048.png 1509w" sizes="(max-width: 1510px) 100vw, 1510px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="889" height="1920" src="https://lycos7560.com/wp-content/uploads/2023/05/image-146.png" alt="" class="wp-image-35085" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-146.png 889w, https://lycos7560.com/wp-content/uploads/2023/05/image-146-139x300.png 139w, https://lycos7560.com/wp-content/uploads/2023/05/image-146-768x1659.png 768w, https://lycos7560.com/wp-content/uploads/2023/05/image-146-711x1536.png 711w" sizes="(max-width: 889px) 100vw, 889px" /></figure>



<p class="has-medium-font-size">간단한 테스트 스크립트</p>



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">using UnityEngine;

public class TestEventWrapper : MonoBehaviour
{

    public void TestDebugStart()
    {

        Debug.Log("멈춰!");
     
    }
}
</pre>



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



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



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



<p class="has-medium-font-size">무언가 문제가 있다. </p>



<p class="has-medium-font-size">Active state Group의 로직을 OR로 변경해도 작동하지 않는다. =&gt; 중간에 스크립트를 수정하여 Missing </p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="887" height="672" src="https://lycos7560.com/wp-content/uploads/2023/05/image-147.png" alt="" class="wp-image-35087" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-147.png 887w, https://lycos7560.com/wp-content/uploads/2023/05/image-147-300x227.png 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-147-768x582.png 768w" sizes="(max-width: 887px) 100vw, 887px" /></figure>



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



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



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



<p class="has-medium-font-size">다음 연습 손모양</p>



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



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



<figure class="wp-block-image size-full"><img decoding="async" width="1045" height="1531" src="https://lycos7560.com/wp-content/uploads/2023/05/image-151.jpg" alt="" class="wp-image-35109" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-151.jpg 1045w, https://lycos7560.com/wp-content/uploads/2023/05/image-151-205x300.jpg 205w, https://lycos7560.com/wp-content/uploads/2023/05/image-151-768x1125.jpg 768w" sizes="(max-width: 1045px) 100vw, 1045px" /></figure>



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



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



<p class="has-medium-font-size">퀘스트 1이라서 그런지 생각보다 인식률은 낮은편</p>



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



<p></p>



<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%97%b0%ec%8a%b5/35047/">Oculus 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%97%b0%ec%8a%b5/35047/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_23_21_24_21_628.mp4" length="916082" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_23_21_49_31_113.mp4" length="1954040" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_24_00_19_17_837.mp4" length="1154499" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_24_00_42_37_743.mp4" length="11142470" type="video/mp4" />
<enclosure url="https://lycos7560.com/wp-content/uploads/2023/05/녹화_2023_05_24_11_57_41_214.mp4" length="8544952" type="video/mp4" />

			</item>
		<item>
		<title>Oculus Hand Visual</title>
		<link>https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/</link>
					<comments>https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 23 May 2023 12:40:24 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=35052</guid>

					<description><![CDATA[<p>Hand Visual Hand Visual &#124; Oculus Developers Hands are typically rendered using&#160;OVRSkeleton&#160;or&#160;OVRCustomSkeleton. 손은 일반적으로&#160;OVRSkeleton&#160;또는&#160;OVRCustomSkeleton을 사용하여 렌더링됩니다. However, since those components visualize hand data from&#160;OVRHand&#160;directly, they won’t match hand data that has been modified.그러나 이러한 구성 요소는&#160;OVRHand의 손 데이터를 직접 시각화하므로 수정된 손 데이터와 일치하지 않습니다. To solve this issue, Interaction SDK uses the&#160;HandVisual&#160;component to render [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/">Oculus Hand Visual</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>



<h1 class="wp-block-heading">Hand Visual</h1>



<p class="has-medium-font-size"><a href="https://developer.oculus.com/documentation/unity/unity-isdk-hand-visual/" target="_blank" rel="noreferrer noopener">Hand Visual | Oculus Developers</a></p>



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



<p class="has-medium-font-size">Hands are typically rendered using&nbsp;<strong>OVRSkeleton</strong>&nbsp;or&nbsp;<strong>OVRCustomSkeleton</strong>. <br>손은 일반적으로&nbsp;<strong>OVRSkeleton</strong>&nbsp;또는&nbsp;<strong>OVRCustomSkeleton</strong>을 사용하여 렌더링됩니다.</p>



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



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



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



<p class="has-medium-font-size">However, since those components visualize hand data from&nbsp;<strong>OVRHand</strong>&nbsp;directly, they won’t match hand data that has been modified.<br>그러나 이러한 구성 요소는&nbsp;<strong>OVRHand</strong>의 손 데이터를 직접 시각화하므로 수정된 손 데이터와 일치하지 않습니다.</p>



<p class="has-medium-font-size">To solve this issue, Interaction SDK uses the&nbsp;<strong>HandVisual</strong>&nbsp;component to render hand data. <br>이 문제를 해결하기 위해 Interaction SDK는&nbsp;<strong>HandVisual</strong>&nbsp;구성 요소를 사용하여 손 데이터를 렌더링합니다.</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="969" height="961" src="https://lycos7560.com/wp-content/uploads/2023/05/image-140.jpg" alt="" class="wp-image-35059" srcset="https://lycos7560.com/wp-content/uploads/2023/05/image-140.jpg 969w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-300x298.jpg 300w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-150x150.jpg 150w, https://lycos7560.com/wp-content/uploads/2023/05/image-140-768x762.jpg 768w" sizes="(max-width: 969px) 100vw, 969px" /></figure>



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



<p class="has-medium-font-size">The&nbsp;<strong>HandVisual</strong>&nbsp;component takes an&nbsp;<strong>IHand</strong>&nbsp;as its data source. <br><strong>HandVisual</strong>&nbsp;구성 요소는&nbsp;<strong>IHand</strong>를 데이터 소스로 사용합니다.</p>



<p class="has-medium-font-size">This means that you can include several&nbsp;<strong>HandVisual</strong>&nbsp;components in your scene and attach them to various stages of the hand data modifier chain. <br>즉, 장면에 여러&nbsp;<strong>HandVisual</strong>&nbsp;구성 요소를 포함하고 손 데이터 수정자 체인의 다양한 단계에 연결할 수 있습니다.&nbsp;</p>



<p class="has-medium-font-size">For instance, you can visualize both raw hand tracking data and synthetic hand data at once by creating two&nbsp;<strong>HandVisual</strong>&nbsp;components and setting them to the associated&nbsp;<strong>Hand Modifiers</strong>.<br>예를 들어, 두 개의&nbsp;<strong>HandVisual</strong>&nbsp;구성 요소를 만들고 연결된 손&nbsp;<strong>수정자로</strong>&nbsp;설정하여 원시 손 추적 데이터와 합성 손 데이터를 한 번에 시각화할 수 있습니다.</p>



<div style="height:100px" 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-visual/35052/">Oculus Hand Visual</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-vr/oculus-hand-visual/35052/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<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">이론이 필요없고 적용하는 과정이 궁금하다면 아래글로</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 loading="lazy" 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><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">Hand Pose Detection uses multiple components and configurators to detect hand poses. <br>손 포즈 감지는 여러 컴포넌트와 구성 요소를 사용하여 손의 동작을 감지하는 기술입니다.</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="has-medium-font-size"><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"><strong>Warning</strong></p>



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



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



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



<p class="has-medium-font-size"><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"><strong>Note</strong></p>



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



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



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



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



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



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



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



<p class="has-medium-font-size">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">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">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"><strong>Note</strong></p>



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



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



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



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



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



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



<p class="has-medium-font-size">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">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>
		<item>
		<title>Unity / Input System and Hand Animation</title>
		<link>https://lycos7560.com/unity/unity-vr/unity-input-system-and-hand-animation/6045/</link>
					<comments>https://lycos7560.com/unity/unity-vr/unity-input-system-and-hand-animation/6045/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 06 Feb 2023 16:21:31 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[Actions]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Hand]]></category>
		<category><![CDATA[Input System]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[Unity VR]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[XR]]></category>
		<category><![CDATA[XR Grab Interactable]]></category>
		<category><![CDATA[XR interaction toolkit]]></category>
		<category><![CDATA[XR InteractionLayerMask Update Required]]></category>
		<category><![CDATA[XR plugin]]></category>
		<category><![CDATA[XR Plugin Management]]></category>
		<category><![CDATA[XR Ray Interactor]]></category>
		<category><![CDATA[가상현실]]></category>
		<category><![CDATA[경고]]></category>
		<category><![CDATA[유니티]]></category>
		<category><![CDATA[테스트]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=6045</guid>

					<description><![CDATA[<p>XR Interaction Toolkit을 이용하여 들어오는 입력 값에 따라 손 애니메이션이 움직이는 것을 구현하였습니다.  (Using the XR Interaction Toolkit, the hand animation moves according to the incoming input value.)</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/unity-input-system-and-hand-animation/6045/">Unity / Input System and Hand Animation</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:62px" aria-hidden="true" class="wp-block-spacer"></div>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Unity Version : 2021.3.5f1
XR Interaction Toolkit : 2.2.0
XR Plugin Management : 4.3.1

Meta Quest 1</pre>



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



<figure class="wp-block-video"><video height="1072" style="aspect-ratio: 1904 / 1072;" width="1904" controls muted poster="https://lycos7560.com/wp-content/uploads/2023/02/제목-없음.jpg" src="https://lycos7560.com/wp-content/uploads/2023/02/녹화_2023_02_07_00_31_28_546.mp4"></video></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1126" height="563" src="https://lycos7560.com/wp-content/uploads/2023/02/image-37.png" alt="" class="wp-image-6051" srcset="https://lycos7560.com/wp-content/uploads/2023/02/image-37.png 1126w, https://lycos7560.com/wp-content/uploads/2023/02/image-37-300x150.png 300w, https://lycos7560.com/wp-content/uploads/2023/02/image-37-768x384.png 768w" sizes="(max-width: 1126px) 100vw, 1126px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1632" height="832" src="https://lycos7560.com/wp-content/uploads/2023/02/image-38.png" alt="" class="wp-image-6054" srcset="https://lycos7560.com/wp-content/uploads/2023/02/image-38.png 1632w, https://lycos7560.com/wp-content/uploads/2023/02/image-38-300x153.png 300w, https://lycos7560.com/wp-content/uploads/2023/02/image-38-768x392.png 768w, https://lycos7560.com/wp-content/uploads/2023/02/image-38-1536x783.png 1536w" sizes="(max-width: 1632px) 100vw, 1632px" /></figure>



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



<h3 class="wp-block-heading">Hand.cs</h3>



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



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;

public class Hand : MonoBehaviour
{
    public InputDeviceCharacteristics targetDeiveCharacteristics;

    public InputDevice targetDevice;

    [SerializeField]
    private Animator handAnimator;


    private void Start()
    {
        InitializeHand();
    }

    private void InitializeHand()
    {
        List&lt;InputDevice> devices = new ();

        InputDevices.GetDevicesWithCharacteristics(targetDeiveCharacteristics, devices);

        if (devices.Count > 0) {
            targetDevice = devices[0];
            handAnimator = this.gameObject.GetComponent&lt;Animator>();
        }
    }



    private void Update()
    {
        if (!targetDevice.isValid) InitializeHand();
        else UpdateHand();
    }

    private void UpdateHand()
    {
        if (targetDevice.TryGetFeatureValue(CommonUsages.trigger, out float triggerValue)) {
            handAnimator.SetFloat("Trigger", triggerValue);
        }
        else {
            handAnimator.SetFloat("Trigger", 0);
        }

        
        if (targetDevice.TryGetFeatureValue(CommonUsages.grip, out float gripValue))
        {
            handAnimator.SetFloat("Grip", gripValue);
        }
        else
        {
            handAnimator.SetFloat("Grip", 0);
        }
    }
}
</pre>



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



<p class="has-medium-font-size"><a href="https://www.youtube.com/watch?v=qQqNQ4y-cU8" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=qQqNQ4y-cU8</a> &lt;- 참고 자료 </p>



<div style="height:50px" 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/unity-input-system-and-hand-animation/6045/">Unity / Input System and Hand Animation</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-vr/unity-input-system-and-hand-animation/6045/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://lycos7560.com/wp-content/uploads/2023/02/녹화_2023_02_07_00_31_28_546.mp4" length="13251806" type="video/mp4" />

			</item>
		<item>
		<title>XR Grab Interactable 속성 정리 (XR Interaction Toolkit)</title>
		<link>https://lycos7560.com/unity/xr-grab-interactable-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4877/</link>
					<comments>https://lycos7560.com/unity/xr-grab-interactable-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4877/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Wed, 18 Jan 2023 05:07:15 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[Action-based]]></category>
		<category><![CDATA[Device-based]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Grab]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[Interactor]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Properties]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[Ray]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[Unity VR]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[XR]]></category>
		<category><![CDATA[XR Grab Interactable]]></category>
		<category><![CDATA[XR interaction toolkit]]></category>
		<category><![CDATA[XR InteractionLayerMask Update Required]]></category>
		<category><![CDATA[XR plugin]]></category>
		<category><![CDATA[XR Plugin Management]]></category>
		<category><![CDATA[XR Ray Interactor]]></category>
		<category><![CDATA[가상현실]]></category>
		<category><![CDATA[경고]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[속성]]></category>
		<category><![CDATA[유니티]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=4877</guid>

					<description><![CDATA[<p>XR Interaction Toolkit의 XR Grab Interactable 속성을 정리한 글입니다.</p>
<p>The post <a href="https://lycos7560.com/unity/xr-grab-interactable-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4877/">XR Grab Interactable 속성 정리 (XR Interaction Toolkit)</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>



<h2 class="wp-block-heading">Unity Version</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Unity Version : 2021.3.5f1
</pre>



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



<figure class="wp-block-image size-full"><img decoding="async" width="737" height="236" src="https://lycos7560.com/wp-content/uploads/image-983.png" alt="" class="wp-image-4720" srcset="https://lycos7560.com/wp-content/uploads/image-983.png 737w, https://lycos7560.com/wp-content/uploads/image-983-300x96.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="739" height="152" src="https://lycos7560.com/wp-content/uploads/image-984.png" alt="" class="wp-image-4721" srcset="https://lycos7560.com/wp-content/uploads/image-984.png 739w, https://lycos7560.com/wp-content/uploads/image-984-300x62.png 300w" sizes="(max-width: 739px) 100vw, 739px" /></figure>



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



<h2 class="wp-block-heading">XR Grab Interactable</h2>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/manual/xr-grab-interactable.html" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/manual/xr-grab-interactable.html</a></p>



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



<p class="has-medium-font-size">Interactable component that allows for basic grab functionality. </p>



<p>기본적인 그랩 기능을 가능하게 해주는 &#8216;상호 작용 가능한 컴포넌트&#8217;.</p>



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



<p class="has-medium-font-size">When this behavior is selected (grabbed) by an Interactor, this behavior will follow it around and inherit velocity when released.</p>



<p>Interactor가 이 동작을 선택(잡으면)하면 이 동작은 주변을 따라다니며 놓을 때 속도를 상속합니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-992.png" alt="" class="wp-image-4878" width="957" height="1046" srcset="https://lycos7560.com/wp-content/uploads/image-992.png 655w, https://lycos7560.com/wp-content/uploads/image-992-274x300.png 274w" sizes="(max-width: 957px) 100vw, 957px" /></figure>



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



<h2 class="wp-block-heading">XR Grab Interactable <strong>Property</strong></h2>



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



<figure class="wp-block-table has-medium-font-size"><table><thead><tr><th><strong>Property</strong></th><th><strong>Description</strong></th></tr></thead><tbody><tr><td><strong>Interaction Manager</strong></td><td>The <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-interaction-manager.html" target="_blank" rel="noreferrer noopener">XR InteractionManager</a> that this Interactor will communicate with (will find one if <strong>None</strong>).<br><br>이 Interactor가 통신 할 XR InteractionManager (None 인 경우 XR InteractionManager)를 찾습니다.</td></tr><tr><td><strong>Interaction Layer Mask</strong></td><td>Allows interaction with Interactables whose <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a> overlaps with any Layer in this Interaction Layer Mask.<br><br><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a>가 이 <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a> 마스크의 모든 Layer와 겹치는 상호작용 객체와의 상호작용을 허용합니다.</td></tr><tr><td><strong>Colliders</strong></td><td>Colliders to use for interaction with this Interactable (if empty, will use any child Colliders).<br><br>&#8216;Colliders&#8217;는 이 &#8216;Interactable&#8217;과의 상호 작용을 위해 사용됩니다 (비어 있으면 모든 하위 Colliders를 사용합니다).</td></tr><tr><td><strong>Distance Calculation Mode</strong></td><td>Specifies how distance is calculated to Interactors, from fastest to most accurate. <br><br>가장 빠른 것부터 가장 정확한 것까지 Interactors까지의 거리를 계산하는 방법을 지정합니다.<br><br>If using Mesh Colliders, Collider Volume only works if the mesh is convex.<br><br>메쉬 Collider를 사용하는 경우 Collider 볼륨은 메쉬가 볼록한 경우에만 작동합니다.</td></tr><tr><td> Transform Position</td><td>Calculates the distance using the Interactable&#8217;s transform position.<br><br>Interactable의 변환 위치를 사용하여 거리를 계산합니다. <br><br>This option has low performance cost, but it may have low distance calculation accuracy for some objects.<br><br>이 옵션은 성능 비용이 낮지만 일부 개체에 대한 거리 계산 정확도가 낮을 ​​수 있습니다.</td></tr><tr><td> Collider Position</td><td>Calculates the distance using the Interactable&#8217;s Colliders list using the shortest distance to each. <br><br>각각의 최단 거리를 사용하여 Interactable의 Colliders 목록을 사용하여 거리를 계산합니다. <br><br>This option has moderate performance cost and should have moderate distance calculation accuracy for most objects.<br><br>이 옵션은 성능 비용이 적당하며 대부분의 개체에 대해 중간 정도의 거리 계산 정확도를 가져야 합니다.</td></tr><tr><td> Collider Volume</td><td>Calculates the distance using the Interactable&#8217;s Colliders list using the shortest distance to the closest point of each <br><br>(either on the surface or inside the Collider).<br><br>Interactable의 충돌체 목록을 사용하여 각각의 가장 가까운 지점(표면 또는 충돌체 내부)까지의 <br><br>최단 거리를 사용하여 거리를 계산합니다. <br><br>This option has high performance cost but high distance calculation accuracy.<br><br>이 옵션은 성능 비용이 높지만 거리 계산 정확도가 높습니다.</td></tr><tr><td><strong>Custom Reticle</strong></td><td>The reticle that appears at the end of the line when valid.<br><br>유효한 경우 줄 끝에 나타나는 레티클(십자선)입니다.</td></tr><tr><td><strong>Select Mode</strong></td><td>Indicates the selection policy of an Interactable. <br><br>Interactable의 선택 정책을 나타냅니다. <br><br>This controls how many Interactors can select this Interactable.<br><br>이 Interactable을 선택할 수 있는 Interactor 수를 제어합니다.<br><br>The value is only read by the Interaction Manager when a selection attempt is made, <br><br>so changing this value from <strong>Multiple</strong> to <strong>Single</strong> will not cause selections to be exited.<br><br>Interaction Manager는 선택을 시도할 때만 값을 읽으므로 이 값을 <strong>다중</strong> 에서 <strong>단일</strong> 로 변경해 도 선택이 종료되지 않습니다.</td></tr><tr><td> Single</td><td>Set <strong>Select Mode</strong> to <strong>Single</strong> to prevent additional simultaneous selections from more than one Interactor at a time.<br><br><strong>선택 모드</strong> 를 <strong>단일</strong> 로 설정 하여 한 번에 둘 이상의 Interactor에서 동시에 추가로 선택하는 것을 방지합니다.</td></tr><tr><td> Multiple</td><td>Set <strong>Select Mode</strong> to <strong>Multiple</strong> to allow simultaneous selections on the Interactable from multiple Interactors.<br><br>여러 Interactor에서 Interactable에 대한 동시 선택을 허용 하려면 <strong>Select Mode</strong> 를 <strong>Multiple</strong> 로 설정 하십시오.</td></tr><tr><td><strong>Movement Type</strong></td><td>Specifies how this object moves when selected, either through setting the velocity of the <code>Rigidbody</code>, <br><br>moving the kinematic <code>Rigidbody</code> during Fixed Update, or by directly updating the <code>Transform</code> each frame.<br><br>Rigidbody의 속도를 설정하거나, Fixed Update 중에 &#8216;Kinematic Rigidbody&#8217;를 이동하거나, <br><br>각 프레임을 직접 업데이트하여 이 개체가 선택될 때 이동하는 방법을 지정합니다.</td></tr><tr><td> Velocity Tracking</td><td>Set <strong>Movement Type</strong> to Velocity Tracking to move the Interactable object by setting the velocity and angular velocity of the Rigidbody. <br><br><strong>Movement Type</strong>을 속도 추적으로 설정하여 Rigidbody의 속도 및 각속도를 설정하여 Interactable 객체를 이동합니다.<br><br>Use this if you don&#8217;t want the object to be able to move through other Colliders without a Rigidbody as it follows the Interactor, <br><br>객체가 Interactor를 따라 가면서 Rigidbody없이 다른 Colliders를 통과 할 수 없도록 하려면 이를 사용하십시오. <br><br>however with the tradeoff that it can appear to lag behind and not move as smoothly as Instantaneous.<br><br>그러나 Instantaneous만큼 부드럽게 움직이지 않고 뒤쳐져 있는 것처럼 보일 수 있습니다.</td></tr><tr><td> Kinematic</td><td>Set <strong>Movement Type</strong> to Kinematic to move the Interactable object by moving the kinematic Rigidbody towards the target position and orientation. <br><br><strong>Movement Type</strong>을 Kinematic으로 설정하여 Kinematic Rigidbody를 목표 위치 및 방향으로 이동하여 상호 작용 가능한 객체를 이동합니다.<br><br>Use this if you want to keep the visual representation synchronized to match its Physics state, <br><br>and if you want to allow the object to be able to move through other Colliders without a Rigidbody as it follows the Interactor.<br><br>물리적 상태와 일치하도록 시각적 표현을 동기화하고 객체가 Interactor를 따르는 것처럼 <br><br>Rigidbody없이 다른 Colliders를 통해 이동할 수 있도록 하려면 이를 사용하십시오.</td></tr><tr><td> Instantaneous</td><td>Set <strong>Movement Type</strong> to Instantaneous to move the Interactable object by setting the position and rotation of the Transform every frame. <br><br>모든 프레임에서 변환의 위치와 회전을 설정하여 상호 작용 가능한 객체를 이동하려면 <strong>Movement Type</strong>을 Instantaneous으로 설정합니다.<br><br>Use this if you want the visual representation to be updated each frame, minimizing latency, <br><br>however with the tradeoff that it will be able to move through other Colliders without a Rigidbody as it follows the Interactor.<br><br>시각적 표현을 각 프레임에 업데이트하여 대기 시간을 최소화하려면이를 사용하십시오. <br><br>그러나 Interactor를 따라 가면서 Rigidbody 없이 다른 Colliders를 통과할 수 있는 절충안이 있습니다.</td></tr><tr><td><strong>Retain Transform Parent</strong></td><td>Enable to have Unity set the parent of this object back to its original parent this object was a child of after this object is dropped.<br><br>Unity가 이 개체의 부모를 이 개체가 삭제된 후 이 개체의 자식이었던 원래 부모로 다시 설정하도록 활성화합니다.</td></tr><tr><td><strong>Track Position</strong></td><td>Enable to have this object follow the position of the Interactor when selected.<br><br>선택 시 이 개체가 Interactor의 위치를 ​​따르도록 활성화합니다.</td></tr><tr><td><strong>Smooth Position</strong></td><td>Enable to have Unity apply smoothing while following the position of the Interactor when selected.<br><br>선택 시 인터랙터의 위치를 ​​따라가는 동안 Unity가 smoothing을 적용하도록 활성화합니다.</td></tr><tr><td><strong>Smooth Position Amount</strong></td><td>Scale factor for how much smoothing is applied while following the position of the Interactor when selected. <br><br>선택 시 Interactor의 위치를 ​​따라가는 동안 smoothing이 얼마나 적용되는지에 대한 배율 인수입니다. <br><br>The larger the value, the closer this object will remain to the position of the Interactor.<br><br>값이 클수록 이 개체는 Interactor의 위치에 더 가깝게 유지됩니다.</td></tr><tr><td><strong>Tighten Position</strong></td><td>Reduces the maximum follow position difference when using smoothing.<br><br>smoothing 을 사용할 때 최대 follow position 차이를 줄입니다.<br><br>Fractional amount of how close the smoothed position should remain to the position of the Interactor when using smoothing. <br><br>smoothing을 사용할 때 smoothing된 위치가 Interactor의 위치에 얼마나 가깝게 유지되어야 하는 지에 대한 분수 양 입니다. <br><br>The value ranges from 0 meaning no bias in the smoothed follow distance, to 1 meaning effectively no smoothing at all.<br><br>값의 범위는 smoothing 된 추적 거리에 편향이 없음을 의미하는 0부터 / 사실상 smoothing이 전혀 없음을 의미하는 1까지입니다.</td></tr><tr><td><strong>Velocity Damping</strong></td><td>Scale factor of how much to dampen the existing velocity when tracking the position of the Interactor. <br><br>Interactor의 위치를 ​​추적할 때 기존 속도를 얼마나 감쇠할지에 대한 배율 인수입니다. <br><br>The smaller the value, the longer it takes for the velocity to decay.<br><br>값이 작을수록 속도가 감소하는 데 더 오래 걸립니다. <br><br>Only applies when <strong>Movement Type</strong> is in Velocity Tracking mode.<br><br><strong>Movement Type</strong> 이 Velocity Tracking 모드인 경우에만 적용됩니다.<br></td></tr><tr><td><strong>Velocity Scale</strong></td><td>Scale factor Unity applies to the tracked velocity while updating the <code>Rigidbody</code> when tracking the position of the Interactor.<br><br>Scale factor Unity는 Interactor의 위치를 추적할 때 Rigidbody를 업데이트하는 동안 추적된 속도에 적용됩니다.<br><br>Only applies when <strong>Movement Type</strong> is in Velocity Tracking mode.<br><br><strong>Movement Type</strong> 이 Velocity Tracking 모드인 경우에만 적용됩니다.</td></tr><tr><td><strong>Track Rotation</strong></td><td>Enable to have this object follow the rotation of the Interactor when selected.<br><br>선택 시 이 개체가 Interactor의 회전을 따르도록 하려면 활성화합니다.</td></tr><tr><td><strong>Smooth Rotation</strong></td><td>Apply smoothing while following the rotation of the Interactor when selected.<br><br>선택한 경우 Interactor의 회전을 따라 smoothing을 적용합니다.</td></tr><tr><td><strong>Smooth Rotation Amount</strong></td><td>Scale factor for how much smoothing is applied while following the rotation of the Interactor when selected. <br><br>선택한 경우 Interactor의 회전을 따라가는 동안 얼마나 많은 smoothing이 적용되는지에 대한 배율 인수입니다. <br><br>The larger the value, the closer this object will remain to the rotation of the Interactor.<br><br>값이 클수록 이 객체는 Interactor의 회전에 더 가깝게 유지됩니다.</td></tr><tr><td><strong>Tighten Rotation</strong></td><td>Reduces the maximum follow rotation difference when using smoothing.<br><br>smoothing을 사용할 때 maximum follow rotation 차이를 줄입니다.<br><br>Fractional amount of how close the smoothed rotation should remain to the rotation of the Interactor when using smoothing. <br><br>smoothing을 사용할 때 smoothing된 회전이 Interactor의 회전에 얼마나 근접하게 유지되어야 하는 지에 대한 분수 양입니다. <br><br>The value ranges from 0 meaning no bias in the smoothed follow rotation, to 1 meaning effectively no smoothing at all.<br><br>값의 범위는 0(매끄러운 후속 회전에 편향 없음)에서 1(효과적으로 전혀 매끄럽지 않음)까지 입니다.</td></tr><tr><td><strong>Angular Velocity Damping</strong></td><td>Scale factor of how much Unity dampens the existing angular velocity when tracking the rotation of the Interactor. <br><br>Interactor의 회전을 추적할 때 Unity가 기존 각속도를 감쇠시키는 정도의 배율입니다. <br><br>The smaller the value, the longer it takes for the angular velocity to decay.<br><br>값이 작을수록 각속도가 감소하는 데 더 오래 걸립니다.<br><br>Only applies when <strong>Movement Type</strong> is in <em>VelocityTracking</em> mode.<br><br><strong>Movement Type</strong> 이 Velocity Tracking 모드인 경우에만 적용됩니다.</td></tr><tr><td><strong>Angular Velocity Scale</strong></td><td>Scale factor Unity applies to the tracked angular velocity while updating the <code>Rigidbody</code> when tracking the rotation of the Interactor.<br><br>Scale Factor Unity는 Interactor의 회전을 추적할 때 Rigidbody를 업데이트하면서 추적된 각속도에 적용됩니다.<br><br>Only applies when <strong>Movement Type</strong> is in Velocity Tracking mode.<br><br><strong>Movement Type</strong> 이 Velocity Tracking 모드인 경우에만 적용됩니다.</td></tr><tr><td><strong>Throw On Detach</strong></td><td>Enable to have this object inherit the velocity of the Interactor when released. <br><br>해제 시 이 객체가 Interactor의 속도를 상속하도록 설정할 수 있습니다.<br><br>This is not supported for a kinematic Rigidbody.<br><br>이는 운동학적 Rigidbody에 대해 지원되지 않습니다.</td></tr><tr><td><strong>Throw Smoothing Duration</strong></td><td>Time period to average thrown velocity over.<br><br>평균 투척 속도가 초과되는 시간입니다.</td></tr><tr><td><strong>Throw Smoothing Curve</strong></td><td>The curve to use to weight thrown velocity smoothing (most recent frames to the right).<br><br>던지는 속도 smoothing(오른쪽의 가장 최근 프레임)에 가중치를 적용하는 데 사용할 곡선.</td></tr><tr><td><strong>Throw Velocity Scale</strong></td><td>Scale factor Unity applies to this object&#8217;s velocity inherited from the Interactor when released.<br><br>배율 계수 Unity는 놓을 때 Interactor에서 상속된 이 개체의 속도에 적용됩니다.</td></tr><tr><td><strong>Throw Angular Velocity Scale</strong></td><td>Scale factor Unity applies to this object&#8217;s angular velocity inherited from the Interactor when released.<br><br>Scale factor Unity는 Interactor를 놓았을 때 상속된 이 객체의 각속도에 적용됩니다.</td></tr><tr><td><strong>Force Gravity On Detach</strong></td><td>Forces this object to have gravity when released (will still use pre-grab value if this is <code>false</code> / unchecked).<br><br>이 객체가 해제 될 때 중력을 갖도록 강제합니다 (이것이 false / unchecked 인 경우 여전히 잡기 전 값을 사용합니다).</td></tr><tr><td><strong>Attach Transform</strong></td><td>The attachment point Unity uses on this Interactable (will use this object&#8217;s position if none set).<br><br>이 Interactable에서 Unity가 사용하는 연결 지점입니다(설정되지 않은 경우 이 객체의 위치를 ​​사용함).</td></tr><tr><td><strong>Use Dynamic Attach</strong></td><td>Enable to make the effective attachment point based on the pose of the Interactor when the selection is made.<br><br>선택 시 Interactor의 포즈를 기반으로 효과적인 첨부 지점을 만들 수 있습니다.</td></tr><tr><td><strong>Match Position</strong></td><td>Match the position of the Interactor&#8217;s attachment point when initializing the grab. <br><br>잡기를 초기화할 때 Interactor의 연결 지점 위치를 일치시킵니다. <br><br>This will override the position of Attach Transform.<br><br>이는 Attach Transform의 위치를 ​​재정의합니다.</td></tr><tr><td><strong>Match Rotation</strong></td><td>Match the rotation of the Interactor&#8217;s attachment point when initializing the grab. <br><br>잡기를 초기화할 때 Interactor의 연결 지점 회전을 일치시킵니다. <br><br>This will override the rotation of Attach Transform.<br><br>이는 Attach Transform의 회전을 재정의합니다.</td></tr><tr><td><strong>Snap To Collider Volume</strong></td><td>Adjust the dynamic attachment point to keep it on or inside the Colliders that make up this object.<br><br>동적 연결 지점을 조정하여 이 개체를 구성하는 Colliders 또는 내부에 유지합니다.</td></tr><tr><td><strong>Attach Ease In Time</strong></td><td>Time in seconds Unity eases in the attach when selected (a value of 0 indicates no easing).<br><br>시간(초) Unity는 선택 시 연결을 완화합니다 (0 값은 완화 없음을 나타냄).</td></tr><tr><td><strong>Attach Point Compatibility Mode</strong></td><td>Controls the method used when calculating the target position of the object. <br><br>객체의 목표 위치를 계산할 때 사용되는 방법을 제어합니다.<br><br>Use <code>AttachPointCompatibilityMode.</code><br><br>AttachPoint CompatibilityMode를 사용하십시오.<br><br><code>Default</code> for consistent attach points between all <code>XRBaseInteractable.MovementType</code> values. <br><br>모든 XRBaseInteractable .MovementType 값 사이의 일관된 연결 지점에 대한 기본값 입니다.<br><br>Marked for deprecation, this property will be removed in a future version.<br><br>사용 중지로 표시된 이 속성은 이후 버전에서 제거됩니다.<br><br>This is a backwards compatibility option in order to keep the old, incorrect method of calculating the attach point. <br><br>부착 점을 계산하는 오래되고 잘못된 방법을 유지하기 위해 이전 버전과의 호환성 옵션입니다.<br><br>Projects that already accounted for the difference can use the Legacy option to maintain the same attach positioning <br><br>from older versions without needing to modify the <strong>Attach Transform</strong> position.<br><br>차이를 이미 설명한 프로젝트는 Legacy 옵션을 사용하여 Attach Transform 위치를 수정할 필요없이 <br><br>이전 버전과 동일한 부착 위치를 유지할 수 있습니다.<br></td></tr><tr><td><strong>Add Default Grab Transformers</strong></td><td>Whether Unity will add the default set of grab transformers if either the Single or Multiple Grab Transformers lists are empty.<br><br>Single 또는 Multiple Grab Transformers 목록이 비어 있는 경우 Unity가 기본 Grab 변환기 세트를 추가할지 여부입니다.</td></tr><tr><td><strong>Starting Multiple Grab Transformers</strong></td><td>The grab transformers that this Interactable automatically links at startup (optional, may be empty). <br><br>시작 시 이 Interactable이 자동으로 링크하는 그랩 변환기입니다(선택 사항, 비어 있을 수 있음). <br><br>Used for multi-interactor selection. After startup, this property is not used. <br><br>multi-interactor 선택에 사용됩니다. 시작 후에는 이 속성이 사용되지 않습니다. <br><br>Useful when there is more than one Grab Transformer that should be processed and you need to specify the order.<br><br>처리해야 하는 Grab Transformer가 둘 이상 있고 순서를 지정해야 하는 경우에 유용합니다.</td></tr><tr><td><strong>Starting Single Grab Transformers</strong></td><td>The grab transformers that this Interactable automatically links at startup (optional, may be empty). <br><br>시작 시 이 Interactable이 자동으로 링크하는 그랩 변환기입니다(선택 사항, 비어 있을 수 있음).<br><br>Used for single-interactor selection. After startup, this property is not used. <br><br>single-interactor 선택에 사용됩니다. 시작 후에는 이 속성이 사용되지 않습니다.<br><br>Useful when there is more than one Grab Transformer that should be processed and you need to specify the order.<br><br>처리해야 하는 Grab Transformer가 둘 이상 있고 순서를 지정해야 하는 경우에 유용합니다.</td></tr><tr><td><strong>Multiple Grab Transformers</strong></td><td>(Play mode only) The grab transformers used when there are multiple interactors selecting this object.<br><br>(재생 모드 전용) 이 개체를 선택하는 multiple interactors가 있을 때 사용되는 잡기 변환기입니다.</td></tr><tr><td><strong>Single Grab Transformers</strong></td><td>(Play mode only) The grab transformers used when there is a single interactor selecting this object.<br><br>(재생 모드 전용) 이 개체를 선택하는 single interactor 가 있을 때 사용되는 잡기 변환기입니다.</td></tr><tr><td><strong>Interactable Events</strong></td><td>See the <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interactable-events.html" target="_blank" rel="noreferrer noopener">Interactable Events</a> page.<br><br>참조 -> <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/manual/interactable-events.html" target="_blank" rel="noreferrer noopener">상호작용 가능한 이벤트</a>페이지.<br></td></tr></tbody></table></figure>



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



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--80);margin-bottom:var(--wp--preset--spacing--80)"/>



<h2 class="wp-block-heading">Grab transformers</h2>



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



<p class="has-medium-font-size">This XR Grab Interactable behavior is responsible for applying the position, rotation, and local scale calculated by one or more <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/api/UnityEngine.XR.Interaction.Toolkit.Transformers.IXRGrabTransformer.html">IXRGrabTransformer</a> implementations. </p>



<p>이 XR Grab Interactable 동작은 하나 이상의 <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/api/UnityEngine.XR.Interaction.Toolkit.Transformers.IXRGrabTransformer.html" target="_blank" rel="noreferrer noopener">IXRGrabTransformer</a> 구현에서 계산된 위치, 회전 및 로컬 배율 적용을 담당합니다. </p>



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



<p class="has-medium-font-size">A default set of grab transformers are automatically added by Unity (when <strong>Add Default Grab Transformers</strong> is enabled), </p>



<p>기본 Grab 변환기 세트는 Unity에 의해 자동으로 추가되지만( <strong><strong>Add Default Grab Transformers</strong></strong> 가 활성화된 경우)</p>



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



<p class="has-medium-font-size">but this functionality can be disabled to manually set those used by this behavior, allowing you to customize where this component should move and rotate to.</p>



<p>이 기능을 비활성화하여 이 동작에 사용되는 변환기를 수동으로 설정하여 이 구성 요소가 이동하고 회전해야 하는 위치를 사용자 지정할 수 있습니다.</p>



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



<p class="has-medium-font-size">Grab transformer components can be added to the GameObject to link them with the XR Grab Interactable. </p>



<p>Grab 변환기 구성 요소를 GameObject에 추가하여 XR Grab Interactable과 연결할 수 있습니다. </p>



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



<p class="has-medium-font-size">They can be found in the <strong>Component</strong> > <strong>XR</strong> > <strong>Transformers</strong> menu. </p>



<p><strong>Component</strong> > <strong>XR</strong> > <strong>Transformers</strong> 메뉴 에서 찾을 수 있습니다 .</p>



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



<p class="has-medium-font-size">You can then add references to those components explicitly to <strong>Starting Single Grab Transformers</strong> or <strong>Starting Multiple Grab Transformers</strong> </p>



<p class="has-medium-font-size">if you have more than one and need to specify the order in which they execute, or if you need to override which list the grab transformer is automatically added to.</p>



<p>그런 다음 <strong><strong>Starting Single Grab Transformers</strong></strong> 또는 <strong>Starting Multiple Grab Transformers</strong>에 이러한 구성 요소에 대한 참조를 명시 적으로 추가 할 수 있습니다. </p>



<p>둘 이상이 있고 실행 순서를 지정해야 하거나 grab transformer가 자동으로 추가되는 목록을 재정의 해야 하는 경우.</p>



<div style="height:100px" 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/xr-grab-interactable-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4877/">XR Grab Interactable 속성 정리 (XR Interaction Toolkit)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/xr-grab-interactable-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4877/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>XR Ray Interactor 속성 정리 (XR Interaction Toolkit)</title>
		<link>https://lycos7560.com/unity/xr-ray-interactor-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4817/</link>
					<comments>https://lycos7560.com/unity/xr-ray-interactor-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4817/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 17 Jan 2023 14:39:43 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[Action-based]]></category>
		<category><![CDATA[Device-based]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[Interactor]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Properties]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[Ray]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[Unity VR]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[XR]]></category>
		<category><![CDATA[XR interaction toolkit]]></category>
		<category><![CDATA[XR InteractionLayerMask Update Required]]></category>
		<category><![CDATA[XR plugin]]></category>
		<category><![CDATA[XR Plugin Management]]></category>
		<category><![CDATA[XR Ray Interactor]]></category>
		<category><![CDATA[가상현실]]></category>
		<category><![CDATA[경고]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[속성]]></category>
		<category><![CDATA[유니티]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=4817</guid>

					<description><![CDATA[<p>Unity XR Ray Interactor 속성에 대하여 정리한 글입니다.  (XR Interaction Toolkit)</p>
<p>The post <a href="https://lycos7560.com/unity/xr-ray-interactor-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4817/">XR Ray Interactor 속성 정리 (XR Interaction Toolkit)</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:68px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Unity Version</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Unity Version : 2021.3.5f1
</pre>



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



<figure class="wp-block-image size-full"><img decoding="async" width="737" height="236" src="https://lycos7560.com/wp-content/uploads/image-983.png" alt="" class="wp-image-4720" srcset="https://lycos7560.com/wp-content/uploads/image-983.png 737w, https://lycos7560.com/wp-content/uploads/image-983-300x96.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="739" height="152" src="https://lycos7560.com/wp-content/uploads/image-984.png" alt="" class="wp-image-4721" srcset="https://lycos7560.com/wp-content/uploads/image-984.png 739w, https://lycos7560.com/wp-content/uploads/image-984-300x62.png 300w" sizes="(max-width: 739px) 100vw, 739px" /></figure>



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



<h2 class="wp-block-heading">XR Ray Interactor</h2>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-ray-interactor.html?q=xr%20ray" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-ray-interactor.html?q=xr%20ray</a></p>



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



<p class="has-medium-font-size">An Interactor component controls how a GameObject interacts with Interactable components in the scene.</p>



<p>Interactor component는 GameObject와 Scene의 Interactable components 간의 상호작용을 제어합니다.</p>



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



<p class="has-medium-font-size">There are multiple types of Interactors, one of which is an XR Ray Interactor, a component that uses ray casting in order to find valid Interactable objects in the scene.</p>



<p>Interactor 에는 여러 종류가 있습니다. 그 중의 1 개는 XR Ray Interactor 로, 이 component는 Scene 내에서 조작할 수 있는 유효한 Interactable object를 찾아내기 위해서 ray casting를 사용합니다.</p>



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



<p class="has-medium-font-size">To read input from an XR input device, the Interactor requires an XR Controller component.</p>



<p>XR input device에서 입력을 읽으려면 the Interactor 에 XR Controller 구성 요소가 필요합니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-989.png" alt="" class="wp-image-4819" width="632" height="2811"/></figure>



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



<h2 class="wp-block-heading">XR Ray Interactor 속성</h2>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-ray-interactor.html?q=xr%20ray" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-ray-interactor.html?q=xr%20ray</a></p>



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



<p class="has-medium-font-size">Interactor used for interacting with Interactables at a distance. </p>



<p>Interactor는 먼 거리에서 Interactables와 상호 작용할 때 사용됩니다.</p>



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



<p class="has-medium-font-size">This is handled via ray casts that update the current set of valid targets for this interactor.</p>



<p>이것은 이 &#8216;interactor&#8217;에 대한 유효한 대상의 현재 세트를 업데이트하는 광선 캐스트를 통해 처리됩니다.</p>



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



<figure class="wp-block-table" style="font-size:18px"><table><thead><tr><th><strong>Property</strong></th><th><strong>Description</strong></th></tr></thead><tbody><tr><td><strong>Interaction Manager</strong></td><td>The <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-interaction-manager.html" target="_blank" rel="noreferrer noopener">XR InteractionManager</a> that this Interactor will communicate with (will find one if <strong>None</strong>).<br><br>이 Interactor가 통신 할 XR InteractionManager (None 인 경우 XR InteractionManager)를 찾습니다.<br></td></tr><tr><td><strong>Interaction Layer Mask</strong></td><td>Allows interaction with Interactables whose <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a> overlaps with any Layer in this Interaction Layer Mask.<br><br><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a>가 이 <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interaction-layers.html" target="_blank" rel="noreferrer noopener">Interaction Layer Mask</a> 마스크의 모든 Layer와 겹치는 상호작용 객체와의 상호작용을 허용합니다.<br></td></tr><tr><td><strong>Enable Interaction with UI GameObjects</strong></td><td>Enable to allow this Interactor to affect UI.<br><br>이 Interactor 가 UI에 영향을 미칠 수 있습니다.</td></tr><tr><td><strong>Force Grab</strong></td><td>Force grab moves the object to your hand rather than interacting with it at a distance.<br><br>&#8216;Force grab&#8217;은 물체를 멀리서 상호 작용하기보다는 손으로 움직입니다.</td></tr><tr><td><strong>Anchor Control</strong></td><td>Allows the user to move the attach anchor point using the joystick.<br><br>사용자가 &#8216;joystick&#8217;을 사용하여 &#8216;attach anchor point&#8217;를 이동할 수 있습니다.</td></tr><tr><td><strong>Translate Speed</strong></td><td>Speed that the anchor is translated. Only used and displayed when <strong>Anchor Control</strong> is enabled.<br><br>앵커가 변환되는 속도. &#8216;<strong>Anchor Control</strong>&#8216;이 활성화된 경우에만 사용되고 표시됩니다.</td></tr><tr><td><strong>Rotate Reference Frame</strong></td><td>The optional reference frame to define the up axis when rotating the attach anchor point. <br><br>&#8216;attach anchor point&#8217;를 회전할 때 위쪽 축을 정의하는 선택적 참조 프레임입니다.<br><br>When not set, rotates about the local up axis of the attach transform. Only used and displayed when <strong>Anchor Control</strong> is enabled.<br><br>설정되지 않은 경우 부착 변환의 로컬 위쪽 축을 중심으로 회전합니다. &#8216;<strong>Anchor Control</strong>&#8216;이 활성화된 경우에만 사용되고 표시됩니다.</td></tr><tr><td><strong>Rotation Mode</strong></td><td>Specifies how the anchor rotation is controlled. Only used and displayed when <strong>Anchor Control</strong> is enabled.<br><br>앵커 회전 제어 방법을 지정합니다. &#8216;<strong>Anchor Control</strong>&#8216;가 활성화된 경우에만 사용 및 표시됩니다.</td></tr><tr><td> Rotate Over Time</td><td>Set <strong>Rotation Mode</strong> to <strong>Rotate Over Time</strong> to control anchor rotation over time while rotation input is active.<br><br>&#8216;<strong>Rotation Mode</strong>&#8216;를 &#8216;<strong>Rotate Over Time</strong>&#8216;으로 설정하여 회전 입력이 활성화된 상태에서 시간 경과에 따른 앵커 회전을 제어합니다.</td></tr><tr><td> Match Direction</td><td>Set <strong>Rotation Mode</strong> to <strong>Match Direction</strong> to match the anchor rotation to the direction of the 2-dimensional rotation input.<br><br>앵커 회전을 2차원 회전 입력 방향과 일치시키려면 &#8216;<strong>Rotation Mode</strong>&#8216;를 &#8216;<strong>Match Direction</strong>&#8216;으로 설정합니다.</td></tr><tr><td><strong>Rotate Speed</strong></td><td>Speed that the anchor is rotated. Only used and displayed when <strong>Anchor Control</strong> is enabled and <strong>Rotation Mode</strong> is set to <strong>Rotate Over Time</strong>.<br><br>앵커가 회전되는 속도입니다. &#8216;<strong>Anchor Control</strong> &#8216;이 활성화되고 &#8216;<strong>Rotation Mode</strong>&#8216;가 &#8216;<strong>Rotate Over Time</strong>&#8216;으로 설정된 경우에만 사용 및 표시됩니다.</td></tr><tr><td><strong>Attach Transform</strong></td><td>The <code>Transform</code> that is used as the attach point for Interactables.<br><br>Interactable 의 <code>Transform</code>연결 지점으로 사용되는 입니다.<br><br>Automatically instantiated and set in <code>Awake</code> if <strong>None</strong>.<br><br><strong>None</strong> 인 경우 자동으로 인스턴스화되고 <code>Awake</code> 설정됩니다.<br><br>Setting this will not automatically destroy the previous object.<br><br>이것을 설정하면 이전 object가 자동으로 삭제되지 않습니다.</td></tr><tr><td><strong>Ray Origin Transform</strong></td><td>The starting position and direction of any ray casts.<br><br>레이 캐스트의 시작 위치와 첫 번째 방향<br><br>Automatically instantiated and set in Awake if None and initialized with the pose of the &#8216;XRBaseInteractor&#8217;.<br><br><strong>None</strong> 의 경우 자동으로 인스턴스화되고 <code>Awake</code>로 설정되어 &#8216;XRBaseInteractor&#8217;의  pos로 초기화됩니다.<br><br>&#8216;attachTransform&#8217;. Setting this will not automatically destroy the previous object.</td></tr><tr><td><strong>Disable Visuals When Blocked In Group</strong></td><td>Whether to disable visuals when this Interactor is part of an <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-interaction-group.html" target="_blank" rel="noreferrer noopener">Interaction Group</a> <br><br>and is incapable of interacting due to active interaction by another Interactor in the Group.<br><br>이 Interactor가 Interaction Group의 일부이며 그룹의 다른 Interactor의 적극적인 상호 작용으로 인해 <br><br>상호 작용할 수 없는 경우 비주얼을 비활성화할지 여부.</td></tr><tr><td><strong>Line Type</strong></td><td>The type of ray cast.<br><br>레이 캐스트 유형입니다.</td></tr><tr><td> Straight Line</td><td>Set Line Type to Straight Line to perform a single ray cast into the scene with a set ray length.<br><strong><br>Line Type</strong> 을 <strong>Straight Line</strong> 으로 설정하면 장면에 대해 구성된 길이의 단일 레이 캐스트를 수행합니다.</td></tr><tr><td> Projectile Curve</td><td>Set <strong>Line Type</strong> to <strong>Projectile Curve</strong> to sample the trajectory of a projectile to generate a projectile curve.<br><br><strong>Line Type</strong> 을 <strong>Projectile Curve</strong> 로 설정하면 투사물의 궤적을 샘플링하여 포물선을 생성합니다.</td></tr><tr><td> Bezier Curve</td><td>Set <strong>Line Type</strong> to <strong>Bezier Curve</strong> to use a control point and an end point to create a quadratic Bezier curve.<br><br><strong>Line Type</strong> 을 <strong>Bezier Curve</strong> 로 설정하면 제어점과 끝점을 사용하여 2차 베지어 곡선을 만듭니다.</td></tr><tr><td> Max Raycast Distance</td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Straight Line</strong>.<br><br><strong>Line Type</strong> 이 <strong>Straight Line</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Increasing this value will make the line reach further.<br><br>이 값을 늘리면 선이 더 멀리 도달할 수 있습니다.</td></tr><tr><td><strong>Reference Frame</strong></td><td>Only used and displayed if <strong>Line Type</strong> is either <strong>Projectile Curve</strong> or <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 또는 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>The reference frame of the curve to define the ground plane and up. <br><br>원곡선의 기준 프레임으로 지면과 위를 정의합니다.<br><br>If not set at startup it will try to find the <code><mark>XR</mark>Origin.</code><br><br>시작할 때 설정하지 않으면 &#8216;XROrigin&#8217;을 찾으려고합니다.<br><br><code>Origin</code> <code>GameObject</code>, and if that does not exist it will use global up and origin by default.<br><br>&#8216;Origin GameObject&#8217;이며, 존재하지 않으면 기본적으로 global up과 origin을 사용합니다.</td></tr><tr><td><strong>Velocity</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Projectile Curve</strong>. Initial velocity of the projectile.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다. 투사물의 초속.<br><br>Increasing this value will make the curve reach further.<br><br>이 값을 늘리면 커브가 더 멀리 도달할 수 있습니다.</td></tr><tr><td><strong>Acceleration</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Projectile Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Gravity of the projectile in the reference frame.<br><br>참조 프레임 내에서 투사물에 가해지는 중력.</td></tr><tr><td><strong>Additional Ground Height</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Projectile Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Additional height below ground level that the projectile will continue to. <br><br>투사물이 계속 움직이는 지면보다 낮은 위치에서 추가 높이. <br><br>Increasing this value will make the end point drop lower in height.<br><br>이 값을 늘리면 종점 높이가 낮아집니다.</td></tr><tr><td><strong>Additional Flight Time</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Projectile Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Additional flight time after the projectile lands at the adjusted ground level. <br><br>투사물이 조정된 지면 높이에 착지한 후의 추가 체공 시간. <br><br>Increasing this value will make the end point drop lower in height.<br><br>이 값을 늘리면 종점 높이가 낮아집니다.</td></tr><tr><td><strong>Sample Frequency</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Projectile Curve</strong> or <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Projectile Curve</strong> 또는 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>The number of sample points Unity uses to approximate curved paths. <br><br>Unity가 곡선 경로를 근사하는 데 사용하는 샘플 포인트 수입니다. <br><br>Larger values produce a better quality approximate at the cost of reduced performance due to the number of <mark>ray</mark> casts.<br><br>이 값을 늘리면 근사의 질이 높아지지만, 대조적으로 레이 캐스트 수에서 파생 된 성능 저하가 발생합니다.<br><br>A value of <code>n</code> will result in <code>n - 1</code> line segments for <mark>ray</mark> casting. <br><br>값을 <code>n</code>설정하면 <code>n - 1</code>책의 레이캐스트 선분이 만들어집니다.<br><br>This property is not used when using a <strong>Line Type</strong> of <strong>Straight Line</strong> since the effective value would always be 2.<br><br><strong>Line Type</strong> 으로 <strong>Straight Line</strong> 을 사용하는 경우 유효한 값이 항상 2이므로 이 속성은 사용되지 않습니다.</td></tr><tr><td><strong>End Point Distance</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Increase this value distance to make the end of the curve further from the start point.<br><br>이 거리의 값을 늘리면 곡선의 끝이 원점에서 더 멀리 연장됩니다.</td></tr><tr><td><strong>End Point Height</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Decrease this value to make the end of the curve drop lower relative to the start point.<br><br>이 값을 줄이면 곡선의 끝이 원점에 대해 낮아집니다.</td></tr><tr><td><strong>Control Point Distance</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Increase this value to make the peak of the curve further from the start point.<br><br>이 값을 늘리면 곡선의 정점이 원점에서 멀어집니다.</td></tr><tr><td><strong>Control Point Height</strong></td><td>Only used and displayed if <strong>Line Type</strong> is <strong>Bezier Curve</strong>.<br><br><strong>Line Type</strong> 이 <strong>Bezier Curve</strong> 인 경우에만 표시되며 사용할 수 있습니다.<br><br>Increase this value to make the peak of the curve higher relative to the start point.<br><br>이 값을 올리면 곡선의 정점이 기점에 비해 높아집니다.</td></tr><tr><td><strong><mark>Ray</mark>cast Mask</strong></td><td>The layer mask used for limiting ray cast targets.<br><br>ray cast의 타겟을 제한하는 레이어 마스크.</td></tr><tr><td><strong><mark>Ray</mark>cast Trigger Interaction</strong></td><td>The type of interaction with trigger volumes via ray cast.<br><br>ray cast를 통해 트리거 볼륨을 활용하는 유형의 상호작용.</td></tr><tr><td><strong>Hit Detection Type</strong></td><td>Which type of hit detection to use for the ray cast.<br><br>ray cast에 적용할 히트 감지 유형.</td></tr><tr><td> <mark>Ray</mark>cast</td><td>Set <strong>Hit Detection Type</strong> to <strong><mark>Ray</mark>cast</strong> to use <code>Physics</code> <mark>Ray</mark>cast to detect collisions.<br><br><strong>Hit Detection Type</strong> 을 <strong><mark>Ray</mark>cast</strong> 로 설정하면 충돌 감지에<code>Physics</code> <mark>Ray</mark>cast를 사용합니다.</td></tr><tr><td> Sphere Cast</td><td>Set <strong>Hit Detection Type</strong> to <strong>Sphere Cast</strong> to use <code>Physics</code> Sphere Cast to detect collisions.<br><br><strong>Hit Detection Type</strong> 을 <strong>Sphere Cast</strong> 로 설정하면 충돌 감지에 <code>Physics</code>Sphere Cast를 사용합니다.</td></tr><tr><td><strong>Hit Closest Only</strong></td><td>Whether Unity considers only the closest Interactable as a valid target for interaction.<br><br>Unity가 가장 가까운 Interactable 만  interaction의 유효한 대상으로 간주할지 여부.<br><br>Enable this to make only the closest Interactable receive hover events. <br><br>활성화하면 가장 가까운 Interactable만 호버 이벤트를 받게 됩니다. <br><br>Otherwise, all hit Interactables will be considered valid and this Interactor will multi-hover.<br><br>활성화되어 있지 않으면 히트된 Interactables이 모두 유효한 것으로 간주되며 이 Interactor가 여러 호버를 수행합니다.</td></tr><tr><td><strong>Blend Visual Line Points</strong></td><td>Blend the line sample points Unity uses for ray casting with the current pose of the controller.<br><br>Unity가 다음에 사용하는 라인 샘플 포인트 블렌드레이컨트롤러의 현재 포즈로 캐스팅합니다.<br><br><br>Use this to make the line visual stay connected with the controller instead of lagging behind.<br><br>이를 사용하여 뒤처지는 대신 라인 비주얼이 컨트롤러와 연결된 상태를 유지하도록 합니다.<br><br><br>When the controller is configured to sample tracking input directly before rendering to reduce input latency, <br><br>the controller may be in a new position or rotation relative to the starting point of the sample curve used for ray casting.<br><br>제어기가 입력 레이턴시를 감소시키기 위해 렌더링 전에 직접 트래킹 입력을 샘플링하도록 구성되는 경우, <br><br>제어기는 광선 주조에 사용되는 샘플 곡선의 시작점에 대해 새로운 위치 또는 회전에 있을 수 있다.<br><br>A value of false will make the line visual stay at a fixed reference frame rather than bending or curving towards the end of the ray cast line.<br><br>false 값을 사용하면 선이 광선 주조 선의 끝을 향해 구부러 지거나 휘어지기보다는 고정된 참조 프레임에 시각적으로 유지됩니다.</td></tr><tr><td><strong>Select Action Trigger</strong></td><td>Choose how Unity interprets the select input action from the controller. <br><br>Unity가 컨트롤러의 선택 입력 작업을 해석하는 방법을 선택합니다. <br><br>Controls between different input styles for determining if this Interactor can select, <br><br>such as whether the button is currently pressed or just toggles the active state.<br><br>이 Interactor가 현재 버튼을 눌렀는지 또는 활성 상태를 토글하는지와 같이 <br><br>선택할 수 있는지 여부를 결정하기 위해 서로 다른 입력 스타일 사이를 제어합니다.</td></tr><tr><td><strong>Keep Selected Target Valid</strong></td><td>Whether to keep selecting an Interactable after initially selecting it even when it is no longer a valid target.<br><br>Interactable이 더 이상 유효한 대상이 아닌 경우에도 초기에 선택한 후 Interactable을 계속 선택할지 여부입니다. <br><br>Enable to make the XRInteractionManager retain the selection even if the Interactable is not contained within the list of valid targets. <br><br> <br>Interactable이 유효한 대상 목록에 포함되지 않은 경우에도 선택을 유지하려면 활성화하십시오.<br><br>Disable to make the Interaction Manager clear the selection if it isn&#8217;t within the list of valid targets. <br><br>유효한 대상 목록에 없는 경우 Interaction Manager가 선택을 취소하도록 하려면 비활성화합니다. <br><br>A common use for disabling this is for Ray Interactors used for teleportation to make the teleportation Interactable no longer selected when not currently pointing at it.<br><br>이를 비활성화하는 일반적인 용도는 다음과 같습니다.XRInteractionManager Ray teleportation을 Interactable로 만들기 위해 <br><br> teleportation에 사용되는 Interactors는 현재 가리키고 있지 않을 때 더 이상 선택되지 않습니다.</td></tr><tr><td><strong>Hide Controller On Select</strong></td><td>Controls whether this Interactor should hide the controller model on selection.<br><br>이 Interactor가 선택 시 컨트롤러 모델을 숨길지 여부를 제어합니다.</td></tr><tr><td><strong>Allow Hovered Activate</strong></td><td>Controls whether to send activate and deactivate events to interactables that this interactor is hovered over but not selected when there is no current selection. <br><br>현재 선택 항목이 없을 때 이 interactor가 호버링되지만 선택되지 않은 이벤트를 interactables에 보내고 비활성화할지 여부를 제어합니다.<br><br>By default, the interactor will only send activate and deactivate events to interactables that it&#8217;s selected.<br><br>기본적으로 인터랙터는 선택한 상호 작용 가능 항목에만 활성화 및 비활성화 이벤트를 보냅니다</td></tr><tr><td><strong>Target Track Mode</strong></td><td>Specifies how many Interactables that should be tracked in the Targets For Selection property, useful for custom feedback. <br><br>사용자 지정 피드백에 유용한 Targets For Selection 속성에서 추적해야 하는 Interactable의 수를 지정합니다. <br><br>The options are in order of best performance.<br><br>옵션은 최상의 성능 순입니다.</td></tr><tr><td><strong>Hover To Select</strong></td><td>Enable to have Interactor automatically select an Interactable after hovering over it for a period of time.<br><br>Interactor가 Interactable을 일정 시간 동안 마우스로 가리키면 자동으로 선택하도록 설정합니다.</td></tr><tr><td><strong>Hover Time To Select</strong></td><td>Number of seconds an Interactor must hover over an Interactable to select it.<br><br>Interactor가 Interactable을 선택하기 위해 마우스를 올려야 하는 시간(초)입니다.</td></tr><tr><td><strong>Auto Deselect</strong></td><td>Enable to have Interactor automatically deselect an Interactable after selecting it for a period of time.<br><br>Interactor가 Interactable을 일정 시간 동안 선택한 후 자동으로 선택 취소하도록 활성화합니다.</td></tr><tr><td><strong>Time To Auto Deselect</strong></td><td>Number of seconds an Interactor must select an Interactable before it is automatically deselected when <strong>Auto Deselect</strong> is true.<br><br><strong>Auto Deselect</strong> 가 true 인 경우 Interactor가 Interactable을 선택해야 자동으로 선택 취소되는 시간(초 )입니다.</td></tr><tr><td><strong>Starting Selected Interactable</strong></td><td>The Interactable that this Interactor automatically selects at startup (optional, may be <strong>None</strong>).<br><br>시작 시 이 Interactor가 자동으로 선택하는 Interactable입니다(선택 사항, <strong>None</strong> 일 수 있음 ).</td></tr><tr><td><strong>Audio Events</strong></td><td>These tie into the same selection and hover events as the <strong>Interactor Events</strong> further below <br><br>이들은 이 표의 맨 아래에 나열된 <strong>Interactor Events</strong> 와 동일한 선택 및 호버 이벤트에 연결됩니다. <br><br>&#8211; these audio events provide a convenient way to play specified audio clips for any of those events you want.<br><br>다음 오디오 이벤트는 해당 이벤트에 맞게 지정된 오디오 클립을 재생하는 데 유용합니다.</td></tr><tr><td> On Select Entered</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor begins selecting an Interactable.<br><br>사용하도록 설정하면 Interactor가 Interactable 선택을 시작할 때 재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Select Exited</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor successfully exits selection of an Interactable.<br><br>사용하도록 설정하면 Interactor가 Interactable 선택을 성공적으로 완료하면 재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Select Canceled</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor cancels selection of an Interactable.<br><br>사용하도록 설정하면 Interactor가 Interactable 선택을 취소할 때 재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Entered</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor begins hovering over an Interactable.<br><br>활성화된 경우, Unity 편집기는 이 Interactor가 Interactable 위를 맴돌기 시작할 때 재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Exited</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor successfully ends hovering over an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 성공적으로 Interactable 위에서 호버를 성공적으로 종료할 때 <br>재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Canceled</td><td>If enabled, the Unity editor will display UI for supplying the audio clip to play when this Interactor cancels hovering over an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable에서 호버를 취소할 때 재생할 오디오 클립을 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> Allow Hover Audio While Selecting</td><td>Whether to allow playing audio from hover events if the hovered Interactable is currently selected by this Interactor.<br><br>현재 이  Interactor에서 호버된 Interactable을 선택한 경우 호버 이벤트에서 오디오 재생을 허용할지 여부입니다. <br><br>This is enabled by default.<br><br>기본적으로 이 옵션을 사용할 수 있습니다.</td></tr><tr><td><strong>Haptic Events</strong></td><td>These tie into the same selection and hover events as the <strong>Interactor Events</strong> further below <br><br>이것들은 아래의 Interactor Events와 동일한 선택 및 호버 이벤트와 연결됩니다.<br><br>&#8211; these haptic events provide a convenient way to provide haptic feedback for any of those events you want.<br><br>&#8211; 이러한 햅틱 이벤트는 원하는 이벤트에 대해 햅틱 피드백을 제공하는 편리한 방법을 제공합니다.</td></tr><tr><td> On Select Entered</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor begins selecting an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable을 선택하기 시작할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위) 및 강도(정규화)를  나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Select Exited</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor successfully exits selection of an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable 선택을 성공적으로 종료할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위) 및 강도(정규화)를 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Select Canceled</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor cancels selection of an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable 선택을 취소할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위) 및 강도(정규화)를 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Entered</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor begins hovering over an Interactable.<br><br>활성화된 경우, Unity 편집기는 이 Interactor가 Interactable 위를 맴돌기 시작할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위)과 강도(정규화)를 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Exited</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor successfully ends hovering over an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable을 성공적으로 호버링할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위) 및 강도(정규화)를 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> On Hover Canceled</td><td>If enabled, the Unity editor will display UI for supplying the duration (in seconds) <br><br>and intensity (normalized) to play in haptic feedback when this Interactor cancels hovering over an Interactable.<br><br>활성화된 경우 Unity 편집기는 이 Interactor가 Interactable을 통해 호버링을 취소할 때 햅틱 피드백으로 <br><br>재생할 지속 시간(초 단위) 및 강도(정규화)를 나타내는 UI가 Unity 편집기에 표시됩니다.</td></tr><tr><td> Allow Hover Haptics While Selecting</td><td>Whether to allow playing haptics from hover events if the hovered Interactable is currently selected by this Interactor. <br><br>현재 이  Interactor에서 호버 Interactable을 선택한 경우 호버 이벤트에서 햅틱을 재생할 수 있는지 여부를 지정합니다.<br><br>This is enabled by default.<br><br>이것은 기본적으로 활성화되어 있습니다.</td></tr><tr><td><strong>Interactor Events</strong></td><td>See the <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interactor-events.html">Interactor Events</a> page.<br><br>참조-> <a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/interactor-events.html" target="_blank" rel="noreferrer noopener">인터랙터 이벤트</a>페이지.<br></td></tr></tbody></table></figure>



<div style="height:100px" 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/xr-ray-interactor-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4817/">XR Ray Interactor 속성 정리 (XR Interaction Toolkit)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/xr-ray-interactor-%ec%86%8d%ec%84%b1-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4817/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Action-based vs Device-based 정리 (XR Interaction Toolkit)</title>
		<link>https://lycos7560.com/unity/unity-vr/action-based-vs-device-based-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4745/</link>
					<comments>https://lycos7560.com/unity/unity-vr/action-based-vs-device-based-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4745/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 17 Jan 2023 07:56:36 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[Action-based]]></category>
		<category><![CDATA[Device-based]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[Unity VR]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[XR]]></category>
		<category><![CDATA[XR interaction toolkit]]></category>
		<category><![CDATA[XR InteractionLayerMask Update Required]]></category>
		<category><![CDATA[XR plugin]]></category>
		<category><![CDATA[XR Plugin Management]]></category>
		<category><![CDATA[가상현실]]></category>
		<category><![CDATA[경고]]></category>
		<category><![CDATA[유니티]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=4745</guid>

					<description><![CDATA[<p>XR Interaction Toolkit의 Action-based vs Device-based에 관한 글입니다.</p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/action-based-vs-device-based-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4745/">Action-based vs Device-based 정리 (XR Interaction Toolkit)</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>



<h2 class="wp-block-heading">요약</h2>



<p class="has-medium-font-size">Device-based는 초기 설정이 적지만 입력 처리는 별도로 커스터마이즈 할 수 없는 게 단점 (유니티에서 Action-based 권장)</p>



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



<p class="has-medium-font-size">Action-based는 초기 설정이 필요하지만 입력 처리를 커스터마이즈 할 수 있고 입력 시스템을 사용하여 </p>



<p class="has-medium-font-size">간접적으로 사용자의 입력을 읽을 수 있으므로 가능한 모든 단일 장치에 대해 코딩할 필요가 없다.</p>



<p class="has-medium-font-size">각 컨트롤러에 대한 각 컨트롤을 수동으로 구체적으로 설정하지 않고 각 컨트롤에 작업이 할당되기 때문에 크로스 플랫폼 통합이 더 쉬워진다.</p>



<p class="has-medium-font-size">이렇게 하면 게임을 판매할 때 Oculus 이외의 다른 장치를 대상으로 하려는 경우 많은 시간을 절약할 수 있다.</p>



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



<h1 class="wp-block-heading">Action-based vs Device-based</h1>



<p>액션 기반 동작과 디바이스 기반 동작의 차이</p>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/general-setup.html" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/general-setup.html</a></p>



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



<p class="has-medium-font-size">Several behaviors, such as the Snap Turn Provider, have two variants: an Action-based behavior and a Device-based behavior. </p>



<p>Snap Turn Provider 와 같은 동작에는 Action-based(액션 기반) 동작과 Device-based(장치 기반) 동작의 두 가지 유형이 있습니다.</p>



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



<p class="has-medium-font-size"><strong>Action-based behaviors use Actions to indirectly read input from one or more controls. </strong></p>



<p><strong>액션 기반 동작은 액션 을 사용하여 하나 이상의 컨트롤에서 입력을 간접적으로 읽습니다.</strong></p>



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



<p class="has-medium-font-size"><strong>Device-based behaviors use InputDevice.</strong></p>



<p><strong>디바이스 기반 동작에서는 Input Device를 사용합니다.</strong></p>



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



<p class="has-medium-font-size">TryGetFeatureValue to read input directly from an InputDevice from a specific control configured on the behavior itself.</p>



<p>동작 자체에 설정된 특정 컨트롤에서 입력 장치에서 직접 입력을 읽으려면 GetFeatureValue를 시도합니다.</p>



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



<p class="has-medium-font-size">It is recommended that you use the Action-based variant instead of the Device-based variant to take advantage of the benefits that the Input System package provides. </p>



<p>Input System 패키지의 이점을 활용하려면 장치 기반 동작이 아닌 액션 기반 동작을 사용하는 것이 좋습니다.</p>



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



<p class="has-medium-font-size">For example, </p>



<p>예를들면,</p>



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



<p class="has-medium-font-size">it separates the logical inputs from the physical inputs, </p>



<p>논리적 입력과 물리적 입력이 구별된다는 장점이 있으며</p>



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



<p class="has-medium-font-size">and users can create and switch between customized action maps, bind multiple cross-platform controller inputs to a single semantic action, and use event callbacks of input actions. </p>



<p>사용자가 사용자 정의한 액션 맵을 만들고 이들을 전환하거나 여러 크로스 플랫폼 컨트롤러의 입력을 단일 의미의 액션에 바인딩 하거나 입력 작업의 이벤트 콜백을 사용할 수 있습니다.&nbsp;</p>



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



<p class="has-medium-font-size">Some features of the XR Interaction Toolkit package, such as the XR Device Simulator, are only supported when using input actions.</p>



<p>XR Device Simulator와 같은 XR Interaction Toolkit 패키지의 일부 기능은 입력 작업을 사용할 때만 지원됩니다.</p>



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



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



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--80);margin-bottom:var(--wp--preset--spacing--80)"/>



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



<h2 class="wp-block-heading">XR Controller (Device-based)</h2>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-controller-device-based.html?q=Device-based" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-controller-device-based.html?q=Device-based</a></p>



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



<p class="has-medium-font-size">Interprets feature values on a tracked input controller device from the XR input subsystem into XR Interaction states, such as Select. </p>



<p>XR 입력 서브 시스템에서 XR Interaction 상태로 전송되는 선택과 같은 조치를 사용하여 추적되는 입력 컨트롤러 장치의 특성 값을 해석합니다.</p>



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



<p class="has-medium-font-size">Additionally, it applies the current Pose value of a tracked device to the transform of the GameObject.</p>



<p>또한 추적 대상 장치의 현재 포즈 값을 GameObject변환에 적용합니다.</p>



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



<p class="has-medium-font-size">It is recommended to use the action-based controller instead of this behavior.</p>



<p>이 동작 대신 Action-based 컨트롤러 를 사용하는 것이 좋습니다.</p>



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



<p class="has-medium-font-size">This behavior does not need as much initial setup as compared to the action-based controller, </p>



<p>이 동작은 Action-based 의 컨트롤러에 비해 초기설정이 훨씬 적어집니다.</p>



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



<p class="has-medium-font-size">however input processing is less customizable and XRDeviceSimulator cannot be used to drive this behavior.</p>



<p>그러나 입력 처리는 별도로 커스터마이즈 할 수 없고, XRDeviceSimulator 는 이 동작의 실행에 사용할 수 없습니다.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-987.png" alt="" class="wp-image-4753" width="700" height="700"/></figure>



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



<h2 class="wp-block-heading">XR Controller (Device-based) 속성</h2>



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



<figure class="wp-block-table is-style-regular has-medium-font-size"><table><thead><tr><th><strong>Property</strong></th><th><strong>Description</strong></th></tr></thead><tbody><tr><td><strong>Update Tracking Type</strong></td><td>The time within the frame that the controller samples tracking input.<br><br>컨트롤러가 추적 입력을 샘플링하는 프레임의 시간입니다.<br></td></tr><tr><td> Update</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Update</strong>&nbsp;to sample tracking input only during the&nbsp;<code>MonoBehaviour</code>&nbsp;<code>Update</code>&nbsp;step.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Update</strong>&nbsp;로 설정하면&nbsp;<code>MonoBehaviour</code>&nbsp;<code>Update</code>단계 사이에서만 추적 입력을 샘플링합니다.<br></td></tr><tr><td> Before Render</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Before Render</strong>&nbsp;to sample tracking input only during the step immediately before rendering.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Before Render</strong>&nbsp;로 설정하면 렌더링 직전의 단계 사이에서만 추적 입력을 샘플링합니다.<br></td></tr><tr><td> Update And Before Render</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Update And Before Render</strong>&nbsp;to sample tracking input during both of the timings within a frame above.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Update And Before Render</strong>&nbsp;로 설정하면 위의 어느 타이밍에서든 프레임 내에서 추적 입력을 샘플링합니다.<br></td></tr><tr><td><strong>Enable Input Tracking</strong></td><td>Whether input pose tracking is enabled for the controller. <br><br>대상 컨트롤러에서 입력 포즈 추적을 활성화할지 여부.<br><br>When enabled, Unity reads the current tracking pose input of the controller device each frame.<br><br>활성화되면 Unity는 프레임별로 컨트롤러 장치의 현재 추적 포즈 입력을 읽습니다.<br><br>You can disable this in order to drive the controller state manually instead of from reading current inputs, such as when playing back recorded pose inputs.<br><br>현재 입력을 읽는 대신 녹화된 포즈 입력을 재생하는 것과 같은 방법으로 컨트롤러의 상태를 수동으로 설정하려는 경우 이 옵션을 비활성화할 수 있습니다.<br></td></tr><tr><td><strong>Enable Input Actions</strong></td><td>Whether input for XR Interaction events is enabled for the controller. <br><br>대상 컨트롤러에서 XR Interaction 이벤트 입력을 활성화할지 여부<br><br>When enabled, Unity reads the current input of the controller device each frame.<br><br>활성화되면 Unity는 프레임당 컨트롤러 장치의 현재 입력을 읽습니다.<br><br>You can disable this in order to drive the controller state manually instead of from reading current inputs, such as when playing back recorded inputs.<br><br>현재 입력을 읽는 대신 기록된 입력을 재생하는 것과 같은 방법으로 수동으로 컨트롤러 상태를 설정하려는 경우 이 옵션을 비활성화할 수 있습니다.<br></td></tr><tr><td><strong>Pose Provider</strong></td><td>Pose provider used to provide tracking data separate from the&nbsp;<code>XRNode</code>.<br><br><code>XRNode</code>별도의 추적 데이터를 검색하는 데 사용되는 포즈 공급자.<br></td></tr><tr><td><strong>Controller Node</strong></td><td>The&nbsp;<code>XRNode</code>&nbsp;for this controller.<br><br>이 컨트롤러의&nbsp;<code>XRNode</code>.<br><br>Used to get the&nbsp;<code>InputDevice</code>&nbsp;when reading input from the controller, with calls such as&nbsp;<code>IsPressed</code>&nbsp;and&nbsp;<code>TryGetFeatureValue</code>.<br><br>컨트롤러에서 입력을 읽을 때&nbsp;<code>IsPressed</code>등&nbsp;<code>TryGetFeatureValue</code>을 호출하여&nbsp;<code>InputDevice</code>얻는 데 사용됩니다.<br></td></tr><tr><td><strong>Select Usage</strong></td><td>The input to use for detecting a select. Refers to input mechanisms on an XR controller. The default select usage is&nbsp;<code>Grip</code>.<br><br>선택을 감지하는 데 사용되는 입력.&nbsp;XR 컨트롤러의 입력 메커니즘을 참조합니다.&nbsp;기본 선택 방법은&nbsp;<code>Grip</code>입니다.<br></td></tr><tr><td><strong>Activate Usage</strong></td><td>The input to use for detecting activation. Refers to input mechanisms on an XR controller. The default activation usage is&nbsp;<code>Trigger</code>.<br><br>활성화를 감지하는 데 사용되는 입력.&nbsp; XR 컨트롤러의 입력 메커니즘을 참조합니다. 기본 활성화 방법은&nbsp;<code>Trigger</code>입니다.<br><br>Not to be confused with the active state of a GameObject, <br><br>GameObject의 활성 상태와 혼동하지 마십시오,<br><br>an activate event in this context refers to a contextual command action, such as toggling a flashlight on and off.<br><br>여기에서 활성화 이벤트는 게임 객체의 활성 상태와 달리 손전등 켜기/끄기 전환과 같은 컨텍스트 종속 명령 동작을 가리킵니다.<br></td></tr><tr><td><strong>UI Press Usage</strong></td><td>The input to use for detecting a UI press. Refers to input mechanisms on an XR controller. The default UI press usage is&nbsp;<code>Trigger</code>.<br><br>UI 누름을 검출하는 데 사용되는 입력.&nbsp;XR 컨트롤러의 입력 메커니즘을 참조합니다.&nbsp;기본 UI 누름 방법은&nbsp;<code>Trigger</code>.<br></td></tr><tr><td><strong>Axis To Press Threshold</strong></td><td>The amount that a user needs to press an axis in order to trigger an interaction event. <br><br>상호 작용 이벤트를 트리거하는 데 필요한 사용자가 축을 누르는 양<br><br>This value is normalized: 0 is not pressed at all, 1 is fully pressed. The default threshold is&nbsp;<code>0.1</code>.<br><br>0은 전혀 누르지 않으며 1은 완전히 누르는 것처럼 값이 정규화됩니다.&nbsp;기본 임계값은&nbsp;<code>0.1</code>입니다.<br></td></tr><tr><td><strong>Rotate Object Left</strong></td><td>The input to use to rotate an anchor to the Left (counter-clockwise). <br><br>앵커를 왼쪽으로 (반 시계 방향으로) 회전하는 데 사용되는 입력.&nbsp;<br><br>Refers to input mechanisms on an XR controller. The default is&nbsp;<code>PrimaryAxis2DLeft</code>.<br><br>XR 컨트롤러의 입력 메커니즘을 참조합니다.&nbsp;기본값은&nbsp;<code>PrimaryAxis2DLeft</code>입니다.<br></td></tr><tr><td><strong>Rotate Object Right</strong></td><td>The input to use to rotate an anchor to the Right (clockwise). <br><br>anchor를 오른쪽으로 (시계 방향으로) 회전하는 데 사용되는 입력.&nbsp;<br><br>Refers to input mechanisms on an XR controller. The default is&nbsp;<code>PrimaryAxis2DRight</code>.<br><br>XR Controller의 입력 메커니즘을 참조합니다.&nbsp;기본값은&nbsp;<code>PrimaryAxis2DRight</code>입니다.<br></td></tr><tr><td><strong>Move Object In</strong></td><td>The input that will be used to translate the anchor away from the interactor (into the screen / away from the player). <br><br>앵커를 interactor로부터 멀리(화면에 들어가서, 플레이어로부터 멀어지는 방향으로 이동한다) 하기 위해서 사용하는 입력.&nbsp;<br><br>Refers to input mechanisms on an XR Controller. The default is&nbsp;<code>PrimaryAxis2DUp</code>.<br><br>XR Controller의 입력 메커니즘을 참조합니다.&nbsp;기본값은&nbsp;<code>PrimaryAxis2DUp</code>입니다.<br></td></tr><tr><td><strong>Move Object Out</strong></td><td>The input that will be used to translate the anchor towards the interactor (out of the screen / towards the player). <br><br>앵커를 interactor쪽으로 (화면 밖으로, 플레이어를 향해) 이동하는데 사용하는 입력.&nbsp;<br><br>Refers to input mechanisms on an XR Controller. The default is&nbsp;<code>PrimaryAxis2DDown</code>.<br><br>XR Controller의 입력 메커니즘을 참조합니다.&nbsp;기본값은&nbsp;<code>PrimaryAxis2DDown</code>입니다.<br></td></tr><tr><td><strong>Directional Anchor Rotation</strong></td><td>The input to use to compute a directional angle to rotate the interactor&#8217;s attach point to match it. <br><br>인터랙터의 attach point를 회전시켜 일치시키는 방향 각도를 계산하기 위해 사용하는 입력. <br><br>Refers to input mechanisms on an XR Controller. The default is&nbsp;<code>PrimaryAxis2D</code>.<br><br>XR Controller의 입력 메커니즘을 참조합니다. 기본값은 Primary입니다.축 2D.<br></td></tr><tr><td><strong>Model Prefab</strong></td><td>The prefab of a controller model to show for this controller that this behavior automatically instantiates.<br><br>이 컨트롤러에 대해 표시되고 이 동작에 의해 자동으로 인스턴스화되는 컨트롤러 모델의 prefab.<br><br>This behavior automatically instantiates an instance of the prefab as a child of&nbsp;<code>modelParent</code>&nbsp;<br><br>이 동작은, 시작 시에 자동적으로 prefab의 instance를&nbsp;<code>modelParent</code>(아래 참조)의 자식으로서 instantiate화합니다.&nbsp;<br><br>(see below) upon startup unless&nbsp;<code>model</code>&nbsp;(see further below) is already set, in which case this value is ignored.<br><br>그러나&nbsp;<code>model</code>(아래 참조)가 이미 설정되어 있으면 이 값은 무시됩니다.<br></td></tr><tr><td><strong>Model Parent</strong></td><td>The transform that this behavior uses as the parent for the model prefab when it is instantiated.<br><br>이 동작으로 모델 프리팹이 인스턴스화될 때 부모로 사용되는 변환.<br><br>Automatically instantiated and set in&nbsp;<code>Awake</code>&nbsp;if not already set. Setting this will not automatically destroy the previous object.<br><br>자동으로 인스턴스화되고 설정되지 않은 경우&nbsp;<code>Awake</code>설정됩니다.&nbsp;이 설정은 이전 개체를 자동으로 제거하지 않습니다.<br></td></tr><tr><td><strong>Model</strong></td><td>The instance of the controller model in the scene. You can set this to an existing object instead of using&nbsp;<code>modelPrefab</code>&nbsp;(see above).<br><br>씬에 존재하는 컨트롤러 모델의 인스턴스.&nbsp;<code>modelPrefab</code>(위 참조)를 사용하는 대신 기존 개체로 설정할 수 있습니다.<br><br>If set, it should reference a child GameObject of this behavior so it will update with the controller pose.<br><br>설정하는 경우는, 이 동작의 자식 GameObject를 참조합니다.&nbsp;그러면 컨트롤러 포즈로 업데이트됩니다.<br></td></tr><tr><td><strong>Animate Model</strong></td><td>Whether to animate the model in response to interaction events. <br><br>상호작용 이벤트에 따라 모델을 애니메이션화할지 여부.&nbsp;<br><br>When enabled, activates a named animation trigger upon selecting or deselecting.<br><br>활성화되면 선택 또는 선택 취소 시 명명된 애니메이션 트리거가 활성화됩니다.<br></td></tr></tbody></table></figure>



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



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



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--80);margin-bottom:var(--wp--preset--spacing--80)"/>



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



<h2 class="wp-block-heading">XR Controller (Action-based)</h2>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-controller-action-based.html?q=action" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-controller-action-based.html?q=action</a></p>



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



<p class="has-medium-font-size">Interprets feature values on a tracked input controller device using actions from the Input System into XR Interaction states, such as Select. </p>



<p>Select 등 입력 시스템에서 XR Interaction 상태로의 액션을 사용하여 트래킹 대상 입력 컨트롤러 디바이스의 기능 값을 해석합니다.</p>



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



<p class="has-medium-font-size">Additionally, it applies the current Pose value of a tracked device to the transform of the GameObject.</p>



<p>또한 추적 대상 디바이스의 현재 Pose 값을 GameObject 변환에 적용합니다.</p>



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



<p class="has-medium-font-size">This behavior requires that the Input System is enabled in the Active Input Handling setting in Edit &gt; Project Settings &gt; Player for input values to be read. </p>



<p>이 동작에서는 입력값을 읽기 위해서, [Edit] &gt; [Project Settings] &gt; [Player]의 [Active Input Handling] 설정에서  Input System이 활성화되어 있어야 합니다. </p>



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



<p class="has-medium-font-size">Each input action must also be enabled to read the current value of the action. </p>



<p>각 입력 액션은 액션의 현재 값을 읽기 위해서도 활성화해야 합니다. </p>



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



<p class="has-medium-font-size">Externally referenced input actions in an Input Action Asset are not enabled by default.</p>



<p>Input Action Asset의 외부 참조 입력 액션은 기본적으로 활성화되어 있지 않습니다.</p>



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



<p class="has-medium-font-size">The Select Action, Activate Action, and UI Press Action properties have corresponding Select Action Value, Activate Action Value, and UI Press Action Value properties.</p>



<p>[Select Action], [ActivateAction] 및 [UIPressAction] 속성에는 해당 [SelectActionValue], [ActivateActionValue] 및 [UIPressActionValue] 속성이 있습니다.</p>



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



<p class="has-medium-font-size">The Action types of these actions are such that the former are usually Button type Actions, and the latter are optional Value type Actions. </p>



<p>이러한 액션 유형은 일반적으로 전자는 버튼 유형의 액션이고 후자는 옵션 값 유형의 액션입니다.</p>



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



<p class="has-medium-font-size">Each frame, the component will read whether the Select Action is performed to capture whether the select interaction state is active, and also capture the float value from the Select Action Value.</p>



<p>프레임마다 컴포넌트는 [Select Action]이 실행되고 있는지 여부를 읽고 선택 조작 상태가 활성화되어 있는지를 캡처합니다. 또한 [Select Action Value]에서 부동 소수점 값도 캡처합니다.</p>



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



<p class="has-medium-font-size"> If the Select Action Value is not set, the float value will be read from the Select Action instead. </p>



<p>[Select Action Value]가 설정되어 있지 않은 경우 대신 [Select Action]에서 부동 소수점 값을 읽을 수 있습니다.</p>



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



<p class="has-medium-font-size">This process is repeated for the Activate and UI Press actions.</p>



<p>이 프로세스는 [Activate] 액션과 [UIPress] 액션에 대해 반복됩니다.</p>



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



<p class="has-medium-font-size"><strong>NOTE [노트]</strong></p>



<p class="has-medium-font-size">Having two Input Actions allows you as a developer to set the binding path for the Select Action to,</p>



<p>두 개의 입력 액션을 사용하면 개발자로서 Select Action의 바인딩 경로를 다음과 같이 설정할 수 있습니다.</p>



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



<p class="has-medium-font-size">for example, {LeftHand}/gripPressed and set the binding for the Select Value Action to {LeftHand}/grip. </p>



<p>예를 들어 {LeftHand}/gripPressed에서 값 선택 작업 바인딩을 {LeftHand}/grip로 설정합니다.</p>



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



<p class="has-medium-font-size">The threshold for the control being pressed is determined by the platform for gripPressed used for Select Action, and the axis amount can be read from grip. </p>



<p>눌리는 컨트롤 임계값은 Select Action에 사용되는 grippressed 플랫폼에 의해 결정되며 축의 양을 그립에서 읽을 수 있습니다.</p>



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



<p class="has-medium-font-size">If you want to control the threshold yourself, </p>



<p>임계값을 스스로 제어하는 경우</p>



<p class="has-medium-font-size">you could consolidate both actions into a single Value type Select Action with an expected Axis control type and a binding path of grip, and add a Press Interaction where the Press Point can then be adjusted.</p>



<p>두 액션을 단일 값 유형 선택 액션으로 통합하고 예상되는 축 제어 유형과 그립 바인딩 경로를 사용하여 프레스 상호 작용을 추가하여 프레스 포인트를 조정할 수 있습니다.</p>



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



<p class="has-medium-font-size">See the Starter Assets sample for steps to import assets to streamline setup of this component. </p>



<p>자산을 가져와서 이 구성요소의 설정을 간소화하는 방법은&nbsp;<a href="https://docs.unity3d.com/ja/Packages/com.unity.xr.interaction.toolkit@2.0/manual/samples.html#starter-assets" target="_blank" rel="noreferrer noopener">Starter Assets</a>&nbsp;샘플을 참조하십시오.</p>



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



<p class="has-medium-font-size">That sample contains a default set of input actions and presets which makes configuring this component easier.</p>



<p>이 샘플에는, 이 컴퍼넌트의 설정을 돕는 입력 액션과 프리셋의 디폴트 세트가 포함되어 있습니다.</p>



<p></p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-988.png" alt="" class="wp-image-4790" width="762" height="1720" srcset="https://lycos7560.com/wp-content/uploads/image-988.png 486w, https://lycos7560.com/wp-content/uploads/image-988-133x300.png 133w" sizes="(max-width: 762px) 100vw, 762px" /></figure>



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



<h2 class="wp-block-heading">XR Controller (Action-based) 속성</h2>



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



<figure class="wp-block-table has-medium-font-size"><table><thead><tr><th>Property</th><th><strong>Description</strong></th></tr></thead><tbody><tr><td><strong>Update Tracking Type</strong></td><td>The time within the frame that the controller samples tracking input.<br><br>컨트롤러가 추적 입력을 샘플링하는 프레임의 시간입니다.</td></tr><tr><td> Update</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Update</strong>&nbsp;to sample tracking input only during the&nbsp;<code>MonoBehaviour</code>&nbsp;<code>Update</code>&nbsp;step.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Update</strong>&nbsp;로 설정하면&nbsp;<code>MonoBehaviour</code>&nbsp;<code>Update</code>단계 사이에서만 추적 입력을 샘플링합니다.</td></tr><tr><td> Before Render</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Before Render</strong>&nbsp;to sample tracking input only during the step immediately before rendering.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Before Render</strong>&nbsp;로 설정하면 렌더링 직전의 단계 사이에서만 추적 입력을 샘플링합니다.</td></tr><tr><td> Update And Before Render</td><td>Set&nbsp;<strong>Update Tracking Type</strong>&nbsp;to&nbsp;<strong>Update And Before Render</strong>&nbsp;to sample tracking input during both of the timings within a frame above.<br><br><strong>Update Tracking Type</strong>&nbsp;을&nbsp;<strong>Update And Before Render</strong>&nbsp;로 설정하면 위의 어느 타이밍에서든 프레임 내에서 추적 입력을 샘플링합니다.</td></tr><tr><td><strong>Enable Input Tracking</strong></td><td>Whether input pose tracking is enabled for the controller.<br><br>대상 컨트롤러에서 입력 포즈 추적을 활성화할지 여부.<br><br>When enabled, Unity reads the current tracking pose input of the controller device each frame.<br><br>활성화되면 Unity는 프레임별로 컨트롤러 장치의 현재 추적 포즈 입력을 읽습니다.<br><br>You can disable this in order to drive the controller state manually instead of from reading current inputs, such as when playing back recorded pose inputs.<br><br>현재 입력을 읽는 대신 녹화된 포즈 입력을 재생하는 것과 같은 방법으로 컨트롤러의 상태를 수동으로 설정하려는 경우 이 옵션을 비활성화할 수 있습니다.</td></tr><tr><td><strong>Position&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System action to use for Position Tracking for this GameObject. Must be a Vector3Control Control.<br><br>이 게임 오브젝트에 대한 위치 추적에 사용되는 입력 시스템 액션. Vector3Control 컨트롤이어야 합니다.</td></tr><tr><td><strong>Rotation&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for Rotation Tracking for this GameObject. Must be a&nbsp;QuaternionControl&nbsp;Control.<br><br>이 게임 개체의 회전 추적에 사용할 입력 시스템 액션입니다. QuaternionControl 컨트롤이어야 합니다.</td></tr><tr><td><strong>Tracking State&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to get the Tracking State when updating this GameObject position and rotation; <br><br>이 GameObject 위치 및 회전을 업데이트할 때 추적 상태를 가져오기 위한 Input System&nbsp;action. <br><br>falls back to the tracked device&#8217;s tracking state that drives the position or rotation&nbsp;action&nbsp;when not set. Must be an&nbsp;IntegerControl&nbsp;Control.<br><br>설정하지 않을 때 위치 또는 회전 동작을 구동하는 추적 장치의 추적 상태로 돌아갑니다. IntegerControl 컨트롤이어야 합니다.</td></tr><tr><td><strong>Enable Input&nbsp;Actions</strong></td><td>Whether input for XR Interaction&nbsp;events is enabled for the controller. <br><br>대상 컨트롤러에서 XR Inter액션이벤트 입력을 사용할지 여부. <br><br>When enabled, Unity reads the current input of the controller device each frame.<br><br>활성화되면 Unity는 프레임당 컨트롤러 장치의 현재 입력을 읽습니다.<br><br>You can disable this in order to drive the controller state manually instead of from reading current inputs, such as when playing back recorded inputs.<br><br>현재 입력을 읽는 대신 기록된 입력을 재생하는 것과 같은 방법으로 수동으로 컨트롤러 상태를 설정하려는 경우 이 옵션을 비활성화할 수 있습니다.</td></tr><tr><td><strong>Select&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for selecting an Interactable. <br><br>상호 작용 가능한 항목을 선택하는 데 사용할 Input System&nbsp;action 입니다. <br><br>Must be an&nbsp;action&nbsp;with a button-like interaction&nbsp;or&nbsp;ButtonControl&nbsp;Control.<br><br>버튼과 같은 상호 작용 또는 ButtonControl이 있는 동작이어야 합니다.</td></tr><tr><td><strong>Select&nbsp;Action&nbsp;Value</strong></td><td>Optional, uses&nbsp;Select&nbsp;Action&nbsp;when not set.<br><br>선택사항 &#8211; 설정하지 않은 경우 [Select&nbsp;Action]을 사용합니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System action to read the float value of Select Action, if different. Must be an AxisControl or Vector2Control Control.<br><br>[Select Action]의 부동 소수점 값을 읽는 입력 시스템 액션(다른 경우). Axis Control 또는 Vector 2 Control Control이 필요합니다.</td></tr><tr><td><strong>Activate&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for activating a selected Interactable.<br><br>상호작용 형식의 활성화에 사용하는 Input System&nbsp;action.<br><br>Must be an&nbsp;action&nbsp;with a button-like interaction&nbsp;or&nbsp;ButtonControl&nbsp;Control.<br><br>버튼과 같은 상호작용 또는 버튼 제어 제어를 사용하는 액션이어야 합니다.</td></tr><tr><td><strong>Activate&nbsp;Action&nbsp;Value</strong></td><td>Optional, uses&nbsp;Activate&nbsp;Action&nbsp;when not set.<br><br>선택사항, 설정하지 않은 경우 Activate Action을 사용합니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to read the&nbsp;float&nbsp;value of Activate&nbsp;Action, if different.<br><br>다른 경우 Activate 액션값&nbsp;float을 읽는 입력 시스템 작업.&nbsp;<br><br>Must be an&nbsp;AxisControl&nbsp;or&nbsp;Vector2Control&nbsp;Control.<br><br>AxisControl또는&nbsp;Vector2Control컨트롤이어야 합니다.</td></tr><tr><td><strong>UI Press&nbsp;Action</strong></td><td>Optional, used by XR Ray Interactor when Enable Interaction&nbsp;with UI GameObjects is enabled.<br><br>선택 사항. UI GameObjects와의 상호 작용 사용이 활성화된 경우 XR Ray Interactor에서 사용됩니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for Canvas UI interaction. <br><br>Canvas UI 상호 작용에 사용할 입력 시스템 작업.<br><br>Must be an&nbsp;action&nbsp;with a button-like interaction&nbsp;or&nbsp;ButtonControl&nbsp;Control.<br><br>버튼과 같은 상호작용이나 ButtonControl컨트롤이 있는 동작이어야 합니다.</td></tr><tr><td><strong>UI Press&nbsp;Action&nbsp;Value</strong></td><td>Optional, uses&nbsp;UI Press&nbsp;Action&nbsp;when not set.<br><br>선택 사항, 설정하지 않은 경우 UI Press Action을 사용합니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to read the&nbsp;float&nbsp;value of UI Press&nbsp;Action, if different. <br><br>다른 경우에는 UI Press&nbsp;Action 값&nbsp;float을 읽는 입력 시스템 작업.&nbsp;<br><br>Must be an&nbsp;AxisControl&nbsp;or&nbsp;Vector2Control&nbsp;Control.<br><br>AxisControl 또는 Vector2Control컨트롤이어야 합니다.</td></tr><tr><td><strong>Haptic Device&nbsp;Action</strong></td><td></td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for identifying the device to send haptic impulses to.<br><br>haptic impulses를 보내는 장치를 식별하는 데 사용되는 Input System&nbsp;action.&nbsp;<br><br>Can be any control type that will have an active control driving the&nbsp;action.<br><br>액션을 추진하는 활성 컨트롤과 관련된 모든 컨트롤 유형.</td></tr><tr><td><strong>Rotate Anchor&nbsp;Action</strong></td><td>Optional, used by XR Ray Interactor when Anchor Control is enabled and Rotation Mode is set to Rotate Over Time.<br><br>선택 사항. Anchor Control가 활성화되고Rotation Mode가 시간 경과에 따라 회전으로 설정된 경우 XR Ray Interactor에서 사용됩니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for rotating the interactor&#8217;s attach point over time.<br><br>interactor&#8217;s attach 을 회전하는 데 사용되는 Input System&nbsp;action.&nbsp;<br><br>Must be a&nbsp;Vector2Control&nbsp;Control. Uses the x-axis as the rotation input.<br><br>Vector2Control컨트롤이어야 합니다.&nbsp;회전 입력으로 X축을 사용합니다.</td></tr><tr><td><strong>Directional Anchor Rotation&nbsp;Action</strong></td><td>Optional, used by XR Ray Interactor when Anchor Control is enabled and Rotation Mode is set to Match Direction.<br><br>선택 사항. Anchor Control가 활성화되고 Rotation Mode가 방향 일치로 설정된 경우 XR Ray Interactor에서 사용됩니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System action to use for computing a direction angle to rotate the interactor&#8217;s attach point to match it.<br><br>interactor&#8217;s attach point를 회전시켜 그에 일치시키는 방향 각도 계산에 사용하는 Input System action.<br><br>Must be a&nbsp;Vector2Control&nbsp;Control.<br><br>Vector2ControlControl이어야 합니다.<br><br>The direction angle is computed as the arctangent function of x/y.<br><br>방향 각도는 x/y의 arctangent 함수로 계산됩니다.<br></td></tr><tr><td><strong><strong>Translate Anchor&nbsp;Action</strong></strong></td><td>Optional, used by XR Ray Interactor when Anchor Control is enabled.<br><br>선택적으로 Anchor Control이 활성화되면 XR Ray Interactor에서 사용됩니다.</td></tr><tr><td> Use Reference</td><td>Enable to reference an&nbsp;action&nbsp;externally defined using the accompanying field.<br><br>함께 제공되는 필드를 사용하여 외부적으로 정의된 동작을 참조할 수 있습니다.</td></tr><tr><td> Reference</td><td>The Input System&nbsp;action&nbsp;to use for translating the interactor&#8217;s attach point closer or further away from the interactor. <br><br>인터랙터의 attach point를 인터랙터에 접근하거나 반대로 멀리하는 데 사용되는 입력 시스템 액션입니다.<br><br>Must be a&nbsp;<code>Vector2Control</code>&nbsp;Control. Uses the y-axis as the translation input.<br><br><code>Vector2Control</code>컨트롤이어야 합니다.&nbsp;이동 입력으로 Y 축을 사용합니다.<br></td></tr><tr><td><strong>Model Prefab</strong></td><td>The prefab of a controller model to show for this controller that this behavior automatically instantiates.<br><br>이 컨트롤러에 대해 표시되고 이 동작에 의해 자동으로 인스턴스화되는 컨트롤러 모델의 prefab.<br><br>This behavior automatically instantiates an instance of the prefab as a child of&nbsp;<code>modelParent</code>&nbsp;<br><br>이 동작은, 시작 시에 자동적으로 prefab의 instance를&nbsp;<code>modelParent</code>(아래 참조)의 자식으로서 instantiate화합니다.&nbsp;<br><br>(see below) upon startup unless&nbsp;<code>model</code>&nbsp;(see further below) is already set, in which case this value is ignored.<br><br>그러나&nbsp;<code>model</code>(아래 참조)가 이미 설정되어 있으면 이 값은 무시됩니다.</td></tr><tr><td><strong>Model Parent</strong></td><td>The transform that this behavior uses as the parent for the model prefab when it is instantiated.<br><br>이 동작으로 모델 프리팹이 인스턴스화될 때 부모로 사용되는 변환.<br><br>Automatically instantiated and set in&nbsp;<code>Awake</code>&nbsp;if not already set. Setting this will not automatically destroy the previous object.<br><br>자동으로 인스턴스화되고 설정되지 않은 경우&nbsp;<code>Awake</code>설정됩니다.&nbsp;이 설정은 이전 개체를 자동으로 제거하지 않습니다.</td></tr><tr><td><strong>Model</strong></td><td>The instance of the controller model in the scene. You can set this to an existing object instead of using&nbsp;<code>modelPrefab</code>&nbsp;(see above).<br><br>씬에 존재하는 컨트롤러 모델의 인스턴스.&nbsp;<code>modelPrefab</code>(위 참조)를 사용하는 대신 기존 개체로 설정할 수 있습니다.<br><br>If set, it should reference a child GameObject of this behavior so it will update with the controller pose.<br><br>설정하는 경우는, 이 동작의 자식 GameObject를 참조합니다.&nbsp;그러면 컨트롤러 포즈로 업데이트됩니다.</td></tr><tr><td><strong>Animate Model</strong></td><td>Whether to animate the model in response to interaction events.<br><br>상호작용 이벤트에 따라 모델을 애니메이션화할지 여부.&nbsp;<br><br>When enabled, activates a named animation trigger upon selecting or deselecting.<br><br>활성화되면 선택 또는 선택 취소 시 명명된 애니메이션 트리거가 활성화됩니다.</td></tr></tbody></table></figure>



<div style="height:100px" 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></p>
<p>The post <a href="https://lycos7560.com/unity/unity-vr/action-based-vs-device-based-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4745/">Action-based vs Device-based 정리 (XR Interaction Toolkit)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-vr/action-based-vs-device-based-%ec%a0%95%eb%a6%ac-xr-interaction-toolkit/4745/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Unity / Oculus Quest 연결 (XR Plugin Management, XR Interaction Toolkit)</title>
		<link>https://lycos7560.com/unity/unity-oculus-quest-connect-xr-plugin-management/4639/</link>
					<comments>https://lycos7560.com/unity/unity-oculus-quest-connect-xr-plugin-management/4639/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 16 Jan 2023 20:25:04 +0000</pubDate>
				<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity-VR]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest VR]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Oculus Quest]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[Quest2]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[Unity VR]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[XR]]></category>
		<category><![CDATA[XR interaction toolkit]]></category>
		<category><![CDATA[XR InteractionLayerMask Update Required]]></category>
		<category><![CDATA[XR plugin]]></category>
		<category><![CDATA[XR Plugin Management]]></category>
		<category><![CDATA[가상현실]]></category>
		<category><![CDATA[경고]]></category>
		<category><![CDATA[유니티]]></category>
		<category><![CDATA[테스트]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=4639</guid>

					<description><![CDATA[<p>'XR Plugin Management'을 이용하여 'Unity'와 'Oculus Quest' 연결하는 과정을 기록한 글입니다. (This article records the process of connecting 'Unity' and 'Oculus Quest' using 'XR Plugin Management'.)</p>
<p>The post <a href="https://lycos7560.com/unity/unity-oculus-quest-connect-xr-plugin-management/4639/">Unity / Oculus Quest 연결 (XR Plugin Management, XR Interaction Toolkit)</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:76px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Unity Version</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Unity Version : 2021.3.5f1
</pre>



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



<figure class="wp-block-image size-full"><img decoding="async" width="737" height="236" src="https://lycos7560.com/wp-content/uploads/image-983.png" alt="" class="wp-image-4720" srcset="https://lycos7560.com/wp-content/uploads/image-983.png 737w, https://lycos7560.com/wp-content/uploads/image-983-300x96.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="739" height="152" src="https://lycos7560.com/wp-content/uploads/image-984.png" alt="" class="wp-image-4721" srcset="https://lycos7560.com/wp-content/uploads/image-984.png 739w, https://lycos7560.com/wp-content/uploads/image-984-300x62.png 300w" sizes="(max-width: 739px) 100vw, 739px" /></figure>



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



<p class="has-medium-font-size">준비물 </p>



<p class="has-medium-font-size">데스크탑 or 노트북 / Occulus Quest / Link 케이블이나 동급의 고품질 USB 3 케이블</p>



<p><a href="https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/installation.html" target="_blank" rel="noreferrer noopener">https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/installation.html</a> &lt;- 참고</p>



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



<h2 class="wp-block-heading">유니티 셋팅 (데스크탑 or 노트북)</h2>



<p class="has-medium-font-size">VR template 으로 프로젝트 만들기</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1149" height="912" src="https://lycos7560.com/wp-content/uploads/image-951.png" alt="" class="wp-image-4642" srcset="https://lycos7560.com/wp-content/uploads/image-951.png 1149w, https://lycos7560.com/wp-content/uploads/image-951-300x238.png 300w, https://lycos7560.com/wp-content/uploads/image-951-768x610.png 768w" sizes="(max-width: 1149px) 100vw, 1149px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1615" height="941" src="https://lycos7560.com/wp-content/uploads/image-952.png" alt="" class="wp-image-4645" srcset="https://lycos7560.com/wp-content/uploads/image-952.png 1615w, https://lycos7560.com/wp-content/uploads/image-952-300x175.png 300w, https://lycos7560.com/wp-content/uploads/image-952-768x447.png 768w, https://lycos7560.com/wp-content/uploads/image-952-1536x895.png 1536w" sizes="(max-width: 1615px) 100vw, 1615px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1670" height="941" src="https://lycos7560.com/wp-content/uploads/image-953.png" alt="" class="wp-image-4646" srcset="https://lycos7560.com/wp-content/uploads/image-953.png 1670w, https://lycos7560.com/wp-content/uploads/image-953-300x169.png 300w, https://lycos7560.com/wp-content/uploads/image-953-768x433.png 768w, https://lycos7560.com/wp-content/uploads/image-953-1536x865.png 1536w" sizes="(max-width: 1670px) 100vw, 1670px" /></figure>



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



<p class="has-medium-font-size">xr interaction toolkit 다운 받기</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">com.unity.xr.interaction.toolkit</pre>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1688" height="941" src="https://lycos7560.com/wp-content/uploads/image-954.png" alt="" class="wp-image-4647" srcset="https://lycos7560.com/wp-content/uploads/image-954.png 1688w, https://lycos7560.com/wp-content/uploads/image-954-300x167.png 300w, https://lycos7560.com/wp-content/uploads/image-954-768x428.png 768w, https://lycos7560.com/wp-content/uploads/image-954-1536x856.png 1536w" sizes="(max-width: 1688px) 100vw, 1688px" /></figure>



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



<p class="has-medium-font-size">경고 문구가 나오면 NO Thanks (처음 설치) </p>



<p class="has-medium-font-size">이유는 하단부의 글 참고</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-958.png" alt="" class="wp-image-4652" width="618" height="491" srcset="https://lycos7560.com/wp-content/uploads/image-958.png 390w, https://lycos7560.com/wp-content/uploads/image-958-300x238.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></figure>



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



<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="C8wVfrhdTs"><a href="https://lycos7560.com/?p=4648">XR InteractionLayerMask Update Required</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;XR InteractionLayerMask Update Required&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/?p=4648&#038;embed=true#?secret=VNQBRBPAGa#?secret=C8wVfrhdTs" data-secret="C8wVfrhdTs" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



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



<p class="has-medium-font-size">XR Interaction Toolkit 설치 확인</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1674" height="686" src="https://lycos7560.com/wp-content/uploads/image-961.png" alt="" class="wp-image-4666" srcset="https://lycos7560.com/wp-content/uploads/image-961.png 1674w, https://lycos7560.com/wp-content/uploads/image-961-300x123.png 300w, https://lycos7560.com/wp-content/uploads/image-961-768x315.png 768w, https://lycos7560.com/wp-content/uploads/image-961-1536x629.png 1536w" sizes="(max-width: 1674px) 100vw, 1674px" /></figure>



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



<p class="has-medium-font-size">XR Plugin Management 업데이트</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1702" height="1110" src="https://lycos7560.com/wp-content/uploads/image-962.png" alt="" class="wp-image-4676" srcset="https://lycos7560.com/wp-content/uploads/image-962.png 1702w, https://lycos7560.com/wp-content/uploads/image-962-300x196.png 300w, https://lycos7560.com/wp-content/uploads/image-962-768x501.png 768w, https://lycos7560.com/wp-content/uploads/image-962-1536x1002.png 1536w" sizes="(max-width: 1702px) 100vw, 1702px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1615" height="614" src="https://lycos7560.com/wp-content/uploads/image-963.png" alt="" class="wp-image-4678" srcset="https://lycos7560.com/wp-content/uploads/image-963.png 1615w, https://lycos7560.com/wp-content/uploads/image-963-300x114.png 300w, https://lycos7560.com/wp-content/uploads/image-963-768x292.png 768w, https://lycos7560.com/wp-content/uploads/image-963-1536x584.png 1536w" sizes="(max-width: 1615px) 100vw, 1615px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="677" height="788" src="https://lycos7560.com/wp-content/uploads/image-964.png" alt="" class="wp-image-4680" srcset="https://lycos7560.com/wp-content/uploads/image-964.png 677w, https://lycos7560.com/wp-content/uploads/image-964-258x300.png 258w" sizes="(max-width: 677px) 100vw, 677px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1187" height="799" src="https://lycos7560.com/wp-content/uploads/image-965.png" alt="" class="wp-image-4681" srcset="https://lycos7560.com/wp-content/uploads/image-965.png 1187w, https://lycos7560.com/wp-content/uploads/image-965-300x202.png 300w, https://lycos7560.com/wp-content/uploads/image-965-768x517.png 768w" sizes="(max-width: 1187px) 100vw, 1187px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="960" height="557" src="https://lycos7560.com/wp-content/uploads/image-966.png" alt="" class="wp-image-4682" srcset="https://lycos7560.com/wp-content/uploads/image-966.png 960w, https://lycos7560.com/wp-content/uploads/image-966-300x174.png 300w, https://lycos7560.com/wp-content/uploads/image-966-768x446.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="957" height="558" src="https://lycos7560.com/wp-content/uploads/image-967.png" alt="" class="wp-image-4683" srcset="https://lycos7560.com/wp-content/uploads/image-967.png 957w, https://lycos7560.com/wp-content/uploads/image-967-300x175.png 300w, https://lycos7560.com/wp-content/uploads/image-967-768x448.png 768w" sizes="(max-width: 957px) 100vw, 957px" /></figure>



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



<p class="has-medium-font-size">새로운 Scene (테스트용) 만들기</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1616" height="957" src="https://lycos7560.com/wp-content/uploads/image-968.png" alt="" class="wp-image-4686" srcset="https://lycos7560.com/wp-content/uploads/image-968.png 1616w, https://lycos7560.com/wp-content/uploads/image-968-300x178.png 300w, https://lycos7560.com/wp-content/uploads/image-968-768x455.png 768w, https://lycos7560.com/wp-content/uploads/image-968-1536x910.png 1536w" sizes="(max-width: 1616px) 100vw, 1616px" /></figure>



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



<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="7bgyDRzeoj"><a href="https://lycos7560.com/?p=4745">Action-based vs Device-based 정리 (XR Interaction Toolkit)</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Action-based vs Device-based 정리 (XR Interaction Toolkit)&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/?p=4745&#038;embed=true#?secret=qFPxw37heO#?secret=7bgyDRzeoj" data-secret="7bgyDRzeoj" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1356" height="907" src="https://lycos7560.com/wp-content/uploads/image-969.png" alt="" class="wp-image-4688" srcset="https://lycos7560.com/wp-content/uploads/image-969.png 1356w, https://lycos7560.com/wp-content/uploads/image-969-300x201.png 300w, https://lycos7560.com/wp-content/uploads/image-969-768x514.png 768w" sizes="(max-width: 1356px) 100vw, 1356px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1359" height="883" src="https://lycos7560.com/wp-content/uploads/image-970.png" alt="" class="wp-image-4689" srcset="https://lycos7560.com/wp-content/uploads/image-970.png 1359w, https://lycos7560.com/wp-content/uploads/image-970-300x195.png 300w, https://lycos7560.com/wp-content/uploads/image-970-768x499.png 768w" sizes="(max-width: 1359px) 100vw, 1359px" /></figure>



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



<p class="has-medium-font-size">위치 0 0 0 으로 리셋</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1123" height="623" src="https://lycos7560.com/wp-content/uploads/image-971.png" alt="" class="wp-image-4690" srcset="https://lycos7560.com/wp-content/uploads/image-971.png 1123w, https://lycos7560.com/wp-content/uploads/image-971-300x166.png 300w, https://lycos7560.com/wp-content/uploads/image-971-768x426.png 768w" sizes="(max-width: 1123px) 100vw, 1123px" /></figure>



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



<p class="has-medium-font-size">바닥 기반으로 변경 Floor</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/image-972.png" alt="" class="wp-image-4692" width="1130" height="677" srcset="https://lycos7560.com/wp-content/uploads/image-972.png 813w, https://lycos7560.com/wp-content/uploads/image-972-300x180.png 300w, https://lycos7560.com/wp-content/uploads/image-972-768x460.png 768w" sizes="(max-width: 1130px) 100vw, 1130px" /></figure>



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



<p class="has-medium-font-size">테스트 용으로 오브젝트 배치</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1916" height="906" src="https://lycos7560.com/wp-content/uploads/image-978.png" alt="" class="wp-image-4705" srcset="https://lycos7560.com/wp-content/uploads/image-978.png 1916w, https://lycos7560.com/wp-content/uploads/image-978-300x142.png 300w, https://lycos7560.com/wp-content/uploads/image-978-768x363.png 768w, https://lycos7560.com/wp-content/uploads/image-978-1536x726.png 1536w" sizes="(max-width: 1916px) 100vw, 1916px" /></figure>



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



<h2 class="wp-block-heading">Oculus 앱 설치 (데스크탑)</h2>



<p><a href="https://www.meta.com/kr/quest/setup/?utm_source=www.meta.com&amp;utm_medium=dollyredirect" target="_blank" rel="noreferrer noopener">https://www.meta.com/kr/quest/setup/?utm_source=www.meta.com&amp;utm_medium=do</a><a href="https://www.meta.com/kr/quest/setup/?utm_source=www.meta.com&amp;utm_medium=dollyredirect">llyredirect</a> &lt;- 다운로드 주소</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1369" height="975" src="https://lycos7560.com/wp-content/uploads/image-974.png" alt="" class="wp-image-4696" srcset="https://lycos7560.com/wp-content/uploads/image-974.png 1369w, https://lycos7560.com/wp-content/uploads/image-974-300x214.png 300w, https://lycos7560.com/wp-content/uploads/image-974-768x547.png 768w" sizes="(max-width: 1369px) 100vw, 1369px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1425" height="921" src="https://lycos7560.com/wp-content/uploads/image-976.png" alt="" class="wp-image-4698" srcset="https://lycos7560.com/wp-content/uploads/image-976.png 1425w, https://lycos7560.com/wp-content/uploads/image-976-300x194.png 300w, https://lycos7560.com/wp-content/uploads/image-976-768x496.png 768w" sizes="(max-width: 1425px) 100vw, 1425px" /></figure>



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



<p class="has-medium-font-size">아이디 및 기기 등록하고 연결 활성화 </p>



<p class="has-medium-font-size">USB 3 연결 권장됨 표시는 무시해도 상관없다. (정품 케이블인데&#8230;)</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1434" height="935" src="https://lycos7560.com/wp-content/uploads/image-977.png" alt="" class="wp-image-4699" srcset="https://lycos7560.com/wp-content/uploads/image-977.png 1434w, https://lycos7560.com/wp-content/uploads/image-977-300x196.png 300w, https://lycos7560.com/wp-content/uploads/image-977-768x501.png 768w" sizes="(max-width: 1434px) 100vw, 1434px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1424" height="1020" src="https://lycos7560.com/wp-content/uploads/image-979.png" alt="" class="wp-image-4710" srcset="https://lycos7560.com/wp-content/uploads/image-979.png 1424w, https://lycos7560.com/wp-content/uploads/image-979-300x215.png 300w, https://lycos7560.com/wp-content/uploads/image-979-768x550.png 768w" sizes="(max-width: 1424px) 100vw, 1424px" /></figure>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1430" height="774" src="https://lycos7560.com/wp-content/uploads/image-980.png" alt="" class="wp-image-4711" srcset="https://lycos7560.com/wp-content/uploads/image-980.png 1430w, https://lycos7560.com/wp-content/uploads/image-980-300x162.png 300w, https://lycos7560.com/wp-content/uploads/image-980-768x416.png 768w" sizes="(max-width: 1430px) 100vw, 1430px" /></figure>



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



<h2 class="wp-block-heading">테스트!!! (순서 중요)</h2>



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



<p class="has-medium-font-size">1. Oculus PC 앱 열기</p>



<p class="has-medium-font-size">2. 헤드셋 연결</p>



<p class="has-medium-font-size">3. Unity 프로젝트 열기</p>



<p class="has-medium-font-size">(순서대로 안하면 XR plugin이 오류를 뿜뿜한다. 이유는 모름 ㅋㅁㅋ)</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--80);margin-bottom:var(--wp--preset--spacing--80)"/>



<h2 class="wp-block-heading">Oculus Link 연결 (Oculus Quest 화면)</h2>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://lycos7560.com/wp-content/uploads/OculusScreenshot1673899237.jpeg" alt="" class="wp-image-4713" width="1000" height="1000" srcset="https://lycos7560.com/wp-content/uploads/OculusScreenshot1673899237.jpeg 1536w, https://lycos7560.com/wp-content/uploads/OculusScreenshot1673899237-300x300.jpeg 300w, https://lycos7560.com/wp-content/uploads/OculusScreenshot1673899237-150x150.jpeg 150w, https://lycos7560.com/wp-content/uploads/OculusScreenshot1673899237-768x768.jpeg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



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



<h2 class="wp-block-heading">Unity 화면 (데스크탑 화면)</h2>



<p class="has-medium-font-size">플레이!!!</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1904" height="1049" src="https://lycos7560.com/wp-content/uploads/image-982.png" alt="" class="wp-image-4715" srcset="https://lycos7560.com/wp-content/uploads/image-982.png 1904w, https://lycos7560.com/wp-content/uploads/image-982-300x165.png 300w, https://lycos7560.com/wp-content/uploads/image-982-768x423.png 768w, https://lycos7560.com/wp-content/uploads/image-982-1536x846.png 1536w" sizes="(max-width: 1904px) 100vw, 1904px" /></figure>



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



<figure class="wp-block-video"><video height="1104" style="aspect-ratio: 1912 / 1104;" width="1912" controls poster="https://lycos7560.com/wp-content/uploads/image-982.png" src="https://lycos7560.com/wp-content/uploads/녹화_2023_01_17_05_07_48_958.mp4"></video></figure>



<div style="height:48px" 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-oculus-quest-connect-xr-plugin-management/4639/">Unity / Oculus Quest 연결 (XR Plugin Management, XR Interaction Toolkit)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/unity/unity-oculus-quest-connect-xr-plugin-management/4639/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://lycos7560.com/wp-content/uploads/녹화_2023_01_17_05_07_48_958.mp4" length="5071712" type="video/mp4" />

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