๐ก ์ด์ ํฌ์คํ ์์ Input System๊ณผ ์ ๋๋ฉ์ด์ ์ ์ฉ์ ๋ํด ์์๋ณด์๋ค.
์ถ๊ฐ๋ก ์บ๋ฆญํฐ๊ฐ ์ด์ ์๊ธฐ ์ ์กฐ์คํ๋ ์ ๋๋ฉ์ด์ ๋ฐ ๋์ ์ฒ๋ฆฌ์ ๋ํด์ ์์ฑํ๊ฒ ๋ค.
์บ๋ฆญํฐ๊ฐ ์ด์ ์๋ฉด ๋จ์ํ ์ด์๋ง ๋๊ฐ๋ ๊ฒ์์ ๊ทธ์น์ง ์์ต๋๋ค.
์กฐ์ค ๋ชจ์
, ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ ๋ฐ๋ฅธ ์บ๋ฆญํฐ ํ์ ๋ฑ๋ฑ..
๊ทธ๋์ ํ์์ ๋ฐ๋ผ ์ ๋๋ฉ์ด์
๋ค์ด ๋ค๋ฅด๊ฒ ๋์ํ ์ ์์ด์ผ ํฉ๋๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋์์ ๋ํ ์ ๋๋ฉ์ด์
์ด ์ค๋น๋์ด ์์ง ์์ต๋๋ค.
์ด์ ๋ํ ์ฒ๋ฆฌ๋ฐฉ๋ฒ๊ณผ ์บ๋ฆญํฐ์๊ฒ ์ค์ ๋ก ์ด์ ์ฅ์ฐฉํด๋ณด๊ฒ ์ต๋๋ค.
1. ์ฌ์ ์ค์
2. ์ ๋๋ฉ์ด์
๋ชฝํ์ฃผ ์ฌ์ฉ
3. ๋ฌด๊ธฐ ์ฅ์ฐฉ
4. ์ฐํด๋ฆญ์ผ๋ก ์กฐ์ค ๋ชจ์
๊ตฌํ
5. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ1
6. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ2
์๋์ ์์
๋ค์ ๋ค์ด๋ก๋ ๋ฐ์์ ์งํํ์ต๋๋ค.
ํ๋ก์ ํธ์ ๋ฒ์ ์ด ๋ฌ๋ผ๋ ํธํ๋๋ ๋ณ๊ฒฝํด์ ๋ค์ด๋ฐ์ ์ฃผ์ธ์!
โ์์์ ๋งํฌํ ์์ ์ ๊ธฐ๋ฐ์ผ๋ก ์งํํฉ๋๋คโ
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ง๋คํน์ ์ค์ผ๋ ํค ์ฐฝ์ผ๋ก ๋ค์ด์ค์.
๊ทธ๋ฆฌ๊ณ ์๋จ์ Preview Animation ํด๋ฆญ - fire_rifle_ironsights ๊ฒ์ fire_rifle_ironsights ์ ๋๋ฉ์ด์
์ ํ ํ ์๋์์ ์ผ์์ ์ง ๋ฒํผ์ ๋๋ฅด์.
์ด์ ์ข์ธก์์ ์์ฒญ๋ ๋ผ๋ค์ด ๋ณด์ด๋๋ฐโํจ๋ถ๋ก ์์ง์ด์ง ๋ง์โ
์ข์ธก์์ hand_r์ ๊ฒ์ํด์ ์ฐพ์์ฃผ์.
์ฐ๋ฆฌ๋ ์ค๋ฅธ์์ ๊ธฐ์ค์ผ๋ก ์ด์ ๋ฃ์ ๊ฒ์ด๋ค.
hand_r ๋ผ์์ ์ฐํด๋ฆญ - Add Socket - Rifle๋ก ์ด๋ฆ ๋ณ๊ฒฝ์ ํด์ฃผ์.
Rifle ์์ผ์ ์ฐํด๋ฆญ - Add Preview Asset - sk_ar4๋ฉ์๋ฅผ ๋ฃ์ด์ฃผ์
์์ด์ ์ ์ ํ ์ด๋, ํ์ ํด์ ์๋ง๊ฒ ์์ ํด์ฃผ์.
์ง๊ธ ์์
์ ์ค์ ๋ก ์บ๋ฆญํฐ์๊ฒ ์ด์ด ์ ์ฉ๋ ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ ๊ธฐ์ตํ์!
์ง์ ๋ผ๋ฅผ ์์ง์ด๋๊ฒ ์๋๋ผ๋ฉด ์ ํํ ๋ง์ถ๊ธฐ ์ด๋ ค์ฐ๋ ์ ๋นํ ๋์ด๊ฐ์.
โ์ ์ฅโํด์ฃผ์
์ด์ ์ค์ ๋ก ์ ์ฉํ๊ธฐ ์ํด์ BP_Player์ Viewport๋ก ์ด๋ํ์.
์ข์ธก Components์์ Mesh๋ฅผ ์ ํ ํ ์ค์ผ๋ ํค ๋ฉ์๋ฅผ ์ถ๊ฐํด์ฃผ์.
๊ทธ๋ฆฌ๊ณ ์ด๋ฆ์ Rifle๋ก ๋ณ๊ฒฝํ์.
โComponents์ Rifle์ ์ ํํ๊ณ ํ์ ์ผ ํฉ๋๋คโ
์ฐ์ธก Details์ฐฝ์์ 2๊ฐ์ง๋ฅผ ์ค์ ํ์.
- socket์ด๋ผ ๊ฒ์ํ๊ณ ์๊น ์์ฑํ Rifle ์์ผ์ผ๋ก ์ง์ ํ์.
- Mesh์์ SK_AR4 ๊ฐ์ ์ด์ผ๋ก ์ง์ ํ์.
โ์ปดํ์ผ ์ ์ฅโ ํ ํ๋ ์ดํ์.
์บ๋ฆญํฐ๊ฐ ์ด์ ๋ค๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
3์ธ์นญ ๊ฒ์์์ ์ฐํด๋ฆญ์ ๋๋ฅด๊ณ ์์ผ๋ฉด ์บ๋ฆญํฐ๊ฐ ์ด์ ๋ค๊ณ ์๋ ๋ชจ์ ์ด ๋์จ๋ค.
Blend Space๋ฅผ ์ฌ์ฉํด์ ์กฐ์ค ๋ชจ์ ์ ๊ฐ๋จํ๊ฒ ๊ตฌํํด๋ณด์.
์ฐํด๋ฆญ ์
๋ ฅ์ ๋ฐ์ ์ ์๊ฒ Input Action์ ์ถ๊ฐํ์.
IA_Aim์ผ๋ก ์์ฑํ๊ณ Digital (bool)๋ก ์ค์ ํ์
๊ทธ๋ฆฌ๊ณ IMC์์ ์ฐํด๋ฆญ์ผ๋ก ๋งคํํด์ฃผ์.
์ฐํด๋ฆญ ์ ๋ ฅ์ ๋ฐ์์ผ๋ Blueprint์์ ๋ฑ๋ก
์ด์ ๊ธฐ์ตํฉ์๋ค.
BP_Player์ Event Graph๋ก ๊ฐ์๋ค.
IA_Aim๋ฅผ ๊ฒ์ํด์ ๋ฑ๋กํด์ค๋๋ค.
์ฐํด๋ฆญ ์ฌ๋ถ๋ฅผ ํ๋จํ isAiming (Boolean)๋ณ์ ์ถ๊ฐํด์ค์๋ค.
Set isAiming 2๊ฐ๋ฅผ ๊ฐ์ ธ์์ ์ค์ ํด์ค์๋ค.
- ์ฐํด๋ฆญ์ด ๋๋ฆฌ๋ฉด Started์ ํ๋ฆ ์ฐ๊ฒฐ ํ True๋ก ์ค์
- ์ฐํด๋ฆญ์ด ๋จ์ด์ง๋ฉด Completed ํ๋ฆ ์ฐ๊ฒฐ ํ False๋ก ์ค์
โ์ปดํ์ผ ์ ์ฅโํด์ฃผ์
ABP_Player๋ฅผ ์ผ์ Event Graph๋ก ๊ฐ์
์ด์ isAiming์ ABP์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
ABP์์๋ isAiming (Boolean)๋ณ์ ์์ฑํด์ค์๋ค.
Try Get Pawn Owner์์ BP_Player๋ฅผ ์บ์คํธํด์ ๋ณ์๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
Cast To BP_Player๋
ธ๋ ์ด์ด์ค์๋ค.
์บ์คํธ๋ BP_Player์ ๋
ธ๋์์ isAiming ๊ฐ์ ธ ์ต์๋ค.
Get is Aiming ๊ฒ์ํด์ ๋
ธ๋ ์ถ๊ฐํฉ์๋ค.
โGet isAiming์ BP_Player์ ๋ณ์โ
โSet isAiming์ ABP_Player์ ๋ณ์โ
ํ๋ฆ ์ฐ๊ฒฐ๋ ์์ง ๋ง๊ณ ํด์ค์๋ค.
์ด์ Anim Graph๋ก ๋์ด๊ฐ์ ์์ ํด์ค์๋ค.
State machine ๋
ธ๋ ํ๋ ์ถ๊ฐ ํ RifleLocomotion์ผ๋ก ์ด๋ฆ ๋ณ๊ฒฝํด์ค์๋ค.
๊ทธ๋ฆฌ๊ณ RifleLocomotion ์ผ๋ก ๋ค์ด๊ฐ์ ์ ๋๋ฉ์ด์ ์ถ๊ฐํด์ค์๋ค.
์ ๋๋ฉ์ด์
์ 2๊ฐ ๋ฃ์ ๊ฒ๋๋ค.
Asset Browser์์ ๊ฒ์ํด์ ์ถ๊ฐํด์ฃผ์ธ์
- ์ด์ ๋ด๋ฆฐ ์ํ / idle_rifle_hip
- ์กฐ์ค ์ํ / idle_rifle_ironsights
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ ์ด๋ฆ์ ๋ณ๊ฒฝํด์ฃผ์ธ์.
- Idle_Rifle_Hip > RifleIdle
- Idle_Rifle_Ironsights > RifleAim
์ ์ ๋ถ ์ด์ด ์ค์๋ค!
์ ํ ์กฐ๊ฑด์ ๊ฐ๋จํ์ฃ ?
isAiming์ด True์ผ ๋ RifleAim์ํ
isAiming์ด False์ผ ๋ RifleIdle์ํ
โ์ปดํ์ผ ์ ์ฅโํด์ฃผ์
๋ค์ Anim Graph๋ก ์ด๋ํฉ๋๋ค.
RifleLocomotion์ RifleLocomotion์ผ๋ก ์บ์ ์์ฑํด์ฃผ์.
๊ทธ๋ฆฌ๊ณ ๋ง๋ค์๋ Fire์บ์์ ์ธํ์ Locomotion๋์ RifleLocomotion์ ๋ฃ์!
โ์ปดํ์ผ ์ ์ฅโํ๊ณ ํ๋ ์ดํด๋ณด์
๋งค์ฐ ์๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์บ์๋ฅผ ์ฌ์ฉํด์ ์ ๋๋ฉ์ด์ ์ ํ๋ฆ์ ์ฐ๊ฒฐํ๋ ๊ฐ๋ ์ด ์ฝ๊ฒ ์ดํด๊ฐ ๊ฐ์ง ์๋๋ค.
์๋ฃ๋ฅผ ๋ง์ด ์ฐพ์๋ณด๊ณ ๊ณต๋ถํ์.
๋ค์์๋ ๊ฐ๋์ ๋ฐ๋ผ์ ์บ๋ฆญํฐ๊ฐ ๋ฐ๋ผ๋ณด๋๋ก ์์ ํด๋ณด๊ฒ ๋ค
1. ์ฌ์ ์ค์
2. ์ ๋๋ฉ์ด์
๋ชฝํ์ฃผ ์ฌ์ฉ
3. ๋ฌด๊ธฐ ์ฅ์ฐฉ
4. ์ฐํด๋ฆญ์ผ๋ก ์กฐ์ค ๋ชจ์
๊ตฌํ
5. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ1
6. ๊ฐ๋์ ๋ฐ๋ฅธ ์์ ์กฐ์ค ๋ฐฉ๋ฒ2