오늘의 공부 내용
===0-1강 부터 1-5강의 내용===
-
유니티에 대해서 공부
-유니티란: 충돌/중력/탄성/카메라 등을 쉽게 코딩 할 수 있는 툴
-유니티 개발화면: Scene/Game/Hierachy/Project/Inspector로 구성
-유니티의 장점: 드래그 앤 드롭으로 해결되는 부분들이 많음 / script를 짜지 않고도 사용할 수 있는 기본적인 기능들이 다수 존재함
-유니티의 신과 같은 존재 =GameManager: 만든 게임의 전체를 조율하는 역할을 함
-처음알게된 함수들
a) InvokeRepeating 함수
--어떤 행동을 반복하여 실행시키기 위할 때 사용하는 코드.
""안에 실행할 행동의 이름을 설정하고 그 뒤에 얼마나 자주 반복될 것 인지에 대한 시간을 넣는다.
위에 예시에서는 0.5f로, 0.5초 마다 반복된다는 것을 의미한다. (뒤에 f는 float를 의미함)
b) Instantiate 함수
--프리팹(prefab)에 저장해둔 코드를 실행시킬때 사용하는 함수
이번 강의에서는 빗방울 프리팹을 복제하기 위해서 사용하였다.
(프리팹은 붕어빵을 찍어내는 틀과 같다고 생각하면 된다)
공부하던 중 문제가 생겼던 부분과 해결하려 했던 노력
1. 강의 1-4 캐릭터 움직이기를 듣고 따라하던 중 문제 발생
- 르탄이라는 캐릭터의 움직임이 강의에서 나오는 예시보다 지나치게 빠른 문제가 생김. 교재와 강의를 돌려가며 들어보아도 잘못된 부분을 찾을 수 없어 구글을 이용하여 문제를 검색해봄
- 검색해본 내용은 '유니티 2D 오브젝트 속력 조절' 제시된 방법은 총 두가지.
- 하나는 유니티에서 animator라는 섹션을 이용하여 speed를 줄이는것. 하지만 이 방법은 게임 내에서 애니메이션의 속도가 동적으로 변경되지 않을 것이라는 보장이 있을때만 사용이 가능한다는 설명이 있었다. (아직은 정확히 이해하지 못한 내용) 이 방법을 따라해보았으나 문제해결 실패.
- 두번째 방법은 script에서 직접 속도값을 조절하는것
- 이 방법으로 해결함.
2. 강의 1-5 빗방울 코딩하기를 듣고 따라하며 Visual Studio에서 Script를 짜던중 문제가 발생
- 빗방울 코딩을 하기 위해 새로운 script, 'rain'을 추가
- rain의 script를 만들던 중 1-3까지의 세가지의 빗방울을 만들고 랜덤하게 발생되는 코드를 짜던 도중 error가 발생
- VScode에서 오류가 뜨지 않는것으로 보아 logic error일 것으로 추정
- 강의와 본인이 작성한 코드값을 무한반복하며 일대일 비교함
- 구글을 이용하여 문제를 검색해보았으나 비슷한 문제를 발견하지 못함
- 이 오류로 인해 그 전에 해두었던 다른 script들까지도 문제 발생 (아마도 문제되는 부분을 찾던 도중 잘못 건드린것으로 추정)
- 전체 script삭제후 처음부터 다시 코딩을 함
- 문제 해결
오늘 공부한 것에 대한 생각
- 코드를 단순히 외워서 모든것을 하는것은 사람인 이상 불가능, 연습과 반복을 통해서 얻어내야 하는 공부
- 다른 개발언어를 공부하였던 경험이 강의내용을 이해하는데에 있어 많은 도움이 되었다
- 반복과 연습만이 유니티를 금방 이해하는 유일하고도 가장 빠른길이라고 생각한다.
- 문제가 해결되지 않을때는 제로부터 다시 시작하는 것도 좋은 방법인것 같다.