ARKit Face Tracking - juniverse1103/ARKitStudy GitHub Wiki
ARFaceTrackingConfiguration
TrueDepth ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์ผ๊ตด ์์ง์ ๋๋ ํ์ ์ ์ถ์ ํ๋ configuration.
Overview
Face Tracking Configuration ์ ์ฅ์น์ ์ ๋ฉด์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ๋ทฐ ๋ด์ ์ฌ์ฉ์์ ์ผ๊ตด์ ์ธ์ํฉ๋๋ค. Configuration์ด ์คํ๋๊ณ ์๋ ์ค์, AR ์ธ์ ์ ์ฌ์ฉ์์ ์ผ๊ตด์ ์ธ์ํ๊ณ (์ ๋ฉด ์นด๋ฉ๋ผ ์ด๋ฏธ์ง ๋ด์์ ๋ณด์ผ ๊ฒฝ์ฐ), ์ธ์ ๋ด์ anchor ๋ฆฌ์คํธ์ ๊ทธ ์ผ๊ตด์ ๋ํ๋ด๋ ARFaceAnchor ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ฐ๊ฐ์ face anchor๋ ์ผ๊ตด์ ์์น์ ๋ฐฉํฅ์ ๋ํ ์ ๋ณด, ์ผ๊ตด์ ์์, ๊ทธ๋ฆฌ๊ณ ํ์ ์ ๋ํ๋ด๋ ํน์ง์ ์ ๊ณตํฉ๋๋ค.
์ค์
Face tracking์ ์ ๋ฉด TrueDepth ์นด๋ฉ๋ผ๋ฅผ ์ง์ํ๋ iOS ์ฅ์น์์๋ง ์ง์๋ฉ๋๋ค(iOS Device Compability Reference๋ฅผ ์ฐธ์กฐํ์ธ์). ์ฌ์ฉ์์๊ฒ face tracking์ ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ ์ ARFaceTrackingConfiguration์ isSupported ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ์ฌ face tracking์ด ํ์ฌ ์ฅ์น์์ ์ฌ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํ์ธ์.
ARFaceTrackingConfiguration ํด๋์ค๋ ์ด๋ค ๋ฉ์๋๋ ํ๋กํผํฐ๋ ์ ๊ณตํ์ง ์์ง๋ง, ์์ํด๋์ค์ธ ARConfiguration์ผ๋ก๋ถํฐ ์์๋ฐ์ ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ์ง์ํฉ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก, isLightEstimationEnabled ์ค์ ์ ํ์ฉํ๋ฉด, face tracking configuration์ ์ธ์๋ ์ผ๊ตด์ ๋ผ์ดํธ ํ๋ก๋ธ๋ก ์ฌ์ฉํด ์ถ์ ๋ ๋ฐฉํฅ์ ์ธ, ํน์ ํ๊ฒฝ์ ์ธ ์กฐ๋ช (ARDirectionalLightEstimate ๊ฐ์ฒด)์ ์ ๊ณตํฉ๋๋ค.
Note
Face tracking์ ์ฑ์ ๊ฐ์ธ์ ์ธ ์ผ๊ตด ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ง์ผ ARKit face tracking ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ฉด, ์ฑ์ ๋ฐ๋์ ๊ฐ๋ฐ์๊ฐ ์ด๋ค ์๋๋ก ์ฌ์ฉ์์ ์ผ๊ตด ๋ฐ์ดํฐ์ face tracking๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ง ๋ช ์ํ๋ ๊ฐ์ธ ์ ๋ณด ์ ์ฑ ์ ํฌํจํด์ผ ํฉ๋๋ค.
ARFaceAnchor
Face-tracking AR ์ธ์ ์์ ์ธ์๋ ์ผ๊ตด์ ์์ธ(pose), ์์(topology), ๊ทธ๋ฆฌ๊ณ ํ์ (expression)์ ๋ํ ์ ๋ณด์ ๋๋ค.
Overview
Face-tracking AR ์ธ์ ์ ์คํํ์ฌ(ARFaceTrackingConfiguration์ ๋ณด์ญ์์ค), ์ ๋ฉด ์นด๋ฉ๋ผ๋ฅผ ํตํด ์ฌ์ฉ์์ ์ผ๊ตด์ด ์ธ์๋์์ ๋, ์ธ์ ์ ์๋์ผ๋ก ์ธ์ ์ anchor ๋ฆฌ์คํธ์ ARFaceAnchor ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ฐ๊ฐ์ face anchor๋ ์ผ๊ตด์ ํ์ฌ ์์น์ ๋ฐฉํฅ(position and orientation), ์์(topology), ๊ทธ๋ฆฌ๊ณ ํ์ (facial expression)์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
Tracking Face Position and Orientation
์์๋ transform
ํ๋กํผํฐ๋ world coordinates ๋ด์์์ ํ์ฌ ์ผ๊ตด์ ์์น์ ๋ฐฉํฅ์ ๋ํ ์ ๋ณด๋ฅผ ํํํฉ๋๋ค; ์ด๋, ์ขํ๊ณต๊ฐ ๋ด์์ ์ธ์
configuration์ worldAlignment
ํ๋กํผํฐ์ ์ํด ์๋์ ์ผ๋ก ํน์ ๋ฉ๋๋ค. ์ด ๋ณํ ํ๋ ฌ์ ์ฌ์ฉํ์ฌ AR scene ๋ด์ ์ผ๊ตด์ "๋ถ์ฐฉ" ํ๊ณ ์ถ์ ๊ฐ์์ ์ปจํ
์ธ ๋ฅผ ์์น์ํค์ธ์.
transform
A matrix encoding the position, orientation, and scale of the anchor relative to the world coordinate space of the AR session the anchor is placed in.
Anchor๊ฐ ๋์ฌ์ง AR ์ธ์ ์ world coordinate space ์ ์๋์ ์ผ๋ก anchor์ ์์น, ๋ฐฉํฅ, ๊ทธ๋ฆฌ๊ณ ํฌ๊ธฐ๋ฅผ ์ธ์ฝ๋ฉํ๋ ํ๋ ฌ์ ๋๋ค.
var transfrom: simd_float4x4{get}
worldAlignment
A value specifying how the session maps real-world device motion into a 3D scene coordinate system.
์ค์ -์ธ๊ณ์ ์ฅ์น ์์ง์์ 3D scene ์ขํ ์์คํ ๋ด์ ์ด๋ป๊ฒ ๋งตํํ ์ง ํน์ ํ๋ ๊ฐ์ ๋๋ค.
var worldAlignment: ARConfiguration.WorldAlignment{get set}
Discussion
AR ๊ฒฝํ์ ๋ง๋๋ ์ผ์ ์ค์ ์ธ๊ณ์ ์์น์ ์ฅ์น์ ์์ง์์ ๋ํด ๋งตํ๋๋ ๊ฐ์์ 3D ๊ณต๊ฐ ๋ด์ ์ขํ๊ณ๋ฅผ ๊ตฌ์ฑํ๊ณ , ๋ฌผ์ฒด๋ฅผ ์์น์ํค๋ ๊ฒ์ ์์กดํฉ๋๋ค. ์ธ์ configuration์ ์คํํ ๋, ARKit์ ์ฅ์น์ ์์น์ ๋ฐฉํฅ์ ๊ธฐ์ดํ ์ฅ๋ฉด ์ขํ๊ณ๋ฅผ ์์ฑํฉ๋๋ค; ๊ฐ๋ฐ์๊ฐ ์์ฑํ๊ฑฐ๋ AR ์ธ์ ์ด ์ธ์ํ ๋ชจ๋ ARAnchor ๊ฐ์ฒด๋ ๊ทธ ์ขํ๊ณ์ ์๋์ ์ผ๋ก ์์น๋ฉ๋๋ค.
๊ฐ๋ฅํ ๊ฐ์ ํ์ธํ๊ธฐ ์ํด์๋
ARConfiguration.WorldAlignment
๋ฅผ ๋ณด์ญ์์ค.
ARConfiguration.WorldAlignment
ARKit์ด ์ค์ ์ธ๊ณ์ ์ฅ์น ์์ง์์ ๊ธฐ์ดํด์ ์ด๋ป๊ฒ ์ฅ๋ฉด ์ขํ๊ณ๋ฅผ ์์ฑํ๋์ง์ ๋ํ ์ต์ ๋ค์ ๋๋ค.
Declaration
enum WorldAlignment : Int
Alignments
case gravity
- ์ขํ๊ณ์ y์ถ์ ์ค๋ ฅ ๋ฐฉํฅ๊ณผ ํํํฉ๋๋ค, ๊ทธ๋ฆฌ๊ณ ์ค๋ ฅ์ ์์ ์ ์ฅ์น์ ์ด๊ธฐ ์์น์ ๋๋ค.
case gravityAndHeading
- ์ขํ๊ณ์ y์ถ์ ์ค๋ ฅ ๋ฐฉํฅ๊ณผ ํํํ๋ฉฐ, ์ขํ๊ณ์ x ์ถ๊ณผ z ์ถ์ ๋์นจ๋ฐ์ ๋จธ๋ฆฌ ๋ฐฉํฅ์ ํฅํฉ๋๋ค, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ ์ ์ฅ์น์ ์ด๊ธฐ ์์น ์ ๋๋ค.
case camera
- ์ฅ๋ฉด ์ขํ๊ณ๋ ์นด๋ฉ๋ผ์ ๋ฐฉํฅ๊ณผ ๋ง์ถ๊ธฐ ์ํด์ ๊ณ ์ ๋ฉ๋๋ค.
์ด ๋ณํ ํ๋ ฌ์ ์ผ๊ตด์ ๋ํด ์๋์ ์ผ๋ก ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ค์ ์์น์ํค๊ธฐ ์ํ์ฌ ์ผ๊ตด ์ขํ๊ณ๋ฅผ ์์ฑํฉ๋๋ค.
์ผ๊ตด ์ขํ๊ณต๊ฐ์ ๋จ์๋ ๋ฏธํฐ ๋จ์์ด๋ฉฐ, ์์ ์ ์๋์ ๋ณด์ฌ์ง๋ ๋ชจ์ต๊ณผ ๊ฐ์ด ์ผ๊ตด ๋ท๋ฉด์ ์์นํฉ๋๋ค.
์ด ์ขํ๊ณ๋ ์๊ณ๋ฐฉํฅ(right-handed)์ ๋๋ค-์์ x๋ฐฉํฅ์ด ๊ด์ฐฐ์์ ์ค๋ฅธ์ชฝ์ ๊ฐ๋ฆฌํค๋ฉฐ(์ผ๊ตด์ ๊ด์ ์์๋ ์ผ์ชฝ), ์์ y๋ฐฉํฅ์ ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ (์ผ๊ตด ์์ฒด์ ์๋์ ์ธ ๊ธฐ์ค์ด๋ฉฐ, ์ธ๊ณ์๋ ๊ด๊ณ๊ฐ ์์ต๋๋ค), ์์ z ๋ฐฉํฅ์ ์ผ๊ตด์ ๋ซ๊ณ ์์ผ๋ก ๋์ค๋ ๋ฐฉํฅ์ ๋๋ค(๊ด์ฐฐ์๋ฅผ ํฅํด์).
Using Face Topology
geometry
ํ๋กํผํฐ๋ ์ผ๋ฐ์ ์ธ ์ผ๊ตด ๋ชจ๋ธ์ ์ธ์๋ ์ผ๊ตด์ ์น์, ๋ชจ์, ๊ทธ๋ฆฌ๊ณ ํ์ฌ ์ผ๊ตด ํ์ ์ ์ผ์น์ํค๋ ๊ฒ์ ํ์ธํ๋ ์์ธํ ์์ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ARFaceGeometry
๊ฐ์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค.
geometry
์ธ์๋ ์ผ๊ตด์ ์์์ ๋ํ๋ด๋ ๋๊ฐ์(coarse) ์ผ๊ฐํ ๋ฉ์ฌ์ ๋๋ค.
Declaration
var geometry: ARFaceGeometry{get}
Discussion
์ด ๋ฉ์ฌ๋ ์ผ๋ฐ์ ์ธ ์ผ๊ตด ๋ชจ๋ธ์ ์ธ์๋ ์ผ๊ตด์ ์น์, ๋ชจ์, ๊ทธ๋ฆฌ๊ณ ํ์ฌ ์ผ๊ตด ํ์ ์ ์ผ์น์ํค๋ ๊ฒ์ ํ์ธํ๋ ๊ผญ์ง์ (vertex), ์งํ(index), ๊ทธ๋ฆฌ๊ณ ์ผ๊ตด์ 3D ๋ชจ์์ ๋ํ๋ด๋ ํ ์ค์ฒ ์ขํ ๋ฒํผ(texture coordinate buffers)๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด ๋ฒํผ๋ค์ ์ ํธํ๋ ๋ ๋๋ง ์์ง์ ๋๊ฒจ์ฃผ๋ ๊ฒ์ผ๋ก face geometry๋ฅผ ์๊ฐํ ํ ์ ์์ต๋๋ค. ์ด face geometry๋ฅผ ์๊ฐํ ํ๊ธฐ ์ํด์๋ SceneKit์ ์ฌ์ฉํ์ฌ, ARSCNFaceGeometry ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , ๊ทธ๊ฒ์ update(from: ) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์๋ face geometry์ ์ผ์น๋๋๋ก ์ ๋ฐ์ดํธํ์ญ์์ค.
์ด ๋ชจ๋ธ์ ์ฌ์ฉ์์ ์ผ๊ตด ๋ชจ์์ ๋ฐ๋ผ ์ปจํ ์ธ ๋ฅผ ๋ฎ์ด์์ฐ๋ ์ฉ๋์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค- ์๋ฅผ๋ค์ด, ๊ฐ์ ํ์ฅ ๋๋ ํํฌ๋ฅผ ์ ์ฉํ๋ ๊ฒ๋ค์ด ์์ต๋๋ค.
๋ํ ์ด ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ occlusion geometry๋ฅผ ์์ฑํ ์ ์์ต๋๋ค-์ด๋ ํ ์๊ฐ์ ์ธ ์ปจํ ์ธ ๋ ๋ ๋ํ์ง ์์ง๋ง(์นด๋ฉ๋ผ ์ด๋ฏธ์ง๊ฐ ๊ทธ๋๋ก ๋ณด์ฌ์ง๋ ๊ฒ์ ํ์ฉํ์ฌ), ์ฅ๋ฉด ๋ด์ ๋ค๋ฅธ ๊ฐ์ ์ปจํ ์ธ ์ ์นด๋ฉ๋ผ์ ๋ทฐ๋ฅผ ๊ฐ๋ก๋ง๋ 3D ๋ชจ๋ธ์ ๋๋ค.
Tracking Facial Expressions
blendShapes
ํ๋กํผํฐ๋ ํ์ฌ ์ผ๊ตด ํ์ ์ ๋ํ ๋์-๋ ๋ฒจ์ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๋ง์ ๊ณ ์ ํ ๊ณ์๋ค์ ์ฐ์์ ํตํด์ ๋ํ๋ด์ด์ง ํน์ ํ ์ผ๊ตด ๋ชจ์์ ์์ง์๊ณผ ์ค๋ฆฝ์ ์ธ ์กฐ์ ์ฌ์ด์ ์๋์ ์ธ ๊ด๊ณ๋ฅผ ํตํด์ ํํ๋ฉ๋๋ค.
์ด blend shape ๋ฅผ ์ฌ์ฉํ์ฌ ์บ๋ฆญํฐ๋ ์๋ฐํ์ ๊ฐ์ 2D ๋๋ 3D ์ปจํ ์ธ ๋ฅผ ์ฌ์ฉ์์ ์ผ๊ตด ํ์ ์ ๋ฐ๋ผ์ ์์ง์ด๊ฒ ํ ์ ์์ต๋๋ค.
blendShapes
ํน์ ํ ์ผ๊ตด ๋ชจ์์ ์์ง์์ ํํ๋ก ์ธ์๋ ์ผ๊ตด ํ์ ์ ๋ํ๋ด๋ ์ง๋ช ๋ ๊ณ์๋ค์ ๋์ ๋๋ฆฌ ์ ๋๋ค.
Declaration
var blendShapes: [ARFaceAnchor.BlendShapeLocation : NSNumber]{get}
Discussion
๋์ ๋๋ฆฌ์ ์กด์ฌํ๋ ๊ฐ๊ฐ์ ํค๋(ARFaceAnchor.BlendShapeLocation ์์) ARKit์ ์ํด์ ์ธ์๋๋ ๋ง์ ํน์ ํ ์ผ๊ตด์ ํน์ง๋ค ์ค ํ๋๋ฅผ ๋ํ๋ ๋๋ค. ๊ฐ๊ฐ์ ํค์ ๋์๋๋ ๋ฐธ๋ฅ๋ ๊ทธ ํน์ง์ด ์ค๋ฆฝ ์ํ์ ๋นํด ์๋์ ์ผ๋ก ์ผ๋ง๋ ์์ง์ด๋์ง๋ฅผ 0.0(์ค๋ฆฝ)์์ 1.0(์ต๋ ์์ง์) ๊น์ง์ ํ๋กํ ์์๋ก ๋ํ๋ ๋๋ค.
Blend shape ๊ณ์๋ค์ 2D ๋๋ 3D ์บ๋ฆญํฐ๊ฐ ์ฌ์ฉ์์ ์ผ๊ตด ํ์ ์ ๋ฐ๋ผ ์์ง์ด๋๋ก ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ARKit์ ์์ธํ ์ผ๊ตด ํ์ ๋ชจ๋ธ์ ์ํด์ ๋ง์ ์ข ๋ฅ์ blend shap coefficients๋ฅผ ์ ๊ณตํฉ๋๋ค; ์ํ๋ ์๊ฐ ํจ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ๋ง๊ฑฐ๋ ์ ์ ์์ ๊ณ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ค์ง
jawOpen
,eyeBlinkleft
,eyeBlinkRight
๊ณ์ ๋ง์ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ๋งํ ์บ๋ฆญํฐ๋ฅผ ์์ง์ด๊ฒ ํ ์ ์์ต๋๋ค. ์ ๋ฌธ์ ์ธ 3D ์ํฐ์คํธ๋ ๊ทธ๋ณด๋ค ๋ ํฐ ์ธํธ์, ๋๋ ์ธํธ ์ ๋ถ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด๋ค ๋ ์ค์ ์ ์ธ ์บ๋ฆญํฐ ๋ชจ๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค.Blend shape ๊ณ์๋ค์ ์ฌ์ฉํ์ฌ ํน์ ํ ์ผ๊ตด ํ์ ์ ๊ธฐ๋กํ๊ฑฐ๋ ์ถํ์ ์ฌ์ฉํ๊ฒ ํ ์ ์์ต๋๋ค.
ARFaceGeometry init(blendShapes:)
์์ฑ์๋ ์ด ํ๋กํผํฐ์ ๊ฐ์ ํด๋นํ๋ ์์ธํ 3D ๋ฉ์ฌ๋ฅผ ๋์ ๋๋ฆฌ๋ก๋ถํฐ ์์ฑํฉ๋๋ค; blend shape dictionary์ ์ฐ์๋ ํํ๋ ๊ทธ ๊ณ์๋ค์ด ๋ํ๋ด๋ ์ผ๊ตด ๋ฉ์ฌ๋ณด๋ค ์ข ๋ ๊ด๋ฆฌํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค.Note
Blend Shape ๊ณ์๋ค์ ์ด๋ฆ์์ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ์ผ๊ตด์ ์๋์ ์ ๋๋ค. ์ฆ,
eyeBlinkingRight
๊ณ์๋ ์ผ๊ตด์ ์ค๋ฅธ์ชฝ ๋์ ๋ปํฉ๋๋ค. face-tracking ์ธ์ ์ด ์งํ๋๋ ARKit ๋ทฐ๋ ์นด๋ฉ๋ผ ์ด๋ฏธ์ง๋ฅผ ๋์นญ์ํค๊ธฐ ๋๋ฌธ์, ์ผ๊ตด์ ์ค๋ฅธ์ชฝ ๋์ด ๋ทฐ์ ์ค๋ฅธ์ชฝ์ ๋ํ๋๊ฒ ๋ฉ๋๋ค.
Topics
Using Face Geometry
- var geometry: ARFaceGeometry
- ์ธ์๋ ์ผ๊ตด์ ์์์ ๋ํ๋ด๋ ๋๊ฐ์ ์ผ๊ฐํ ๋ฉ์ฌ์ ๋๋ค.
- class ARFaceGeometry
- Face-tracking AR ์ธ์ ๋ด์์ ์ผ๊ตด ์์์ ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ 3D ๋ฉ์ฌ์ ๋๋ค.
- class ARSCNFaceGeometry
- AR ์ธ์ ์ ์ํด์ ์ ๊ณต๋ ์ผ๊ตด ์ ๋ณด์ ํจ๊ป ์ฌ์ฉํ๊ธฐ ์ํ ์ผ๊ตด ์์์ SceneKit ํ์์ ๋๋ค.
Using Blend Shapes
- var blendShapes: [ARFaceAnchor.BlendShapeLocation: NSNumber]
- ํน์ ํ ์ผ๊ตด ๋ชจ์์ ์์ง์์ ํํ๋ก ์ธ์๋ ์ผ๊ตด ํ์ ์ ๋ํ๋ด๋ ์ง๋ช ๋ ๊ณ์๋ค์ ๋์ ๋๋ฆฌ ์ ๋๋ค.
- struct ARFaceAnchor.BlendShapeLocatoin
- ๊ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์ผ๊ตด ๋ชจ์์ ์๋์ ์ธ ์์ง์์ ๋ํ๋ด๊ธฐ ์ํ ์๋ณ์์ ๋๋ค.
Tracking Eye Movement
- var leftEyeTransform: simd_float4x4
- ์ผ๊ตด์ ์ผ์ชฝ ๋์ ์์น์ ๋ฐฉํฅ์ ๋ํ๋ด๊ธฐ ์ํ ๋ณํ ํ๋ ฌ์ ๋๋ค.
- var rightEyeTransform: simd_float4x4
- ์ผ๊ตด์ ์ค๋ฅธ์ชฝ ๋์ ์์น์ ๋ฐฉํฅ์ ๋ํ๋ด๊ธฐ ์ํ ๋ณํ ํ๋ ฌ์ ๋๋ค.
- var lookAtPoint: simd_float3
- ์ผ๊ตด์ด ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ์ ์ถ์ ํ๊ธฐ ์ํ ์ผ๊ตด ๋ด์ ๊ณต๊ฐ์ขํ ๋ฒกํฐ์ ๋๋ค.