캐릭터가 화면 내 머무르게 하기 위해 박스 콜라이더를 설정해준다.
플레이어를 우클릭하고
add component를 선택한 후
박스 콜라이너를 투가해준다.
박스 콜라이더의 범위를 지정하기 위해
인스펙터로 들어가고 edit colider를 클릭해 범위를 지정해준다.
일단 다리까지만 범위로해준다.
스크립트에서 박스콜라이더랑 레이어마스크 변수를 선언한다.
get component로 박스콜라이더를 받아오고
업데이트 함수에서 필요한 변수들을 선언해준다.
hit을 이용해 물체의 충돌을 감지한다.
hit의 반환값이 존재하는 경우 움직임을 멈추고, 없을 경우에만 움직일 수 있도록 해줬다.
..
이제 인스펙터 스크립트에서 레이어마스크 항목을 찾을 수 있을 것이다.
이 레이어마스크로 벽처럼 갈 수 없는 공간을 지정해줘야한다.
현재 아무것도 안지정해준 상태이기 때문에 noting으로 지정된 것을 볼 수 있다.
인스펙터에서 레이어를 추가한다.
레이어를 추가한 레이어로 바꿔준다.
테스트를 위해 상자를 하나 추가했따
그리고 이 상자의 레이어를 no passing으로 설정하고 박스콜라이더 속성을추가한다.
...?
강의를 부분적으로 보다보니 뭔가 놓친 부분이 있었나보다. 캐릭터가 아예 움직이지 않는다..!!
내 선에서 코드를 좀 수정해 방해물에 닿지 않도록 해줬다.
레이어마스크도 값을 부여해 설정해줬고
닿고 나서 캐릭터가 그냥 멈춰버리길래 닿았으면 닿은 반대편으로 캐릭터를 조금 이동시켜 캐릭터가 멈추는 현상도 처리했다..
'유니티' 카테고리의 다른 글
유니티 2D 맵 -1 (2) | 2025.01.31 |
---|---|
유니티 2D 카메라 대상 추적 (0) | 2025.01.30 |
유니티 2D 모션 반전 (0) | 2025.01.24 |
유니티 2D 모션 (0) | 2025.01.24 |
유니티 2D (0) | 2025.01.24 |