





-Player는 GetHit되면 충돌 이펙트가 생겨나고 애니메이션 자체는 단순하지만,
뒤로 약간 밀려나며, 이펙트의 애니메이션이 함께 실행되어 연출된다.
-이후에는 흑백으로 깜박이면서 제자리에 낙하한다. 낙하 애니메이션은 JumpDown과 동일하다.
-이 애니메이션 실행시간동안 Camera Shake가 일어난다.
-따라서 GetHit애니메이션을 생성할때 뒤로 밀려났다 제자리로 오는 부분은 애니메이션으로 구현하되, 플레이어의 전체적인 위치는 약간 뒤로 밀려나도록 코드를 작성해야한다.
충돌시 밀려나는 동작

-WaveAttack.cs를 다음과 같이 수정하였다.

-현재에는 플레이어가 effectGo,즉 충격파의 방향을 받아와 그 방향에 의해 뒤로 밀려나도록 했는데, GetHit 은 다른 오브젝트 일 수 있으므로 코드를 수정할 필요가 있다.
플레이어가 GetHit일때 깜빡임 효과

-위에 작성한 GetHit을 코루틴으로 바꾸고 깜박임을 보여주는 코드를 추가로 넣어주었다. 골드메탈님의 코드를 참고했다. 시간을 재서 짝수 초일때, 홀수 초일때 색을 바꿔준다. while문을 다 돌면 color를 원래대로 돌려둔다.
https://m.blog.naver.com/gold_metal/220892674946
[유니티 2D 기초] 11.플레이어 피격
이번 시간에는 플레이어가 생명력을 가지고 몬스터, 낭떠러지같은 피격에 대한 로직을 구현해보도록 하겠습...
blog.naver.com
CameraShake
-충돌 시 밀려나기만 하면 타격된 느낌이 들지 않으므로 CameraShake를 넣어주었다.
-ShakeAmount를 조절해 세게 흔들지 결정한다. Amount가 커질수록 세게 흔들어진다.



https://docs.unity3d.com/ScriptReference/Random-insideUnitSphere.html
Unity - Scripting API: Random.insideUnitSphere
Note that the probability space includes the surface of the sphere because value, which is inclusive to 1.0, is used to acquire a random radius.
docs.unity3d.com

-GetHit 애니메이션과 다른 애니메이션을 Animator에서 조정하고 공격하거나 점프중에도 GetHit이 정상적으로 되도록 코드를 수정했다.




-Moving과 Jump는 isGetHit이 true이면 move상태나 jump상태이더라도 state를 직접 바꾸게 하였다.


'[2D] HollowKnight 모작' 카테고리의 다른 글
[HollowKnight] 개발 1차 점검 (0) | 2023.09.21 |
---|---|
[HollowKnight] Monster 피격시 Player의 Attack Effect 추가 구현 (0) | 2023.09.21 |
[HollowKnight] FalseKnight 동작구현-Slam1 : 충격파 생성 및 이동 연출 (0) | 2023.09.19 |
[HollowKnight] Player 점프 추가 구현(New InputSystem- interactions 의 hold, press) (0) | 2023.09.17 |
[HollowKnight] FalseKnight - 애니메이션 - 강타(Slam),레이지(Rage) (0) | 2023.09.16 |