๋ชจ์ ์บก์ณ๐โโ๏ธ-UnityโPerception Neuron ์ฐ๋
์ ๋๋ฉ์ด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ชจ์ ์บก์ณ ์ฅ๋น๋ก ์ฌ์ฉํ๋ ํผ์ ์ ๋ด๋ฐ์ ์ด๋ป๊ฒ ์ ๋ํฐ์ ์ฐ๋ํ๋์ง ์์ฐจ์ ์ผ๋ก ์์๋ณธ๋ค.
๐ ๋ค์ด๋ก๋: ์ ๋ํฐ ์ฐ๋ ์ฐธ๊ณ ๋ฌธ์
๐ ๋ค์ด๋ก๋: ์ ์ ๋งค๋ด์ผ
์ค๋น
ํ๋ก๊ทธ๋จ ๋ค์ด๋ก๋
[Axis Neuron]์ ๋ค์ด๋ก๋ํฉ๋๋ค.
ํ๋์จ์ด์ ๋ง๋ ์ํํธ์จ์ด๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค. ํ์ฌ ๊ฐ์ง๊ณ ์๋ ์ฅ๋น๋ V2์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ ํ๊ฒ ์ต๋๋ค.
์ฅ๋น ์ ํ
ํ์ฐ์น๋ง๋ค ํ๊ทธ๊ฐ ๋ฌ๋ ค์์ด, ํ๊ทธ์ ์ด ํ์ฐ์น๊ฐ ์ด๋ค ๋ถ์์ ์ฅ๋น๋ฅผ ๋ด๊ณ ์๋์ง ํ์๋์ด ์์ต๋๋ค. ์ฐ์ ๋ณธ ๊ธ์์๋ ์ ์ ํธ๋ํน์ด ์๋ ์๋ง ์ฐ๊ฒฐํด์ ํ ์คํธํ์์ต๋๋ค.
์ ์ ์ ํ ์คํธํด๋ณด์ค ๋ถ์ ์๋ฟ๋ง์๋๋ผ ๋ค๋ฅธ ๋ถ์๋ ์๋ก ์ฐ๊ฒฐํด์ฃผ์ธ์.
ํผ์ ์ ๋ด๋ฐV2๋ ์๊ฐ๋ฝ๋ ํธ๋ํนํ ์ ์์ต๋๋ค. ์ฒ์์ ์ฅ๋น๋ฅผ ๊บผ๋ด๋ฉด ์๊ฐ๋ฝ ๋ถ๋ถ์ ์นฉ์ด ์์ต๋๋ค. ์นฉ ์์๋ฅผ ์ด์ด์ ์๊ฐ๋ฝ ๋ถ๋ถ์ ๋ผ์๋ฃ์ด์ค๋๋ค.
์์๋ ์๊ธฐ์ฅ์ ์ํฅ์ ๋ฐ์ง ์๋๋ก ์ ์ํ ํน์ ์์๋ผ๊ณ ํฉ๋๋ค. ์นฉ์ ๋ณดํธํ๊ณ ์ถ๋ค๋ฉด ๋ฃ์ด์ ๋ณด๊ดํฉ์๋ค.
๋ง์ง๋ง [์ฐ๊ฒฐ๋ถ์]์ [hub]๋ฅผ ์ ์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค. ์ ๋ ์๋ง ์ฐ๊ธฐ๋ก ํ์์ผ๋ฏ๋ก ์์ ๋ง์ง๋ง ์ฐ๊ฒฐ๋ถ์์ hub๋ฅผ ์ฐ๊ฒฐํด์ฃผ์์ต๋๋ค. ์ฐ๊ฒฐ์ ์ ํ์ฐ์น์๋ ๋ค๋ฅธ ๋น๋ํฉ์ ์์ต๋๋ค.
Axis Neuron โ ํผ์ ์ ๋ด๋ฐ ์ฐ๊ฒฐ
ํผ์ ์ ๋ด๋ฐ์ ๊ด๋ฆฌํ ์ ์๋ ๊ณต์์ง์ ์ํํธ์จ์ด์ธ Axis Neuron๊ณผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
PC์ ์ฐ๊ฒฐ
ํผ์ ์ ๋ด๋ฐ hub์ ์ฐ๊ฒฐํ [์ผ์ด๋ธ]์ ๊บผ๋ ๋๋ค.
hub ์์ ์๋์ ์ผ์ด๋ธ์ ์ฐ๊ฒฐํ ์ ์๋๋ฐ, ์ฐ์ [DATA]๋ผ๊ณ ์จ์ง ์๋ถ๋ถ๊ณผ PC๋ฅผ ์ฐ๊ฒฐํด์ค์๋ค. (Wifi ๋ชจ๋๋ ํ๋ฒ์ DATA์ ์ฐ๊ฒฐํด์ฃผ์ด์ผ ํฉ๋๋ค.)
5V/2A๋ผ๊ณ ์จ์ง ์๋๋ถ๋ถ์ ํฌํธ๋ Wifi๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ ๋ค์ ์ ์์ฉ์ด๋ ์ฐ์ ์ ๋ฌด์ํ๊ณ ์ฒ์ ์ ํ ํ ๋๋ DATA์ ์ฐ๊ฒฐํด์ฃผ์ธ์.
Axis Neuron ์ ํ
wifi ๋ชจ๋ ์ค์ ์ ๋๋ต์ ์ธ ํ๋ฆ๋. ์ฒ์์ DATA์ ์ฐ๊ฒฐํ๋ค Connect ํ 5V/2A๋ผ๊ณ ์จ์ง ๋ถ๋ถ๊ณผ ์ฐ๊ฒฐํ ๊ฒ์ ๋ณผ ์ ์๋ค.
์์ดํ์ด ๋ชจ๋๋ก ์ฐ๊ฒฐํด์ผ์ง๋ง ํธํ๊ฒ ๋์๋ค๋๋ฉฐ ํ ํธ๋ํน์ ํ ์ ์์ต๋๋ค. USB ๋ชจ๋์ ํฐ ์ฐจ์ด๋ ์์ผ๋ฏ๋ก Wifi ๋ชจ๋๋ง์ ์์ ํ๊ฒ ์ต๋๋ค.
Axis Neuron์ ์ผ๊ณ Connect๋ฅผ ๋๋ฆ ๋๋ค. ํน์ Axis Neuron์ ์ฒ์ ํค๋ฉด Connectํ๋ฉด์ด ๋จ๋๋ฐ ๋์ผํ ์ฐฝ์ด๋ฏ๋ก ๊ฑฐ๊ธฐ์ ์งํํ์ ๋ ๋ฉ๋๋ค.
์ ์ ๋ชจ๋์์๋ Connect๋ฅผ ๋๋ฅด์ง๋ง ์ฐ๋ฆฌ๋ Wifi ๋ชจ๋๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Setup๋ฒํผ์ ๋๋ฌ์ค์๋ค.
ํ์ฌ ์ปดํจํฐ๊ฐ ์ฌ์ฉ์ค์ธ ๋ง๊ณผ ๋์ผํ Wifi ๋ง์ ์ ํํด์ค๋๋ค. Password๋ฅผ ์ ๋ ฅํ๊ณ [Apply]ํด์ค๋๋ค.
์ฑ๊ณตํ๋ค๋ฉด [DATA]์์ ์ฐ๊ฒฐ์ ๋๊ณ ์ถฉ์ ์ฉ์ธ [5V/2A]์ ์ฐ๊ฒฐํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ [๋ณด์กฐ๋ฐฐํฐ๋ฆฌ]๋ฅผ ์ด์ฉํ์ฌ ์ ์์ ์ผญ๋๋ค. 20์ด๊ฐ ๊ธฐ๋ค๋ฆฌ๋ฉด [์๋ฆผ์]๊ณผ ํจ๊ป ์ฐ๊ฒฐ๋๋ค๋ ์๋ฆผ์ ์ค๋๋ค.
์๋ฆผ์์ด ๋ค๋ ธ๋ค๋ฉด [Finish] ๋ฒํผ์ ๋๋ฌ์ค์๋ค.
๋ค์ ์ฅ๋น ๋ฆฌ์คํธ๋ฅผ ๋ด ๋๋ค. [Connect]๋ฅผ ๋๋ฌ์ค๋๋ค.
์ ์์ ์ผ๋ก ์ฅ๋น๊ฐ ์ฐ๊ฒฐ ๋์๋ค๋ฉด ์ค๋ฅธ์ชฝ ์ผ์๋งต์ ์ฐ๊ฒฐ๋ ์ฅ๋น์ ๋ถ์๊ฐ ๋น๋๋ค. ์ ๋ ์ผ์์ ์ฐ๊ฒฐํ๊ธฐ ๋๋ฌธ์ ์ผ์๋ง ์ด๋ก๋ถ์ด ๋ค์ด์ ์์ต๋๋ค.
์ดํ์ ์ฅ๋น์ 0์ ์ ์กฐ์ ํ๋ Calibration ๋จ๊ณ๋ก ๋์ด๊ฐ๋ฉด ๋ฉ๋๋ค.
์ฅ๋น Calibration
์ฅ๋น๋ฅผ ์ฐ๊ฒฐํ๋ค๋ฉด ๋ทฐํฌํธ์ ์๋ฐํ๊ฐ ์์ง์์ ๋ฐ๋ผํ๋ ๋ชจ์ต์ด ๋ณด์ผ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์กฐ๊ธ ์ด์ํ ํํ๋ก ๋ฐ๋ผ ์์ง์ผํ ๋ฐ, ์ด๋ฅผ ๋ณด์ ํ๋ ค๋ฉด ์ฅ๋น Calibration์ด ํ์ํฉ๋๋ค.
[Calibrate] ๋ฒํผ์ ๋๋ฆ ๋๋ค.
๋ณด์ ํ ํฌ์ฆ๋ฅผ ์ ํํฉ๋๋ค. ์ฃผ๋ก Steady post, A pose, T pose๋ฅผ ๋ณด์ ํฉ๋๋ค. ์ข๋ ์ ํํ ๋ณด์ ์ ์ํ๋ค๋ฉด S pose๊น์ง ์ ํํด์ค๋๋ค. ์ ํ์ ๋ง์ณค๋ค๋ฉด [Next] ๋ฒํผ์ ๋๋ฌ์ฃผ์ธ์.
๋ณด์ ์ ํ๋ค๊ฐ ์ด๋ฐ ์ฐฝ์ด ๋ฌ๋ค๋ฉด ์ฌ์ง์ ๋นจ๊ฐ๊ฒ ํ์๋ ๋ถ๋ถ์ด ๋๋ฌด ๋ง์ด ํ๋ค๋ ค์ ๋ณด์ ์ ์คํจํ ๊ฒ์ ๋๋ค. [Retry]๋ฅผ ๋๋ฌ ๋ค์ ๋ณด์ ํด์ฃผ์ธ์.
๋ชจ๋ ๋ณด์ ์ ๋ง์น๋ฉด ๋ทฐํฌํธ์์ ์ ์์ ์ผ๋ก ์๋ํ๋ ์๋ฐํ๋ฅผ ๋ณด์ค ์ ์์ต๋๋ค!
๋ง์ฝ ์์๊ณผ ๋ค๋ฅด๊ฒ ์์ง์ธ๋ค๋ฉด, ์๋์ ์ด์ ์ค ํ๋์ผ ์๋ ์์ต๋๋ค.
- ์ผ์์ ์์น๊ฐ ํ์ด์ ธ ์์ ์ ์์ต๋๋ค.
- ์๊ธฐ์ฅ์ ์ํฅ์ด ์ผ ๊ณณ์ผ ์ ์์ต๋๋ค.
- ๋ณด์กฐ๋ฐฐํฐ๋ฆฌ์ ์๋์ด ๋ถ์กฑํ ์ ์์ต๋๋ค.
์ ์ด์ ๋ฅผ ๋ชจ๋ ํ์ธํด๋ ์ด์ํ๋ค๋ฉด ๋ค์ Calibrate ํด์ฃผ์ธ์.
์ ๋๋ฉ์ด์ ํด๋ฆฝ ๋ นํ
์ ๋๋ฉ์ด์ ์ ๋ นํํด์ ์ ์ฅํ ์ฐจ๋ก์ ๋๋ค. [Record] ๋ฒํผ์ ๋๋ฆ ๋๋ค.
Record Settings๋ผ๋ ์ฐฝ์ด ๋จ๋ฉด ์ ์ฅํ ์์น์ ์ด๋ฆ์ ์ ํด์ฃผ์ธ์.
[OK]๋ฅผ ๋๋ฅด๋ฉด ๊ทธ ์๊ฐ๋ถํฐ ์ ๋๋ฉ์ด์ ์ด ๋ นํ๋ฉ๋๋ค.
์๋ฃ๋ฅผ ๋๋ฅด๋ฉด ์ผ์ชฝ ํ๋จ Working Directory์ ๋ค์ด๊ฐ๊ฒ ๋๊ณ , ์ด๋ฅผ ๋๋ธํด๋ฆญํ๋ฉด [Play]๋ฒํผ์ ๋๋ฌ ๋ณผ ์ ์์ต๋๋ค.
์ ๋๋ฉ์ด์ Export
๋ นํ๋ฅผ ์๋ฃํ ์ ๋๋ฉ์ด์ ์ ์ ๋ํฐ์์ ์ธ ์ ์๊ฒ๋ Export ํด๋ณด๊ฒ ์ต๋๋ค.
๋ นํํ ํ์ผ์ Working Directory์์ ๋๋ธํด๋ฆญํ ํ [File] โ [Export]๋ฅผ ๋๋ฆ ๋๋ค.
์ ์ฅํ ํด๋๋ฅผ ์ ํํด์ฃผ๊ณ [File Type]์ [FBX]๋ก ์ค์ ํด์ค์๋ค. ์ ๋ FBX binary๋ก ์ค์ ํ์ต๋๋ค.
๋๋จธ์ง๋ ๋ฌด์ํ๊ณ [Export] ๋ฒํผ์ ๋๋ฌ์ฃผ์ธ์.
์ ๋๋ฉ์ด์ ํด๋ฆฝ ์ ๋ํฐ์ ์ ์ฉ
์ดํ, ์ ์ฅํ FBX๋ฅผ ์ ๋ํฐ๋ก ๋ถ๋ฌ์ต๋๋ค.
[Rig]ํญ์์ [Animation Type]์ Humanoid๋ก ๊ผญ ๋ฐ๊ฟ์ฃผ์ธ์. [Apply] ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
[Animation] ํญ์์ Root Transform Rotation์์ Bake Into Pose ์ฒดํฌํด์ผํฉ๋๋ค.
Root Transform Position(Y)์์ Bake INto Pose ์ฒดํฌ, Based Upon(at Start)์ Feet์ผ๋ก ๋ณ๊ฒฝํด์ค๋๋ค.
Export ์ค๋ฅ ์์ (์ค์!!)
Axis Neuron์์ Exportํ ์ ๋๋ฉ์ด์ ์ ์ ๋ํฐ์์ ๋ถ๋ฌ์ค๋ฉด ์ค๋ฅ๊ฐ ์์ต๋๋ค. Tํฌ์ฆ์ด๊ธด ํ์ง๋ง ๊ฐ ํฌ์ธํธ๋ค์ด ๋์๊ฐ ์๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
๋์๊ฐ ์์ ๋ชจ์ต. ์๋ก ๊ทธ๋ฆฐ ์ขํ๊ณ๊ฐ Rotation 0,0,0์ ํด๋น๋จ.
์ด๋ฅผ ํ๋์ฉ ๋ณด์ ํ๋ ค๋ฉด ์๋ฐํ Configure ์ค์ ์ ๋ค์ด๊ฐ์ Bone๋ง๋ค Rotation์ ์ฒดํฌํด์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ฐํน 0,0,0์ผ๋ก ๋ง์ถฐ์ฃผ์ด๋ Tํฌ์ฆ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ๊ฐ๊ฐ์ ๋ณธ์ ์ ํํ์ฌ ๋กํ ์ด์ ๊ฐ์ ์์๋ก ์์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ ๋ํฐ ๋ฆฌ์ผํ์ ํธ๋ํน
์ ๋ํฐ ๋ฆฌ์ผํ์์ผ๋ก ๋๋ฆฌ๋ ๋ฒ ๋ํ ๊ฐ๋จํฉ๋๋ค.
์ฐ์ Axis Neuron์์ [File โ Settings]์ ๋ค์ด๊ฐ๋๋ค.
General์ ์๋ IP๋ฅผ ๋ณต์ฌํด๋ก๋๋ค.
[Broadcasting]์์ TCP๋ก ๋์ด์๋์ง ํ์ธํ๊ณ Advanced BVH์ BVH๋ฅผ ๋ชจ๋ Enableํด์ค๋๋ค. ์ฌ๊ธฐ์ ๋ํ๋ [ServerPort] ์ค BVH์ ํฌํธ๋ฅผ ๊ธฐ์ตํด๋ก๋๋ค.
์ ๋ํฐ์์ Neuron Animator Instance ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋๋ฉ์ดํฐ๊ฐ ์๋ ๊ฐ์ฒด์ ๋ถ์ฌ์ฃผ๊ณ , [Address] ๋ถ๋ถ์ ๋ณต์ฌํ IP๋ฅผ ๋ฃ์ด์ฃผ๊ณ , [Port]์๋ BVH ServerPort๋ฒํธ๋ฅผ ๋ฃ์ด์ค๋๋ค.
Axis Neuron๊ณผ ์ ๋ํฐ๋ฅผ ๋์์ ์ผ๋์ ๋ค, ์ ๋ํฐ์์ ํ๋ ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด Axis Neuron์ ์๋ฐํ๊ฐ ํ๋ ๋์๋ค์ ์ ๋ํฐ ๋ด์ Neuron Animator Instance๋ฅผ ๋ถ์ธ ์๋ฐํ๊ฐ ๋ฐ๋ผํ ๊ฒ์ ๋๋ค.