[HollowKnight] FalseKnight 동작구현-Slam1 : 충격파 생성 및 이동 연출

Slam

-애니메이션으로 Slam 동작 완성

-충격파 생성/ 바닥에 Particle system 추가로 먼지효과

-충격파 앞으로 이동/ Player 타격 시 Player Hp감소

 

 

-음 애니메이션이 뭐가 다른가 고민해봤는데 이미지를 자르면서 중심축이 안맞아서 그렇다. sprite Editor로 피벗 수정했다.

Idle의 피벗

-Idle의 피벗을 기준으로 바꿔줬다.

피벗 수정 후

-앞을 내려치는게 확연히 잘 보인다.

 

Slam 코드를 넣어주고 게임 화면을 확인해 보았다.

 

-wave효과를 주기 위해 wave애니메이션을 생성했다.

-시작하자마자 애니메이션이 나오는게 아니라 원할때 Play해주기 위해서 empty를 new state로 만들어 default로 정했다.

-impactGo는 망치의 콜라이더를 갖고 땅에 붙었다 떨어지는지를 확인한다.

 

-slam 하면 충격파가 발생하게 했다. 보여지는가의 여부는 애니메이션에서 컨트롤 된다. 애니메이션의 State 1일때 x스케일을 조절했다.

https://neulsang-day.tistory.com/10

 

Unity - 2D Particle Effect - 달리기와 착지 먼지

졸업 작품을 하면서 이펙트를 만들 필요성이 생겼습니다. 달리기와 착지 동작을 하면서 캐릭터의 발에서 먼지가 나오는 효과가 필요했는데 이펙트 툴을 쓸 줄 모르기에 파티클 이펙트로만 해결

neulsang-day.tistory.com

-위 포스팅을 참고하여 먼지를 파티클로 넣어주었다.

먼지도 애니메이션을 추가해 충격파와 이어지도록 했다.

현재에는 충격파가 제자리에서 나타나지만, 이제 충격파를 앞으로 이동하도록 구현할 것이다.

-먼저 onCollisionEnter로 작성했던 코드를 OnTriggerEnter로 바꿔주었다. 망치가 바닥에 닿을때 물리 반응은 필요없으므로 불필요한 물리반응을 없애주기 위해 변경하였다.

-충격파에도 collider를 넣어준 후 IsTrigger를 체크하였다. 충돌 체크는 필요하지만 물리반응은 필요없기 때문이다.

-충격파를 AddForce를 사용해 앞으로 이동하도록 코드를 수정했다.

-바닥에 충돌할때 바닥 충돌 효과를 연출하기 위해 충돌 애니메이션을 FalseKnightSlam 애니메이션에 추가했다.

-WaveAttack 스크립트를 추가했다. 이를 통해 Player와의 충돌체크를 확인한다.

-이제 충돌이 잘 되는지 확인하였으므로 다음 포스팅에서 player의 GetHit, cameraShake를 구현하여 slam 연출을 마무리 할 것이다.

myoskin