공부/Unity

[Unity] 도전 2주모작 오버쿡드(3) 물체 들고 날리기!

굴러다니다니 2023. 6. 29. 23:12
728x90

1. 썰린 친구 UI 생성


board의 ui와 마찬가지로 따라다니게

WorldToScreenPoint를 사용해서 target을 아래 친구로 정해주었다

슝~


2. 썰린 친구 plate에 두기 가능

plate친구한테 자식객체로 model을 이쁘게 넣어주고

그 친구를 재료에 맞게 껐다켰다 한다

추가로 재료는 놓자마자 destroy

이런식으로 껐다 키기


3. 재료, 접시 바닥에 두기 가능 -> 굴러다님 데굴데굴

이 부분 생각보다 구현이 어려웠다.

일단 지금까지의 상호작용 가능한 애들은 전부 rigidbody를 넣지 않은 상태였는데, 그렇기에 들고 내리기가 수월했다

근데 중력을 안주니깐 공중에 둥실 떠있어서 rigidbody를 넣어주니 손에서 각도가 돌아가 흘러내렸다

이를 방지하기 위해 모두 잡히면 constraints를 걸어두었고, 손에서 떼면 이를 활성화시켜 구를 수 있게 만들었다

데굴데굴


4. 제출하는 곳 conveyor 돌리기 및 빛 효과

제출하는 곳 - station의 컨베이어가 material로 들어가 있어서 얘를 스크립트를 통해 돌려주었다 

이렇게 시간에 따라 값을 조정했고, materials중 3번째의 친구만 돌리고 싶어서 저렇게 했다

(사실 x, y 중 하나만 해도 될거 같은데)

 

모르겠어서 ㅓ대충 존재하는 material 조정해서 넣었음


5. plate 제출 가능

Player가 들고있는게 plate, 상호작용 가능한게 station이면 제출 가능


6. 제출한 plate 차곡차곡 돌아오고 쌓이기

plate는 코루틴을 사용해서 일정 시간 후에 return에 쌓이는데

list로 담아서 몇개가 쌓였는지에 따라 위치 position y값을 조정해서 차곡차곡 쌓아준다

차곡차곡


7. 재료 던지기 가능

재료를 잡은 상태에서 q를 누르면 발사되게 하였다

방법은 rigidbody의 addforce를 캐릭터의 방향에서 일정한 힘을 주어서 발사!

생각보다 간단!

그대신 잡고있는 손이나 뭐 그런건 알아서 빼줘야됐다

슝!


8. 게임 필요한 UI 미리 찾아서 세팅

(귀찮)

728x90