1.몬스터와 장애물간 충돌 무시
(1) - 가시장애물에 Polygon Collider를 주고 Layer를 anemy로 설정
- monster오브젝트의 Layer도 anemy로 설정
(2) - Edit -> project settings 에서 Layer collision Matrix 의 anemy/anemy 체크해제
(Layer가 anemy인 오브젝트끼리는 충돌을 무시한다)
2.몬스터와 장애물에 플레이어가 충돌했을때
(1) - 몬스터와 장애물의 tag를 모두 anemy로 설정
(2) - Player가 tag가 anemy인 오브젝트와 충돌했을때 이벤트 함수를 player script에 작성
(넉백, Player 색 투명하게)
(3) - player가 넉백 상태일때 무적상태로 만들어 anemy와 충돌무시 구현
(4) - ondamaged() 함수를 생성해서 리펙토링
(5) - 넉백 2초후 무적상태가 해제 되도록 만들기
3.넉백 애니메이션 만들기
(1) - 기존 sprite에서 점프모션 이미지 2개를 Player 오브젝트에 드로그앤 드랍(2개 이미지 이상 끌어놔야 애니메이션 파일 생성됨)
(2) - window -> animation에서 damaged 애니메이션파일을 선택하고 기존의 가져온 2개의 이미지중 1개를 삭제하고
2번째 이미지를 복붙해서 하나더 만든다음 재생할 시간(0.05초) 만큼 뒤에 같은 이미지를 드로그앤 드랍
(3) - Damaged 애니메이션 의 Loop Time을 체크해제 하고
(4) - Animator에서 파라미터로 Trigger값의 isdamaged를 생성
(Trigger : 방아쇠 역할의 매개변수 , 값이 없다는 것이 특징)
- Any State와 Exit 사이에 damaged 애니메이션을 놓고 각각을 연결
(어떤 상태의 애니메이션에서든지 조건을 만족하면 damaged 상태로 넘어갔다가 Exit즉 바로 종료한다는 것)
- Any State ->>damaged 설정
(Has Exit Time 체크해제 , 다른 애니메이션과 겹치는 구간 없게, Conditions에 isdamaged 파라미터추가)
(5) - damaged -> Exit 설정
(Has Exit Time 체크 : 그래야 damaged 애니메이션이 자기가 가진 0.5초의 애니메이션을 실행한 후 종료됨)
(6) - 장애물과 충돌시 애니메이터의 isdamaged 파라미터가 on되도록 스크립트 작성
'Unity > Unity2D_Flat' 카테고리의 다른 글
Unity2D - HP관리, 플레이어 죽음 및 위치재설정, 스테이지 이동 (0) | 2020.11.26 |
---|---|
Unity2D - 몬스터공격 , 게임매니저 생성 및 점수획득 (0) | 2020.11.25 |
Unity2D - 몬스터 AI (0) | 2020.11.22 |
Unity2D - 디버그 및 2단점프 (0) | 2020.11.22 |
Unity2D - 타일맵 (0) | 2020.11.18 |