๐ก ์ด์ ํฌ์คํ ์์ Input System๊ณผ ์ ๋๋ฉ์ด์ ์ ์ฉ์ ๋ํด ์์๋ณด์๋ค.
์ถ๊ฐ๋ก ์บ๋ฆญํฐ๊ฐ ์ด์ ์๊ธฐ ์ ์กฐ์คํ๋ ์ ๋๋ฉ์ด์ ๋ฐ ๋์ ์ฒ๋ฆฌ์ ๋ํด์ ์์ฑํ๊ฒ ๋ค.
์บ๋ฆญํฐ๊ฐ ์ด์ ์๋ฉด ๋จ์ํ ์ด์๋ง ๋๊ฐ๋ ๊ฒ์์ ๊ทธ์น์ง ์์ต๋๋ค.
์กฐ์ค ๋ชจ์
, ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ ๋ฐ๋ฅธ ์บ๋ฆญํฐ ํ์ ๋ฑ๋ฑ..
๊ทธ๋์ ํ์์ ๋ฐ๋ผ ์ ๋๋ฉ์ด์
๋ค์ด ๋ค๋ฅด๊ฒ ๋์ํ ์ ์์ด์ผ ํฉ๋๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋์์ ๋ํ ์ ๋๋ฉ์ด์
์ด ์ค๋น๋์ด ์์ง ์์ต๋๋ค.
์ด์ ๋ํ ์ฒ๋ฆฌ๋ฐฉ๋ฒ๊ณผ ์บ๋ฆญํฐ์๊ฒ ์ค์ ๋ก ์ด์ ์ฅ์ฐฉํด๋ณด๊ฒ ์ต๋๋ค.
1. ์ฌ์ ์ค์
2. ์ ๋๋ฉ์ด์
๋ชฝํ์ฃผ ์ฌ์ฉ
3. ๋ฌด๊ธฐ ์ฅ์ฐฉ
4. ์ฐํด๋ฆญ์ผ๋ก ์กฐ์ค ๋ชจ์
๊ตฌํ
5. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ1
6. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ2
์๋์ ์์
๋ค์ ๋ค์ด๋ก๋ ๋ฐ์์ ์งํํ์ต๋๋ค.
ํ๋ก์ ํธ์ ๋ฒ์ ์ด ๋ฌ๋ผ๋ ํธํ๋๋ ๋ณ๊ฒฝํด์ ๋ค์ด๋ฐ์ ์ฃผ์ธ์!
Animation ํด๋์ AimAni๋ผ๋ ํด๋๋ฅผ ์ถ๊ฐํ์.
AimAniํด๋๋ก ์ด๋ ํ Content Browser๋ฅผ ์ด์.
MM_Idle์ ๊ฐ์ ธ์ฌ ๊ฑด๋ฐ...
โ์ ๋ฐ ๋ณต์ฌํด์ ๊ฐ์ ธ์ค์โ
โ์๋ณธ์ ์์ ํ๋ค๊ฐ... ์์์ ๋งก๊ธด๋คโ
MM_Idle์ ๋ณต์ฌํด์ AnimAniํด๋์ ๋ฃ์ด์ฃผ์
๋ณต์ฌํ MM_Idle์ ์ด๋ฆ์ AO_Idle๋ก ๋ณ๊ฒฝํด์ฃผ์
AO_Idle์ ์ผ์ ์์ ํ์.
์ญ์ ๋ณต์กํ์ง๋ง ์ฐ๋ฆฐ ๋นจ๊ฐ๋ฐ์ค 2๊ฐ๋ง ์์ ํ ๊ฒ์ด๋ค.
์ฐ์ ์๋ ์ฌ์์ฐฝ์์ ์งํ๋ฐ๋ฅผ ๊ฐ์ฅ ์ข์ธก์ผ๋ก ์ด๊ธฐ์.
โ๋ณต์ฌ๋ณธ์ธ์ง ๋ค์ ํ๋ฒ ํ์ธํ์โ
โ๋ณต์ฌ๋ณธ์ธ์ง ๋ค์ ํ๋ฒ ํ์ธํ์โ
โ๋ณต์ฌ๋ณธ์ธ์ง ๋ค์ ํ๋ฒ ํ์ธํ์โ
๊ทธ๋ฆฌ๊ณ ์ฐํด๋ฆญ ํ Remove from Frame 1 to frame 228์ ์ ํํ์.
์ด์ ์ข์ธก Asset Details ์ฐฝ์์ ์์ ํ์.
- ์๋์ Additive Settings์ Additive Anim Type์ Mesh Space๋ก ์ง์ ํ์.
- Base Pose Type์ Selected animation scaled๋ก ์ง์ ํ๋ค.
- ์๋ Base Pose Animation์์ MM_Idle์ ๊ฒ์ํด์ ์๋ณธ์ ๋ฃ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฅํ๊ณ ๋๊ฐ์.
AO_Idle์ 2๊ฐ ๋ณต์ฌํด์ ๊ฐ๊ฐ AO_Down, AO_Up์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์.
AO_Up ์์
1. ํ๋ ์ด ์ผ์์ ์ง
2. spine_02 ๋ผ ์ ํ
3. Pitch๋ฅผ ์๋ก ๋ณด๋๋ก ์์ (์ฝ 45๋)
4. ์๋จ์ +Key ํด๋ฆญ
5. ์ ์ฅ
AO_Down ์์
1. ํ๋ ์ด ์ผ์์ ์ง
2. spine_02 ๋ผ ์ ํ
3. Pitch๋ฅผ ์๋ก ๋ณด๋๋ก ์์ (์ฝ 45๋)
4. ์๋จ์ +Key ํด๋ฆญ
5. ์ ์ฅ
์ ์์
์ด ๋๋๋ฉด ํ์ผ์ด ์ด๋ ๊ฒ ๋ณด์ผ ๊ฒ์ด๋ค.
์ ๋ชจ์
๋ค์ Aim Offset์ ์ฌ์ฉํ์ฌ ์กฐ์ ํ ๊ฒ์ด๋ค.
Blend Space์ ๋์ผํ๋ค!
์ฐํด๋ฆญ - Animation - Legacy - Aim Offset 1D๋ฅผ ์์ฑํด์ฃผ์
์ฐ๋ฆฌ์ ์ค์ผ๋ ํค์ ์ ํํด์ฃผ๊ณ
AOB_Aim์ด๋ผ ์ง์ด์ฃผ์
์๋ํฐ๋ฅผ ์ผ์ ๊ฐ์ ๋ฃ์ด์ฃผ์.
์ข์ธก Axis Settings์ Horizotal Axis์ ๊ฐ์ ์๋์ ๊ฐ๋ค.
Name : Aim
Min : -45
Max : 45
Snap to Grid : ์ฒดํฌ
์ค๊ฐ์ ๊ฐ์ ๋ฐ๋ฅธ ์ ๋๋ฉ์ด์
๋ชจ์
์ ๋ฃ์ด์ฃผ์
ABP_Player์ Event Graph๋ก ์ด๋ํ์.
Aim (Float)๋ณ์ ํ๋ ์์ฑํด์ฃผ์.
๊ทธ๋ฆฌ๊ณ Try Get Pawn Owner์์ Get Base Aim Rotation๋
ธ๋๋ฅผ ๊ฐ์ ธ์ค๊ณ Splitํด์ฃผ์
Set Aim๋
ธ๋๋ฅผ ๊ฐ์ ธ์์ Pitch๊ฐ๋ง ๋ฃ์ด์ฃผ์.
ํ๋ฆ ์ฐ๊ฒฐ์ ์ด์ ๋น์ฐํ ํด์ฃผ์.
Anim Graph๋ก ์ด๋ํ์.
์ฐํด๋ฆญ ํ AOB_Aim์ ๊ฒ์ํด์ ๋
ธ๋๋ฅผ ์ถ๊ฐํ์.
์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ AimOffset Player๋ก ๊ฐ์ ธ์ค์
Aim ์ธํ์ ์์ฑํ Get Aim (Float)์ ๋ฃ์ด์ฃผ์.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ Layered blend per bone๊ณผ Output Pose ์ค๊ฐ ํ๋ฆ์ผ๋ก ๋ฃ์ด์ค๋ค.
โ์ปดํ์ผ ์ ์ฅโํ ํ๋ ์ดํด๋ณด์.
์์ ์ ๋ฐ๋ผ ์บ๋ฆญํฐ์ ์์ฒด ๊ฐ๋๊ฐ ๋ฌ๋ผ์ง๋ค!
์ด๋ฒ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ณด๊ฒ ๋ค.
ํจ์ฌ ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค.
์ฐ์ Event Graph๋ก ์ด๋ํ์.
๊ทธ๋ฆฌ๊ณ AimRoator (Rotator) ๋ณ์๋ฅผ ํ๋ ์์ฑํด์ฃผ์.
Try Get Pawn Owner์์ 2๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ์ ธ์จ๋ค.
- Get Actor Rotation
- Get Control Rotation
์ถ๊ฐ๋ก Delta (Rotator) ๋
ธ๋๋ฅผ ์ถ๊ฐํ์.
Get Actor Rotation๊ณผ Get Control Rotation๋ฅผ ์
๋ ฅ์ผ๋ก ๊ฐ๊ฐ ๋ฃ๊ณ Split ํด์ฃผ์.
Delta (Rotator)๋ ๋ ํ์ ๊ฐ์ ์ ๊ทํ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ Clamp (Float)์ด๋ผ๋ ๋
ธ๋๋ฅผ ์ถ๊ฐํ์.
Min, Max์๋ ์ด์ ์ ์ค์ ํ๋ ์บ๋ฆญํฐ๊ฐ ๋ฐ๋ผ๋ณด๋ ์ต์, ์ต๋ ๊ฐ๋๋ฅผ ์ค์ ํด์ฃผ์
๊ฐ๊ฐ -45, 45๋ก ์ค์ ํด์ฃผ์๋ค.
Delta (Rotator)์ Pitch๋ฅผ Value์ ๋ฃ์ด์ฃผ์.
๊ทธ๋ฆฌ๊ณ Set AimRotator๋ฅผ ๊ฐ์ ธ์ค์.
- Aim rotator X (Roll)์ Clamp ๋ ธ๋์ ๋ฐํ๊ฐ ์ฐ๊ฒฐ
- Delta (Rotator)์ Yaw ๋ฐํ๊ฐ์ Aim rotator Z (Yaw)์ ์ฐ๊ฒฐ
ํ๋ฆ์ด์ด์ฃผ๊ณ โ์ปดํ์ผ ์ ์ฅโํ์.
Anim Graph๋ก ์ด๋ํ์.
๊ทธ๋ฆฌ๊ณ Transform (Modify) Bone ๋
ธ๋๋ฅผ ์ถ๊ฐํ์.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ AOB_Aim์ ํ๋ฆ์ ์ญ์ ํ Layered blend per bone๊ณผ Output Pose ์ค๊ฐ ํ๋ฆ์ผ๋ก ๋ฃ์ด์ค๋ค.
Rotation์๋ Get AimRotor๋ฅผ ๋ฃ์ด์ฃผ์
โ์ปดํ์ผ ์ ์ฅโํ ํ๋ ์ดํด๋ณด๋ฉด ๋๊ฐ์ด ๋์ํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค!!
๊ฐ์ ๋์์ผ๋ก ๋ณด์ด์ง๋ง ์ํฉ๋ณ๋ก ๋ค๋ฅด๊ฒ ์ฐ์ธ๋ค๋ ์๋ฃ๋ฅผ ์ฐพ์๋ค.
์์ ์คํ์ (Aim Offset)
์์ ์คํ์ ์ ์ฃผ๋ก ์บ๋ฆญํฐ์ ์์ฒด๋ ๋ฌด๊ธฐ๋ฅผ ํน์ ๋ฐฉํฅ์ผ๋ก ํ์ ์ํค๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์ด์ ๋ ์บ๋ฆญํฐ์ ๊ฒฝ์ฐ, ์์ ์คํ์ ์ ์ด์ ํฅํ๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ์บ๋ฆญํฐ์ ์์ฒด๋ฅผ ํ์ ์ํค๋ ๋ฐ ์ฌ์ฉ๋๋ค.
๋ณดํต ์ด์ ๋ ์ํ์์์ ํน์ ๋ฐฉํฅ์ ๋ฐ๋ฅธ ์์ฒด ํ์ ์ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
์ ๋๋ฉ์ด์ ๋ธ๋ฃจํ๋ฆฐํธ์์ ์ฌ์ฉ๋๋ฉฐ, ์ฃผ๋ก ์๋์ ์ธ ํ์ ๊ฐ์ผ๋ก ์ ์๋ฉ๋๋ค.
ํธ๋์คํผ ๋ณธ(Transform Bone)
.ํธ๋์คํผ ๋ณธ์ ์บ๋ฆญํฐ์ ๊ฐ๋ณ์ ์ธ ๋ผ๋(bone)๋ฅผ ์ง์ ์ด๋ํ๊ฑฐ๋ ํ์ ์ํค๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์ด๋ ์บ๋ฆญํฐ์ ์ ์ฒด์ ์ธ ์์ธ๋ ํฌ์ฆ๋ฅผ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
ํน์ ๋ผ๋์ ๋ํ ์์น์ ํ์ ๊ฐ์ ์ง์ ์ง์ ํ ์ ์๋ค.
์ฃผ๋ก ์ ๋๋ฉ์ด์ ๋ธ๋ ๋ ์คํ์ด์ค(blend space)๋ ์ ๋๋ฉ์ด์ ๋ชฝํ์ฃผ(animation montage) ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค.
์๋ ๊ณผ์ ์์ ์๋ฌธ์ ๊ฐ์ก๋ค.
์ Pitch๊ฐ์ Roll์ ์ด์ด์ฃผ๋๊ฑฐ์ง?
๊ฒฐ๋ก ์ ์ขํ๊ณ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
Actor์์๋ X๊ฐ ์ ๋ฉด์ธ๋ฐ
Skeltal Mesh์์๋ Y๊ฐ ์ ๋ฉด์ด๋ค.
๋ฐ๋ผ์ Transform (Modify) Bone์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ Y๋ฅผ X์ ๋ฃ์ด์ค์ผ ๋๊ฐ์ด ๋์ํฉ๋๋ค.
์ถ๊ฐ ์ถ๊ฐ ์ ๋ณด
" ์์ ๊ธฐ์ค ์ขํ๋ฅผ ๋ฐ๋ผ๊ฐ๋ค. "
" ์ฌ๊ธฐ์ ๋ ํฌ์ธํธ๊ฐ ๋ฐํ๊ฐ Y = -Control Rotation.Y ์ธ๋ฐ ํ๋ฉด์ด ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ค๋ฉด ๋ชธ์ ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋์์ผํ๊ธฐ์ -์ ๋๋ค. "
์ด๊ฑธ๋ก ๊ณํํ ์บ๋ฆญํฐ์ ์กฐ์ค ๋ชจ์
์ถ๊ฐ๊น์ง ํฌ์คํ
์ด ๋์ด ๋ฌ์ต๋๋ค.
์ถํ ๋ฐ์ฌ, ํผ๊ฒฉ๊น์ง ๋ฐฐ์ฐ๊ณ ์ฐ์ตํด์ ํฌ์คํ
ํ๋๋ก ํด๋ณด๊ฒ ์ต๋๋ค.
1. ์ฌ์ ์ค์
2. ์ ๋๋ฉ์ด์
๋ชฝํ์ฃผ ์ฌ์ฉ
3. ๋ฌด๊ธฐ ์ฅ์ฐฉ
4. ์ฐํด๋ฆญ์ผ๋ก ์กฐ์ค ๋ชจ์
๊ตฌํ
5. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ1
6. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ2