Scene API - 2024-Adoor/practice GitHub Wiki
์ฃผ์ ๊ฐ๋
Scene Model - ์ฌ์ฉ์์ ๊ณต๊ฐ ๋ชจ๋ธ Scene Anchors - ๊ณต๊ฐ์ ์๋ ๋ฌผ์ฒด(๋ฒฝ, ์ฒ์ฅ, ๊ฐ๊ตฌ ๋ฑ)์ ์ ๋ณด๋ฅผ ๋ณด์ ํจ, Space Setup์ ์ํด ์์ฑ๋จ, ์์คํ ์ด ๊ด๋ฆฌ Spatial Anchors - ์ฐ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์ํด ์์ฑ๋ ์ ๋ณด Space Setup - Scene Model์ ์บก์ฒํ๋ ํ๋ก์ธ์ค, ํ์คํธ์์ ํ๋ ์ด ๊ณต๊ฐ ์ธ์ํ๋๊ฑฐ
์ ํ๋ฆฌ์ผ์ด์ ์ Spatial Anchors๋ง ๋ง๋ค์ ์์ง๋ง Scene Anchor๋ ์ฟผ๋ฆฌํ ์๋ ์๋ค.
Scene Anchors๊ฐ ๊ฐ์ง ์ ์๋ ์ปดํฌ๋ํธ
๐ ์ด ๋ถ๋ถ์ What components can Scene Anchors have?์ ๋ฐํ์ผ๋ก ํฉ๋๋ค.
- Locatable
์ด ์ต์ปค๋ฅผ ์ถ์ ํ ์ ์์์ ์์คํ ์ ์๋ ค์ค๋๋ค. ํ์ฑํ๋๋ฉด ์ฑ์ ์ต์ปค์ ํฌ์ฆ ์ ๋ณด๋ฅผ ์ง์์ ์ผ๋ก ์กฐํํ ์ ์์ต๋๋ค. ์ต์ปค์ ์๋ช ์ ๋ฐ๋ฅธ ์ถ์ ์ ํ๋ ์ฐจ์ด๋ก ์ธํด ์ด๋ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
- RoomLayout
๋ฒฝ, ์ฒ์ฅ ๋ฐ ๋ฐ๋ฅ์ ๊ตฌ์ฑํ๋ ์ต์ปค์ ๋ํ ์ฐธ์กฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- AnchorContainer
์์ ์ต์ปค ๋ฆฌ์คํธ์ ๋ํ ์ฐธ์กฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- Bounded2D ๋ฐ Bounded3D
์ต์ปค์ ์น์์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. dimension์ ์บก์ฒํ๋
size
ํ๋กํผํฐ์, Locatable ์ปดํฌ๋ํธ์ ์ํด ์ ์๋ ์ต์ปค์ ์์ ๊ณผ 2D/3D ๋ฐ์ด๋ฉ ๋ฐ์ค์ ์์ ๊ฐ์ ์ฐจ์ด๋ฅผ ๋ํ๋ด๋offset
ํ๋กํผํฐ๊ฐ ์์ต๋๋ค. - TriangleMesh
์ต์ปค๋ฅผ ์ํด ์์ธํ๋ ์ผ๊ฐํ ๋ฉ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- SemanticClassification
์ต์ปค๋ฅผ ์ฌ๋ฌ ๊ฐ์ง ๋ถ๋ฅ๋ก ๋ถ๋ฅํฉ๋๋ค.
Storable ์ปดํฌ๋ํธ์ Sharable ์ปดํฌ๋ํธ๋ ๋ชจ๋ Spatial Anchors์๋ง ์ ์ฉ๋ฉ๋๋ค.
๋ณดํต์ Scene Anchors
๐ ์ด ๋ถ๋ถ์ Common Scene Anchors์ ๋ฐํ์ผ๋ก ํฉ๋๋ค.
๋ฐฉ์ ๋ํ Scene Anchors๋ ์ฒ์ฅ, ๋ฒฝ, ๋ฐ๋ฅ์ ์ฐธ์กฐํ๋ RoomLayout ์ปดํฌ๋ํธ, ๋ฐฉ์ ๋ชจ๋ Scene Anchor๋ฅผ ๋ค๊ณ ์๋ AnchorContainer ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๋๋ค.
2D ์์(์: ๋ฒฝ, ์ฒ์ฅ, ๋ฐ๋ฅ, ์ฐฝ๋ฌธ, ๋ฒฝ๋ฉด ์ํธ)์ ๋ํ Scene Anchor๋ Scene Anchor์ ์์น๋ฅผ ๊ฐ์ ธ์ค๋ Locatable ์ปดํฌ๋ํธ, ๋ผ๋ฒจ๋ง์ ์ํ Semantic Classification ์ปดํฌ๋ํธ, ๊ฒฝ๊ณ ๋ฐ์ค ์น์๋ฅผ ์ํ Boundary2D ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๋๋ค.
3D ์ ์ฉ Scene Anchor(์: ์ ๋ฐ, ์คํฌ๋ฆฐ, ํ๋ถ ๋ฑ)์๋ 2D Scene Anchor์ Bounded2D์ ๋น์ทํ๊ฒ ๋์ Bounded3D ์ปดํฌ๋ํธ๊ฐ ์์ต๋๋ค.
์ด๋ค Scene Anchor๋ค์ 2D์ธ ๋์์ 3D(์: ํ ์ด๋ธ, ์ํ)์ธ๋ฐ, ์ฌ๊ธฐ์ 3D ์ปดํฌ๋ํธ๋ ๊ฒฝ๊ณ ๋ณผ๋ฅจ์ ๋ํ๋ด๊ณ 2D ์ปดํฌ๋ํธ๋ ๊ด์ฌ ์์ญ์ ํด๋นํฉ๋๋ค. ์ด๋ฌํ ์ต์ปค๋ค์ 2D ์ต์ปค์ ์ ์ฌํ์ง๋ง Bounded3D ์ปดํฌ๋ํธ๋ ํฌํจํฉ๋๋ค.
NOTE
Space Setup ํ ๋ ์ค์ ํ ์ ์๋ ์ค๋ธ์ ํธ๋ค์ด ๋ชฉ๋ก์ผ๋ก ๋ํ๋๋ ๊ฒ์ ํ์ธํ ๋ชจ์ต. ํด๋น ๊ฐ๊ตฌ์ ๋ํด ์ค์ ๋ Scene Anchors๊ฐ ์์ฑ๋๋ ๊ฒ ๊ฐ๋ค.
Building Blocks์์ Room Model์ ์ถ๊ฐํ๋ฉด OVRSceneManager์ OVRSceneModelLoader๊ฐ ๋ถ์ฐฉ๋ ๊ฒ์์ค๋ธ์ ํธ๊ฐ ๋์ค๋๋ฐ, ์ด ๋ ์คํฌ๋ฆฝํธ๊ฐ Scene๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ณธ์ ์ธ ๊ฑด ๋ค ํด์ฃผ๋ ๊ฒ ๊ฐ๋ค. Bouncing Ball Tutorial์ ๋ฐ๋ผํ ๋ ์ด ๋ ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ ๋ง๊ณ ๋ ์ธ๋ถ์์ ์ถ๊ฐ๋ก ํด์ผ ํ๋ ๊ฒ์ด ์์๋ค.
๊ณต์ ๋ฌธ์์ Unity Custom Scene Manager Sample์ ๋ฐ๋ฅด๋ฉด OVRAnchor API์ ๋ํด ์ ์๋ฉด ์ปค์คํ Scene Manager๋ฅผ ์ง์ ๋ง๋ค ์๋ ์๋ค๊ณ ํ๋ค. ์ด๋์ ํ์ํ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.