오늘은 미니프로젝트의 마지막 날로 발표날이었다.
처음 준비한 ppt는 다른 경력직 신입(?)분들과 디자인 마스터들에게 밀렸지만, 우리 팀은 우리 팀의 최선을 다했고 성공적이라고 생각한다.
다음부터는 기획부터 시작해서 와이어 프레임 작성, 코드의 세부 설명까지 잘 준비 할 것 이다. (우리 팀 프로젝트의 장점을 잘 전하지 못한 것 같아서 아쉬웠다.)
다른 팀들의 발표를 보면서 나중에 유용하거나 사용할 것 같은 명령어들을 적었다.
사실 버튼의 애니메이션을 만들기 전에 검색하던 것이 coroutine이었다.
시간을 잠시 멈추고 시행하는 명령어를 검색하면 제일 먼저 나왔던 명령어다.
yield return new WaitForSeconds(시간.f); //시간 초만큼 정지했다가 실행
yield return null; //일단 멈추고 다음프레임에 다시 실행
coroutine의 수행방식을 이해해야 하는데, coroutine은 프레임을 쪼개서 사용하는 것이다. 일반적으로 눈에 보이지 않는 속도로 컴퓨터가 프로세스를 하는데, coroutine은 이것을 강제적으로 보이는 프레임으로 나눠서 실행해주는 것 이다.
(매우 빠르게 정지버튼을 연타하는 느낌.)
thread와는 다른 느낌으로 현재 프로세스 중인 곳에서 발생하는 것이기 때문에 coroutine이 많다면 화면에 부하가 생길 수도 있다.
하지만, 반대로 coroutine을 사용하여 부하를 줄일 수도 있다.
탐색하는 조건에 coroutine을 넣는 것이다.
그렇게 되면 적은 시간에 무수히 많은 탐색으로 인해서 부하에 걸리지 않을 수 있다.
***StopCoroutine과 StopAllCoroutines : coroutine을 정지시키는 명령어
***update는 프레임 단위로 호출한다.(coroutine과 비슷)
다른 팀들이 카드를 이동시키는 애니메이션을 만들어서 이쁘다고 생각하고 저것을 어떻게 구현했을까 생각했느데 unity가 언제나 그렇듯 좋은 기능을 갖고 있었다.
transform.position 을 사용하면 이동하는 모션이 보이지 않지만, Vector2.Lerp 를 사용하면 매우 자연스러운 모션을 볼 수 있다.
transform.position = Vector2.Lerp(transform,position, 원하는 좌표, Time.deltaTime);
자신이 원하는 위치로 천천히 자연스럽게 이동하는 코드.
질문창에 누가 draw.io 로 구현했고 질문하고 그렇다는 대답에 명령어인가 해서 찾아보니 다양한 기능을 가진 그리기 툴이었다. 사용할 수 있는 능력자를 만나면 좋겠다.
보여주고 싶은 내용은 많은데 사용 할 수 있는 공간은 적을 때, 해당 공간에 스크롤 기능을 추가해 주는 component이다.
중요한 요소는 뷰포트(보여지는 영역), 콘텐츠(스크롤 되는 요소), 스크롤 바(스크롤 바) 이다.
아무리 읽어도 아직은 모르겠으나, 중요한 것은 콘텐츠를 스크롤 하고 싶다면 콘텐츠에 부여하는 것이 아니라 뷰포트에 콘텐츠가 넣어져야 한다는 것이다.
팀원들과 상의하고 뭔가 빠르게 구현하고 싶다보니 구조를 생각하고 만드는 것이 아니라 당장 생각나는대로 작성하고 나중에 변수를 추가하고 추가하는 것을 반복했다. 하지만 다른 팀이 발표할 때, 깔끔한 struct 구조와 Playerfabs의 활용은 내 코드를 초라하게 만들었다. 불필요한 변수와 참조를 줄여 자신에게 가독성을 높여주고 나아가 팀원들에게도 가독성 높게 만들 수 있다는 생각이 들었다.