본문 바로가기
제출용/TIL

내일배움캠프 1일차 TIL + 왕초보 유니티 입문기

by 유린테 2024. 4. 15.

게임개발 종합반 1강을 수강하였다.

코딩이나 유니티같은 프로그램 사용이 처음이라 기초적인 내용부터 공부해야했다.

진짜 기초 사용법부터 공부 시작!!!!! 

 

오늘의 키워드는

  • 쌩 기초!
  • 프로그램이나 코드가 돌아가는 양상부터 확인하기!
  • 노베이스의 코딩입문

Unity란? 

충돌/중력/탄성/카메라 같은 것들을 쉽게 코딩할 수 있는 툴

  • 게임제작을 쉽고, 빠르고, 편하게 할 수 있게 도와주는 툴
  • 게임 개발에 최적화된 개발 환경

 

레이아웃

디폴트 레이아웃 보기 : 윈도우 - 레이아웃 - 디폴트 

 

강의에서 사용하는 레이아웃 만들기

더보기

윈도우 - 레이아웃 - 2by3

프로젝트 우클릭 - 원컬럼레이아웃 

게임창 - 프리에스펙트 - + - phone. 760x1280 생성

그럼 이런 세팅이 나온다!

 

유니티 엔진 창

더보기

(1) 하이어라키

현재 씬에서 보여지는 여러 요소들이 담겨있음

 

(2) 인스펙터

게임 오브젝트(하이어라키 창에 들어가있는 요소들)의 다양한 정보를 확인할 수 있음

 

(3) 씬 옆에 게임 창

씬 창에서 카메라가 찍고 있는 부분만 표시해줌

> 실제 게임 플레이 할 때 보게 되는 화면

 

(4) 프로젝트

여러 파일들을 담고있음

폴더나 파일들을 확인하고 관리할 수 있다.

 

배경 색 입히기

더보기

단색 배경 입히기

 

하이어라키 창에서 우클릭 - 2D오브젝트 - 스프라이트 - 스퀘어

> 스퀘어를 화면크기로 조정하여 배경으로 사용

 

에셋 사용하기

더보기

사용할 사진을 드래그&드롭으로 프로젝트-에셋 폴더 안에 넣어주면 됨

 

사진을 에셋으로 적용하기

 

스퀘어 만들어서 스프라이트 속성을 이미지로 바꿔주기

스프라이트 속성 - 에셋 드래그&드롭

> 스퀘어가 에셋으로 바뀜 (네모가 르탄이 모양으로 바꼈다.)

 

이름 바꾸기

더보기

바꿀 것 선택 - F2 or 우클릭 rename

> 강의에서 이걸로 처음 유니티를 켰을 때 하이어라키에 뜨는 샘플씬을 프로젝트 칸 에셋에서 메인씬으로 이름 바꾸는 작업을 해준다.

 

애니메이션 만들기

더보기

에셋 - 폴더추가 - 폴더명"animations"

만들어진 animations 폴더를 우클릭 - create - animation 하면 애니메이션이 생성됨

 

하이어라키에 있는 오브젝트 선택 - 에셋에서 애니메이션 파일 드래그&드롭 - 인스펙터 빈 곳에 놔주면 생성됨

 

애니메이션 창이 뜨면 애니메이션을 넣을 오브젝트를 다시 선택해주면 녹화 기능이 활성화 된다.

녹화 누르고 - 시간 옮겨서 바뀐거 넣으면 움직이게 할 수 있다

 

* 애니메이션 창 안 나올 시

윈도우 - 애니메이션 - 애니메이션 으로 열 수 있다.

 

 

코드 추가하기

더보기

에셋폴더 - 크리에이트 - C#script

스크립트 폴더를 만들어서 C#스크립트를 집어넣기

 

스크립트 붙이기

(애니메이션이랑 동일) 비어있는 인스펙터 공간에 드래그&드롭 하거나 C#스크립트를 대상 오브젝트에 드래그&드롭

 

스크립트는 클래스라는 단위로 움직인다 

하나의 스크립트 = 클래스 하나 

> 아닐 때도 있지만 게임개발 종합반 강의 중에는 하나인걸로

 

스크립트가 붙어있다 = 컴포넌트가 붙어있다 (트랜스폼 컴포넌트)

 

콘솔 읽기

더보기
Debug.Log 했을 때 나오는 콘솔창

Rtan:Start() (at Assets/Scripts/Rtan.cs:10)

Rtan이라는 파일이 : Start 에서 실행됐고 (Rtan위치 / 10번째 줄) 이라는 뜻

콘솔 읽는 법도 익혀야 한다고 하셨다.

 

코딩에 대하여

더보기
  • 연산 = 계속해서 어떤 값을 변화시켜 주는 것

Start는 시작할 때 한번만 실행되는데 연산은 계속 변화시켜야 함으로 연산은 Update에 붙여야 함

 

  • 연산에서는 코드를 작성해야 하는 위치가 정해져 있다.
    (알맞은 위치가 중요!!!)

 

  • () 소괄호가 있으면 일종의 함수라고 생각   

 

  • 코딩에서 = 는 같다가 아니라 넣어준다 임.
    같다로 사용하려면 == 를 사용.

 

  • 변수는 자료형을 맞춰줘야한다.

소수점은 float / int 는 정수 .

자료형은 일종의 타입을 말함.  >자료형을 구분하는 키워드

자료형이 일치하지 않으면 에러!!!

 

float direction = 0.05f;      -  float 소수
int number = 1;                 - int 정수
string str = "안녕";            - string 글씨

 

 


 

 

(+) 우당탕탕 오류 고치기

 

더보기

그리고 강의 보면 코드 틀리면 밑줄도 나오고 코드 색깔도 바뀌고 자동완성도 되고 하던데

나는 안돼고 오류가 자꾸 나서 찾아보니 Assembly-CSharp 이 설치/적용이 되지 않아서 나오는 문제였다.

 

cs파일 아래를 보면 '기타파일' 로 열려있는 것을 확인

Debug.Log(); 를 쳤을 때 분명 강의에서는 코드 색도 바뀌고 오류가 없었는데 나는 자꾸 오류가 났다.

그래서 강의와 차이점을 찾다가 이렇게 왼쪽 상단이 Assembly-CSharp이 아닌 기타파일 로 나오는 것을 발견했다.

이 오류를 해결하기 위해 한참을 헤매어 방법을 두가지 찾아냈다.

 

(1) 솔루션 탐색기 확인하기

솔루션 탐색기를 확인해보니 Assembly-CSharp이 설치되지 않음 이라는 표시가 떴다.

Assembly-CSharp를 설치해주고 다시 빌드 했더니 되었다.

 

(2) Unity - Edit - Preferences 에서 External Tools // External Script Editor 를 비주얼스튜디오와 연결해주기

저 빌드 했던 파일과 다른 파일을 여니 다시 Assembly-CSharp가 안 뜨는 오류가 발생해서 한참 찾아봄.

유니티와 비주얼스튜디오가 연결되지 않아서 생기는 것 일 수도 있다는 글을 보고 연결해주었더니 정상적으로 되었다!!

저걸 연결해 준 뒤로는 오류가 발생하지 않았다.

 

cs파일 아래  ' Assembly-CSharp'로 바뀐것을 확인

 

 

별 것 아닌 오류지만,, 찾고 고치는데 몇시간은 걸렸다.

그리고 오늘 팀원분도 같은 오류를 겪고 있길래 내가 해결했던 방법을 알려드렸더니 해결되셨다!

별거 아니지만 괜히 뿌듯

 

역시 내가 직접 찾고 해결해본 문제는 확실히 나의 것이 될 수 있는 것 같다.

이런식으로 코딩과 유니티도 계속 하다 보면 나의 것이 될 수 있겠지? 

아직은 헷갈리고 어렵지만 화이팅

1인분은 하기 위해. 

12시간 중 적어도 절반 이상은 몰입해서 공부한 것 같다. 

일단 9시 전에 일어나는 것 부터가 오랜만이라 상당히 피곤했지만,, 강의 내용은 상당히 재밌었기에 졸음이 오진 않았다.

다른 사람들 TIL에는 뭔가 어렵고 엄청난 코딩코딩한거 올려주시던데

난.. 진짜 기초를 몰라서 완전 기본적인 것 부터 정리해보았다.

 

내일부턴 강의에서 사용한 코드들이나 코드를 작성하는 플로우?에 대한 것들을 위주로 공부해 볼 예정이다.

물론 아직 C#도 유니티도 어렵고 헷갈리지만 !! 

느리지만 열심히 가보겠습니다

코딩도 유니티도 어렵지만 재밌어

화이팅~!~~!~~!