유니티 공인 인증강사 "홍 동희" 강사님 강의내용
인증시험의 문제는 unity 버전을 2017을 대상으로 만들어진 문제이나, 이미 너무 오래된 툴이고, 2022버전으로 공부하여도 큰 무리는 없다고 한다.
기본적으로 항상 유니티 프로젝트를 만들기 위해 사용하는 하이브리드 앱이다.
이 유니티 허브는 여러가지 플렛폼에서 사용할 수 있기위해서 일렉트론, JS 을 사용해 만들었다.
여러가지 코어를 선택해서 프로젝트를 만들 수 있다. 3번째 사용되는 2D (URP)는 보통 저사향 기기에서도 동작할 수 있도록 하기 위한 코어이다. 그래픽 랜더링 할때의 과정을 간소화하여 좀 더 가볍다. 반대로 (HDRP)의 경우는 초고화질을 지원하는 코어이다.
Unity의 장점이기도 하고 단점이기도 한 이러한 특징은 여러 상황에 대해서 코어를 나누어 사용화면 그 상황에 맞게 적용할 수 있으나, 서로의 코어끼리의 호환성이 떨어져서 여러가지 코어에 대해서 같은 로직을 다른 구현으로 만들어야한다. URP로 만든 프로젝트를 HDRP로 옮기게 되면 화질이 모두 깨져버린다.
메인메뉴의 구성은 아래와 같다.
에디터 스크립트
라고 하는 별도의 C#파일을 이용해 메뉴를 추가할 수 있다.
계층구조를 타나내는 말로, 유니티 에디터에서 가장 중요한 창이라고 생각할 수 있다.
이 창은 유니티 Scene에 존재하는 모든 오브젝트를 표시한다.(기본 오브젝트, 텍스트, 게임메니저 등)
Scnene은 유니티 엔진에서 사용되는 개념으로 카메라, 라이트, 그 밖에 다양한 오브젝트를 조합하여 화면에 렌더링 되는 그룹을 의미힌다.
씬은 실질적으로 1개만 보여질수 밖에 없지만, 플레이 화면에서는 여러개의 씬을 띄울 수 있다. 씬 내에 있는 것들은 모두 gameObject라 칭하며 Scnene 은 게임오브젝트의 집합이라 한다.
오브젝트를 선택하면 오브젝트의 속성들이 Inspector탭에 나타난다.
모든 gameObject는 아무리 빈 오브젝트라도 Tranform을 반드시 가지고 있다. 이런 Transform이나 Light와 같은 속성을 Component라고하며 이 컴포넌트는 Unity에서 만든 하나의 Class(라이브러리)라고 볼 수 있다.
Mesh나 sprite와 같은 컴포넌트는 추가하면 Lenderer와 같이 추가된다. 이러한 Lenderer를 비활성하면 실질적으로 존재는 하나 화면에서 보이지 않게 된다.
Hierarchy창 내에 존재하는 오브젝트는 메모리에 올라와 있는 오브젝트이다. 비활성 해서 화면에 없어지더라도, Hierarchy창에 존재하기 때문에 실질적으로는 메모리에 계속 남아 있다.
노랑 : 활성 비활성을 위한 클릭박스
초록 : 오브젝트 구분을 위한 메뉴들. 이름, 태그, 레이어
빨강 : 기본 트랜스폼에 존재하는 3D 애니매이션의 3요소 여기서 쓰는 회전은 디그리 방식을 사용하고, 삼각함수를 써야할때 라디안 방식도 같이 사용하게 된다.
✨180도 라디안과 360도 디그리방식(오일러 방식)
이 프로젝트 창은 내 프로젝트내의 모든 폴더구조를 보여준다.
Assets 폴더를 이용하여 사용자가 생성한 각종 리소스(그래픽 리소스, 사운드, 스크립트)의 배치가 가능하다.
실질적으로 Assets 폴더에서 필요한 추가적인 디렉토리를 추가하는 경우는 내부 리소스를 정리하기 위해서 만든다.
Hierarchy의 오브젝트를 끌어다 Project창의 Assets창에 놓으면 Prefab을 생성할 수 있다.
콘솔창은 스크립팅 및 디버깅에 필요한 상태 정보를 표시하고 Log를 보기 위한 창이다.
퍼즈버튼은 디버깅 할때 잠시 멈추기 위해서 사용
씬에서 에디팅 모드에서 화면을 구성하는데 필요한 다양한 게임 오브젝트를 배치할 수 있다.
레벨 디자이너 - Scnen을 정말 잘 꾸미는 사람 - 디테일하게 만들어진 모델을 적절하게 배치
모델 디자이너 - 요소 하나를 디테일하게
3D 오브젝트를 만드는 방법은 아래와 같다
3D 오브젝트의 종류는 Cube, Sphere, Capsule, Cylinder, Plane, Quad 가 있다.
택스터의 개수가 많으면 많을수록 속도가 비약적으로 느려진다.
상위(부모) 오브젝트의 이동 회전 크기변화에 모든 자식들에게 영향이 있음, 하위(자식) 오브젝트의 변경은 상위 오브젝트에 변화가 없음
화살표를 마우스로 끌어서 축별로 이동하거나, transform 컴포넌트의 포지션을 변경한다.
이동은 키보드 방향키나, 마우스 중앙클릭으로 눌러서 이동한다.
회전의 경우 마우스 우클릭의 경우 자전, art 좌클릭은 공전한다.
씬 화면의 줌을 하기 위해서는 art 우클릭 또는 마우스 휠 업을 이용한다.
특수 씬 화면 핫 키
f 오브젝트 줌 포커싱, z 피봇 변경?
게임을 개발하는 경우 대부분 다음 절차를 거친다.
게임 개발 업무관련 용어
게임 메카닉
Look & Feel
게임 경제
게임 개발 진행 방법론
그래픽 에셋의 생성
게임과 관련된 계약
에셋메뉴에서 생성 / 에셋 폴더에서 우클릭 생성
항상 기본으로 start와 update 메소드를 가지고 있다.
{}
로 묶은 블록을 만들 수 있다.명령어, 알고리즘, 싱글톤(개념적으로 하나만 있어야 되는 것)클래스, 싱글톤 오브젝트, 디자인 패턴(28가지?), 상속, 가상함수, 오버라이딩, 클래스, 인터페이스, 인스턴스, 수, 상수, 변수, 구조체, 배열, 연산자, 조건식, 함수, 파라미터 전달, 지역변수, 전역변수, 정적변수, 컨테이너(List, Dictionary, Queue, Stack), 동적할당, 재귀호출, 이벤트 핸들러