오늘도 즐거운 유니티 공부시간이다
이전 글에서 캐릭터를 움직이는 것 까지 했으니, 이제 움직이는 동기를 만들어 주어야 한다
책에서는 그 동기를 동전 줍기로 구현하려는 것 같다
3D오브젝트에서 Sphere를 생성해 준다
색깔이 변별력이 없으니 변경해주자
3D오브젝트에 표면을 변경할려면 meterial을 수정해주어야 한다
이때, 기본 오브젝트에는 디폴트인 흰색 메테리얼이 들어가 있다
이를 노란색으로 변경해보자
순서대로 메테리얼 생성, RGB 색상 부여, 오브젝트에 메테리얼 수정
의 과정을 거쳐, 구에 색깔을 부여했다
이제 이 구를 캐릭터가 충돌시 먹을 수 있도록 구현해보자
책에서는 IsTrigger을 사용해서 구현하는 것 같다
플레이어의 스크립트에 이런 코드를 추가한다
충돌한 물체가 istrigger가 true일시 other에 넣은뒤, 처리된다
여기에서는 그 물체를 파괴하도록 설계되어 있다
근데 왜 파괴가 안되지? 뭔가 이상하게 처리된 것 같다
로그를 찍어보자
???? 잘나온다
Destroy(other);
그렇다. 게임오브젝트를 빼먹었다
그냥 other만 삭제하라고 해서는 컴퓨터는 알아먹지 못한다
.gameobject를 넣어주어야 한다
이제 정상적으로 destroy되는 것을 확인할 수 있다
이제 이 동전이 여러개 있을때 전부 먹었는지 확인하는 방법을 구현한다
책에서는 tag를 넣어서 count하는 방식을 사용한다
코인 tag를 Coin오브젝트에 넣어준다
이제 이걸 확인할 코드를 추가해주자
오우..... 옛날 유니티의 향기가 나는 코드이다...
예전에 씬을 reload할때 사용하던 방식같다. 지금도 작동은 하지만 더 좋은 방법이 많다
최근 사용하는 방법이라고 필자는 알고 있다. 즉, 유니티쪽에서 따로 만들어 두었다는 이야기.
일단은 구버전으로 사용하는데, 프로젝트시에는 최근 문법을 따르는게 좋다
디버그도 추가해서 확인한다
씬이 무사히 reload 되는걸 확인할 수 있다
'공부 > 유니티' 카테고리의 다른 글
유니티 문제들(움직임, 카메라, 맵핑) - 캐릭터 움직임, 카메라 무빙, 대각선 이동 보정 (1) | 2024.09.27 |
---|---|
유니티3D 공부(Part 1 - 5, Part 1 END) 씬 전환하기, 타이틀 화면, 승리, 패배 씬 추가 (0) | 2024.09.26 |
유니티3D 공부(Part 1-4) 적 만들기, 네이게이션 메쉬(NavMesh), 플레이어 추적 (1) | 2024.09.25 |
유니티3D 공부(Part 1-2) 플레이어 이동 코드분석, 애니메이션 추가 (0) | 2024.09.24 |
유니티3D 공부(Part 1-1) 플레이어 움직이기 (0) | 2024.09.24 |