Ssssong += Dev

[ARProject] 공던지기 개발일지 1주차 본문

개발/단기프로젝트

[ARProject] 공던지기 개발일지 1주차

ssong_dev 2022. 5. 26. 17:31

AR 세팅을 완료한 후 공 던지기 기본 동작과 골대를 제작하였다.

 

작업 현황은

 

5/23 -

AR Foundation 사용하여 유니티 세팅 및 기획서 보완

세팅 방법은 https://songyeongkim.tistory.com/25 에 정리해 두었다.

 

5/24 -

AR 리모트 방법 서치... 하다 AR Foundation에서 리모트 기능을 제공하지 않는다는 것을 깨달았다.

에셋스토어에 리모트 기능을 제작하여 올려둔 분들이 있는데, 80달러 주고 그걸 구매하긴 애매하니

무료에셋인 런타임 콘솔로 휴대폰에서 디버그 창이 보이도록 하였다. 

 

공 던지기 기본 동작을 제작하였다. 레퍼런스인 What the golf? 와 같이 뒤로 당겨서 놓아 던지는 방식인데,

AR화면에서 조작감이 좋지 않아 파워 조절이 좀 더 유연하게 되도록 보완해야 한다.

뒤로 당길 때 파워가 증가하니, 앞으로 밀면 파워가 줄어들도록 변경해야 하겠다.

공 던져서 떨어질 위치를 라인렌더러로 표기하는 것도 좋겠다.

 

골대 중 하나인 스카이다이브 골대를 만들었다. 

이후 5/26에 제작한 '병든 양' 골대에 비해 많이 심심해서 구름 등의 장애물을 추가하기로 하였다.

 

+ 유니티 내에서 리깅이 되는지 Animation Rigging 기능을 찾아보았는데,

유니티 안에서 자체적으로 bone을 만들 순 없어서 블렌더를 사용해서 다음날에 제작할 양 뼈대를 넣어 주었다.

애니메팅도 같이 해서 가져왔다. 블렌더에서 fbx 형식으로 내보내면 쉽게 유니티에서 가져올 수 있다.

 

 

 

5/25 -

'병 든 양' 골대를 제작하였다.

양이 울타리 앞에 도달하였을 때 하늘로 올라가는 건 AddForce를 사용하였다.

Vector3 dir = new Vector3(Mathf.Cos(Mathf.Deg2Rad * 80), Mathf.Sin(Mathf.Deg2Rad * 80), 0);
GetComponent<Rigidbody>().AddForce(dir * jumpForce);

삼각함수 쓸 때 마다 다시 찾아보곤 하는데, 충분히 익숙해져야 하겠다.

 

'양'과 '병'에 각각 RigidBody가 들어있는데, '병'은 공에 부딪히기 전 까지 양과 따로 움직이면 안 되므로

isKinematic 을 true, false로 변경해주며 처리하고 있다. 

양 스폰을 오브젝트 풀링으로 처리하고 있으므로, SetActive될 때 마다 충돌 리지드바디를 초기화시켜 주어야 한다.

angularVelocity - 회전, velocity - 이동 을 둘 다 초기화한다.

rigidbody.angularVelocity = Vector3.zero;
rigidbody.velocity = Vector3.zero;
rigidbody.isKinematic = true;

 

 

 

 

 

5/27 - (예정)

공 던지기 조작감 보완, 스코어 처리, 자동차 골대 제작, 스카이다이빙 장애물 추가

'개발 > 단기프로젝트' 카테고리의 다른 글

[유니티] 꽃잎의 춤  (0) 2022.06.16
[ARProject] Throw Ball!  (0) 2022.06.16
[ARProject] 기본 세팅  (0) 2022.05.23
[유니티 팀 프로젝트] CHESS DEFENCE  (0) 2022.05.16
[유니티 팀 프로젝트] ChessDefence - 기획  (0) 2022.04.20