Pose Driver Connect๋ Maya์์ ์ ์ํ RBF(Radial Basis Function) ๊ธฐ๋ฐ์ 2์ฐจ ํฌ์ฆ ๊ณต๊ฐ ๋ณด๊ฐ ์์คํ ์ ์ธ๋ฆฌ์ผ ์์ง์ผ๋ก ์ ์กํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ ๋๋ค. ์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์บ๋ฆญํฐ์ ๊ด์ ํ์ ์ ๋ฐ๋ผ ์๋์ผ๋ก ๋ณํ๋๋ ๊ทผ์ก๊ณผ ํผ๋ถ์ ์์ง์์ ํจ์จ์ ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ ์ค์น๋ถํฐ ์ค์ ์ ์ฉ๊น์ง์ ์ ์ฒด ์ํฌํ๋ก์ฐ๋ฅผ ๋จ๊ณ๋ณ๋ก ์๋ดํฉ๋๋ค.
1. Installation And Setup
Pose Driver Connect UE ์ค์น
- ์ธ๋ฆฌ์ผ ์์ง ๋ง์ผํ๋ ์ด์ค์์ โPose Driver Connectโ๋ฅผ ๊ฒ์ํ์ฌ ์ค์นํฉ๋๋ค.
- ์ค์น ๊ฒฝ๋ก:ย
๋๋ผ์ด๋ธ/UE_5.x/Engine/Plugins/Marketplace/PoseDriverConnect - ์ธ๋ฆฌ์ผ ์์ง์ ์ฌ์์ํ ํ ํ๋ฌ๊ทธ์ธ ๋ฉ๋ด์์ ํ์ฑํ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
Pose Driver Connect Maya ์ค์น
- ์ธ๋ฆฌ์ผ ์์ง ์ค์น ๊ฒฝ๋ก์์ย
PoseDriverConnect.zipย ํ์ผ์ ์ฐพ์ต๋๋ค.- ๊ฒฝ๋ก:ย
๋๋ผ์ด๋ธ/UE_5.x/Engine/Plugins/Marketplace/PoseDriverConnect/Content
- ๊ฒฝ๋ก:ย
- ํด๋น zip ํ์ผ์ย
๋ฌธ์/Maya/modulesย ํด๋์ ๋ณต์ ํ๊ณ ์์ถ์ ํด์ ํฉ๋๋ค. - Maya๋ฅผ ์ฌ์์ํ ํ, Script Editor์์ ๋ค์ Python ์ฝ๋๋ฅผ ์คํํ์ฌ Pose Wrangler๋ฅผ ์คํํฉ๋๋ค.
from epic_pose_wrangler import main
pose_wrangler_instance = main.PoseWrangler()2. Create Secondary Animation in Maya
RBF ์๋ฒ ๊ธฐ๋ณธ ๊ฐ๋
RBF(Radial Basis Function) ์๋ฒ๋ ํ๋์ ๊ด์ (Driver)์ ํ์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ด์ (Driven)์ ์๋์ผ๋ก ๋ณํ์ํค๋ ์์คํ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ ์ฌ๋ฆด ๋ ์์ฐ์ค๋ฝ๊ฒ ์๊ณจ, ๊ฒฌ๊ฐ๊ณจ, ๊ทผ์ก๋ค์ด ํจ๊ป ์์ง์ด๋ ๊ฒ์ ์๋ํํ ์ ์์ต๋๋ค.
RBF ์๋ฒ ์ค์ ํ๊ธฐ
- Pose Wrangler UI๋ฅผ ์ด๊ณ ์๋ก์ด RBF ์๋ฒ๋ฅผ ์์ฑํฉ๋๋ค.
- ์ ์ฒด ๋ถ์๋ณ๋ก ์๋ฒ๋ฅผ ์์ฑํ์ฌ ๊ด๋ฆฌํฉ๋๋ค (์: Upper_Arm_R, Lower_Arm_R, Clavicle_R ๋ฑ).
- ๊ฐ ์๋ฒ์์ ๋ค์์ ์ค์ ํฉ๋๋ค.
- Solver: ์ฃผ์ถ์ด ๋๋ ๊ด์ (์: ์๊ณจ)
- Driven Transforms: ํจ๊ป ์์ง์ฌ์ผ ํ๋ ๊ด์ ๋ค(์: ์น๋ชจ๊ทผ, ๊ฒฌ๊ฐ๊ณจ, ํ๊ทผ, ๊ด๋ฐฐ๊ทผ)
ํฌ์ฆ ์์ฑ ๋ฐ ์กฐ์
- Driver๊ฐ ์ฌ์ฉํ๋ ํ์ ์ถ์ ๋ฒ์๋ฅผ ์ถฉ๋ถํ ์ปค๋ฒํ ์ ์๋๋ก ํฌ์ฆ๋ฅผ ๋ฐฐ์นํด์ผ ํฉ๋๋ค.
- ์ฃผ์ ๋ฐฉํฅ ๋ณ๋ก ์ต์ 4๊ฐ์ง ๋ฐ์ธ๋ํฌ์ฆ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค (Up, Down, Forward, Back).
- ๊ฐ ํฌ์ฆ ์์ฑ ์ ์ฐจ.
- Driver ๊ด์ ์ ์ํ๋ ๊ฐ๋๋ก ํ์ ์ํต๋๋ค.
- Driven ๊ด์ ๋ค์ ์๋์ผ๋ก ์กฐ์ ํ์ฌ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ํํ๋ฅผ ๋ง๋ญ๋๋ค.
- โAdd Poseโ ๋ฒํผ์ ํด๋ฆญํ์ฌ ํด๋น ํฌ์ฆ๋ฅผ ์ ์ฅํฉ๋๋ค.
- ์ค๊ฐ ํฌ์ฆ๋ RBF ์์คํ ์ด ์๋์ผ๋ก ๋ณด๊ฐํ์ฌ ์์ฑํฉ๋๋ค.
- ์ฃผ์ถ ํธ๋์คํผ์ ๋ฐ๋ฅธ ๊ฐ๋๋ก ๋ณ๊ฒฝํ ์ข ์๋ ํ๋์คํผ์ ์ด๋ํ์ฌ ๋ณด๊ธฐ์ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ํฌ์ฆ๋ฅผ ๋ง๋ฌ
Solver Setting
Fuction Type
๋ณด๊ฐ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ์ต์ ์ ๋๋ค.
Automatic Radius Value
- ๋ชจ๋ ํฌ์ฆ ๊ฐ์ ์ ๋ ๊ฑฐ๋ฆฌ ํ๊ท ๊ฐ์ ์๋์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
- ์ด ๊ฐ์ด RBF์ ์ํฅ ๋ฒ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์๋ ์กฐ์ ๋ ๊ฐ๋ฅํ์ง๋ง, ์๋ ๊ณ์ฐ ๊ฐ์ ๋จผ์ ์ฌ์ฉํด๋ณด๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
Normalize Method
OnlyNormalizeAboveOne Weight๊ฐ 1์ด ์ด๊ณผํ ๊ฒฝ์ฐ์๋ง 1๋ก ์ ๊ทํํฉ๋๋ค.
AlwaysNormalize ํญ์ weight ํฉ์ 1๋ก ๋ง์ถฅ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Distance Method
- Eculidean: ํ์ค N์ฐจ์ ๊ฑฐ๋ฆฌ ์ธก์ ๋ฐฉ์์ ๋๋ค.
- Quaternion: ์ ๋ ฅ์ ์ฟผํฐ๋์ธ์ผ๋ก ์ทจ๊ธํ์ฌ ํ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ ์ ํํ๊ฒ ๊ณ์ฐํฉ๋๋ค.
- SwingAngle: Twist Axis๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ถ๋ง ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๋ฐฉํฅ ๋ณํ๋ง ๊ฐ์งEpic Games์ ๋ฉํํด๋จผ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- TwistAngle:ย Twist Axis์์ ์ง์ ๋ ์ถ์ ํ์ ๋ง ๊ฐ์งํฉ๋๋ค.
Pose Exporter
- Up Axis: Z Axis๋ฅผ ์ ํํฉ๋๋ค(์ธ๋ฆฌ์ผ ์์ง์ ๊ธฐ๋ณธ ์ขํ๊ณ์ ์ผ์น).
- Export as Delta: ํ์ฑํโ
๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์ด ์ต์
์ ์ฌ์ฉํ๋ฉด ๋์ผํ ์ค์ผ๋ ํค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์บ๋ฆญํฐ์๋ RBF ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ด ์์
ํจ์จ์ด ๋์์ง๋๋ค.
- ์ต์คํฌํธ๋ฅผ ์คํํ๋ฉด ๋ ๊ฐ์ง ํ์ผ์ด ์์ฑ๋ฉ๋๋ค:
- JSON ํ์ผ: RBF ์ค์ ์ ๋ณด(์๋ฒ ํ์ , ํฌ์ฆ ๋ฐ์ดํฐ, Weight ๋ฑ)
- FBX ํ์ผ: ๊ฐ ํฌ์ฆ์ ์ค์ ๋ณํ ๋ฐ์ดํฐ
3. Import Secondary Animation in UE
์ธ๋ฆฌ์ผ ์์ง ์ค์
- โ๏ธPlugins โ Pose Driver Connect Enable โ
์ํฌํธ ์ค์
- ์๋จ ๋ฉ๋ด์์ย
Tools โ Pose Driver Connect๋ฅผ ์ ํํฉ๋๋ค.- RBF Json File- Jsonํ์ผ ์ง์
- FBX Source Directory: FBXํ์ผ์ด ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก์ง์
- FBX Import Directory: Unreal project> contect์์ ์ํฌํธํ ํด๋ ๊ฒฝ๋ก์ง์
Animation Blueprint์์ ์ค์
- ์บ๋ฆญํฐ์ Animation Blueprint๋ฅผ ์ฝ๋๋ค.
- AnimGraph์ ๋ค์ ๋
ธ๋๋ค์ ์ถ๊ฐํ๊ณ ์ฐ๊ฒฐํฉ๋๋ค:
- RBF Solveย ๋ ธ๋: Maya์์ ์์ฑํ RBF ๋ก์ง์ ์คํํฉ๋๋ค.
- Pose Assetย ๋
ธ๋: ์ํฌํธํ ํฌ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
- ์ํฌํธ๋ Pose Asset์ Additive Type์ โLocal Space Additiveโ๋ก ์ค์ ํ๊ณ , Reference Pose๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค.
- Apply Additiveย ๋ ธ๋: ๊ธฐ์กด ์ ๋๋ฉ์ด์ ์ RBF ๊ฒฐ๊ณผ๋ฅผ ์ถ๊ฐ๋ก ์ ์ฉํฉ๋๋ค.


ํ ์คํธ ๋ฐ ๋ฏธ์ธ์กฐ์
- ์บ๋ฆญํฐ๋ฅผ ์ค์ ๋ก ์์ง์ฌ๋ณด๋ฉด์ ์์ฐ์ค๋ฌ์ด ๋ณํ์ด ์ผ์ด๋๋์ง ํ์ธํฉ๋๋ค.
- ํ์ํ ๊ฒฝ์ฐ Maya๋ก ๋์๊ฐ ํฌ์ฆ๋ฅผ ์์ ํ๊ณ ๋ค์ ์ต์คํฌํธํ ์ ์์ต๋๋ค.
- Radius ๊ฐ์ด๋ Normalize Method๋ฅผ ์กฐ์ ํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ฐธ๊ณ ์๋ฃ
