본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 그 75번째 걸음-드디어 해결된 랜덤한 동전 해결책

by 인터넷떠돌이 2018. 8. 24.
반응형

안녕하세요?


이래저래 막혀서 뭐가 안되는 차에, 이제서야 유니티5에서 랜덤한 위치에 콜렉터블 오브젝트 위치를 만드는 작업이 성공적으로 끝이 났습니다. 애초에는 어느정도 랜덤한 위치에 코인이 나오면서 3가지 문제가 나왔는데, 이번 포스팅에서는 단 한번의 작업으로 이 3가지 문제가 모두 풀린 현상을 보여드리고자 합니다.



먼저 Collectable.cs라는 C# 스크립트를 열어서, 한번 coinPrefabs2라고 해서 기존의 동전이 나오는 위치를 그대로 반영하라는 명령어로 바꾸어 보도록 합니다. 만약을 위해서 기존에 사용하던 코드는 주석으로 불활성화 처리를 하였습니다.



그랬더니 이번에는 처음의 위치인 맨 밑 바닥에 붙은 채로 동전이 나오는 것을 확인할 수 있었습니다. 그래서 아무래도 이 랜덤한 값의 변수를 적용하는 과정에서 무언가가 잘못된 것이 아닌가 하는 생각이 들었습니다.



일단 이 상태에서 나오는 동전들은 모두 Y축의 값이 1.71이라는 일정한 값을 가지고 있는 것을 볼 수 있었습니다.




그래서 이번에는 위 스크린샷과 같은 방법을 사용했습니다. 여기서 핵심이 되는 포인트는 다음과 같습니다. [기존의 값 + 랜덤하게 생성된 변수의 값] 이라는 식으로 좌표를 지정해서 한번 Coin의 위치에 대입하는 방법을 사용하였습니다.



이번에는 기존에 문제점인 시작 화면에서 지나치게 많은 동전이 생성되던 문제점이 있었는데, 우선 그것 부터 해결이 되었다는 생각이 듭니다.



거기다가 이렇게 [기존의 좌표위치 + 랜덤한 값]이라는 것으로 지정을 하였더니, 발판이 없어지면서 동전도 같이 사라지는 것을 볼 수 있었습니다. 이제 남은 문제라고는 점프를 해도 닿지 않는 높이에 생성되는 동전을 어떻게 하면 더 낮추느냐 하는 것 입니다.




그래서 Random.Range의 값을 정수인 0부터 3까지로 나누도록 했습니다.



그러자 이번에는 어느정도 먹을 수 있을 만한 위치에서만 동전이 생성되는 것을 볼 수 있었습니다.



이제 제 의도대로 동전이 어느정도 생성이 되는 것을 확인할 수 있었습니다. 여기다가 X축 좌표만 어느정도 손을 보면 완벽하게 동전이 랜덤으로 생성이 된다는 것을 알 수는 있는데, 아무튼 이것으로서 지난번 포스팅에서 언급이 되었는 문제점 3가지가 완전히 해결이 되었습니다. 이제 남은 것은 X축 좌표까지 랜덤으로 만들고 나서, 주인공인 제이크에게 부스터를 달아준다고 했는데, 부스터는 어떻게 구현할 것인가 하는 것 입니다.

반응형