Active State - 2024-Adoor/practice GitHub Wiki
์ธํฐ๋์ SDK์ ๊ฐ๋ Active State์ ๋ํ ์ ๋ฆฌ.
NOTE
๊ณต์ ๋ฌธ์ ๋ฒ์ญ
Active State ๊ฐ์
๐ ์ด ๋ถ๋ถ์ Active State Overview๋ฅผ ๋ฐํ์ผ๋ก ํฉ๋๋ค.
๋น์ ์ ์์ด ํ๋ธ๋ฅผ ์ก๊ณ ์๋์ง ๋๋ ์ปจํธ๋กค๋ฌ๊ฐ ํ์ฑํ๋์ด ์๋์ง ์๊ณ ์ถ๋ค๊ณ ์์ํด๋ณด์ญ์์ค. Active State ์ปดํฌ๋ํธ๋ ์ด๋ฌํ ์ผ์ด ์ผ์ด๋๋ฉด ์๋ ค์ค๋๋ค. Active State ์ปดํฌ๋๋ GameObject๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ๊ด์ฐฐํ๊ณ ๊ท์น ์งํฉ์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํด์ํ๊ณ true ๋๋ false๋ฅผ ๋ฐํํฉ๋๋ค. Active State ์ปดํฌ๋ํธ๋ ์์ ์ด ๊ฐ์ง ๋ด๋ถ ๋ ผ๋ฆฌ๋ Active State ์ปดํฌ๋ํธ์ ์์ฑ์ ์ ์๋ ๊ท์น์ ์ฌ์ฉํ์ฌ ์ต์ข ๊ฐ์ ๊ฒฐ์ ํ ๊ฒ์ ๋๋ค. ์ฌ๋ฌ Active State๋ฅผ ์ฐ๊ฒฐํจ์ผ๋ก์ ์ํธ ์์ฉ ๊ฐ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ํฌ์ฆ๋ฅผ ๊ฐ์งํ๊ณ , ํ์ํ์ง ์์ ๊ฒฝ์ฐ ์ํธ ์์ฉ์ ๋นํ์ฑํํ ์ ์์ต๋๋ค. Active State๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด Use Active State๋ฅผ ์ฐธ๊ณ ํ์ธ์. ์ฌ์ ๊ตฌ์ถ๋ ์ฌ์์ ์ปค์คํ ํฌ์ฆ๋ฅผ ๊ฐ์งํ๋ Active State๋ฅผ ๋ณด๋ ค๋ฉด DebugGesture feature scene๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๊ด๋ จ ์ฃผ์
- Active State๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด Use Active State๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- Active State๋ฅผ ์ฌ์ฉํ์ฌ ์ปค์คํ ์ ํฌ์ฆ๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด Build a Custom Hand Pose๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Active State ์ฌ์ฉํ๊ธฐ
๐ ์ด ๋ถ๋ถ์ Use Active State๋ฅผ ๋ฐํ์ผ๋ก ํฉ๋๋ค.
์ด ํํ ๋ฆฌ์ผ์์๋ ๋ ๊ฐ์ง ์๋๋ฆฌ์ค์์ Active State๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค. ์๋๋ฆฌ์ค๋ ์์๋๋ก ์๋ฃํด๋ ๊ฒ์ด ์ข์ต๋๋ค. Active State๋ ์ปดํฌ๋ํธ์ ํ๋กํผํฐ๋ฅผ ๊ด์ฐฐํ๊ณ ํด์ํ์ฌ ๋ถ๋ฆฌ์ธ์ผ๋ก ๋ ธ์ถํฉ๋๋ค. ์์ด๋ ์ปจํธ๋กค๋ฌ, GameObject, ์ธํฐ๋ํฐ์ ๊ฐ์ ์์๋ค์ Active State๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์๋๋ฆฌ์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ ์์์ ์ํ ํ์ธํ๊ธฐ
์ด๋ค ์์์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด, ๊ทธ์ ์์ํ๋ ...Active State ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ์ธ์. ์๋ฅผ ๋ค์ด ์์ HandActiveState๋ฅผ ์ฌ์ฉํ๊ณ , GameObject๋ GameObjectActiveState๋ฅผ ์ฌ์ฉํฉ๋๋ค. class_oculus_interaction_game_object_active_state), ์ธํฐ๋ํฐ๋ InteractorActiveState๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์์๋ ์ผ์์ ๋ํด ์ก๊ธฐ ์ธํฐ๋ํฐ์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
- HandGrabExamples ์ฌ์ ์ฝ๋๋ค.
- Hierarchy์์, ํ์ฑ ์ํ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ํด์ค Cube GameObject๋ฅผ ๋ง๋๋ค.
- ํ๋ธ๋ฅผ ์ฌ์ ์ก์ ์ ์๋ ์ค๋ธ์ ํธ์ ์ํธ ์์ฉํ๋ ๋์ค์ ๋ณผ ์ ์๋ ์๋ฌด ๋ฐ๋ก ์์น์ํต๋๋ค.
- Hierarchy์์ Cube๋ฅผ ์ ํํฉ๋๋ค.
- Inspector์์ Grab ์ธํฐ๋ํฐ์ ์ํ๋ฅผ ์ถ์ ํ๋ Interactor Active State ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํด๋น ์ปดํฌ๋ํธ์์ Interactor ํ๋กํผํฐ๋ฅผ OVRCameraRig > OVRInteraction > OVRHands > LeftHand > HandInteractorsLeft > HandGrabInteractor๋ก ์ค์ ํฉ๋๋ค.
- ์ด ํํ ๋ฆฌ์ผ์์๋ ์์ด ์ก๋ ์๊ธฐ์ ๊ฐ์ง๋ง ํ์ํ ๊ฒ์ด๋ฏ๋ก Property ํ๋กํผํฐ๋ฅผ Is Selecting์ผ๋ก ์ค์ ํฉ๋๋ค.
- ํ์ฑ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ์์ ์ ํ์ธํ ์ ์๋๋ก Active State Debug Visual ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํด๋น ์ปดํฌ๋ํธ์์ Active State์ Target ํ๋กํผํฐ๋ฅผ Cube GameObject๋ก ์ค์ ํฉ๋๋ค.
- ๋น๋ํ๊ณ ์ฌ์ ์คํํฉ๋๋ค. ์ฌ์ ์๋ฌด ์์ดํ ์ ์ก์๋ณด๋ฉด ์ผ์์ด active state๋ฅผ ํ์ฑํ์์ผ ํ๋ธ๊ฐ ๋ น์์ผ๋ก ๋น๋๊ฒ ํฉ๋๋ค.
์ฌ๋ฌ ์์์ ์ํ ํ์ธํ๊ธฐ
์ด ์๋๋ฆฌ์ค์์๋ ์ผ์๋ฟ๋ง ์๋๋ผ ์์์ active state๋ฅผ ํ์ธํ์ฌ ์ด์ ์๋๋ฆฌ์ค์ ์ถ๊ฐํฉ๋๋ค. ์์ ๊ทธ๋ฃน์ ์ํ๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ Active State Group ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. Active State Group์์๋ ๊ฐ๋ณ ์์๊ฐ ํ๊ฐ๋ ๋ค์ ๋ถ๋ฆฌ์ธ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ฃน์ด ํ๊ฐ๋์ด true ๋๋ false์ธ ์ต์ข ๊ฐ์ ๋ฐํํฉ๋๋ค.
- ์ด์ ์๋๋ฆฌ์ค์์ ์์ ๋ HandGrabExamples ์ฌ์ ์ฝ๋๋ค.
- Hierarchy์์ Cube๋ฅผ ์ ํํฉ๋๋ค.
- Inspector์์ ๋ ๋ฒ์งธ Interactor Active State ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํด๋น ์ปดํฌ๋ํธ์์ Interactor ํ๋กํผํฐ๋ฅผ OVRCameraRig > OVRInteraction > OVRHands > RightHand > HandInteractorsRight > HandGrabInteractor๋ก ์ค์ ํฉ๋๋ค.
- ์์ด ์ก๋ ์์ ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด Property ํ๋กํผํฐ๋ฅผ Is Selecting์ผ๋ก ์ค์ ํ์ธ์.
- Active State Group ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํด๋น ์ปดํฌ๋ํธ์์ Active States ๋ฆฌ์คํธ์ ์์ ๋ ๊ฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ์์๋ฅผ ๋ ๊ฐ์ ๊ฐ Interactor Active State ์ปดํฌ๋ํธ๋ก ์ค์ ํฉ๋๋ค.
- ์์ ๋ชจ๋ Active State๋ฅผ ํ์ฑํ์ํฌ ์ ์๋๋ก Logic Operator ํ๋กํผํฐ๋ฅผ OR๋ก ์ค์ ํฉ๋๋ค.
- Active State Debug Visual ์ปดํฌ๋์์ Active State ํ๋กํผํฐ๋ฅผ Active State Group ์ปดํฌ๋ํธ๋ก ์ค์ ํฉ๋๋ค. ์ด๋ก ์ธํด ํ๋ธ๋ Active State Group์ ์ต์ข ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํ์ํ๊ฒ ๋ฉ๋๋ค.
- ๋น๋ํ๊ณ ์ฌ์ ์คํํฉ๋๋ค. ํ ์์ด๋ ์์์ผ๋ก ์ฌ์ ์๋ฌด ์์ดํ ์ ์ก์๋ณด๋ฉด ์์ด active state๋ฅผ ํ์ฑํ์์ผ ํ๋ธ๊ฐ ๋ น์์ผ๋ก ๋น๋๊ฒ ํฉ๋๋ค.
๊ด๋ จ ์ฃผ์
- active state์ ๊ฐ๋ ์ ๋ํด ์์๋ณด๋ ค๋ฉด Active State Overview๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- ์ด๋ป๊ฒ ํฌ์ฆ๊ฐ ๊ฐ์ง๋๋ ์ง ์ดํดํ๋ ค๋ฉด Hand Pose Detection๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- ์ปค์คํ ์ ํฌ์ฆ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด Build a Custom Hand Pose๋ฅผ ์ฐธ๊ณ ํ์ธ์.