-
24년 5월 8일 TIL공부 기록 2024. 5. 8. 22:13
게임엔진이란?
게임을 개발 할 수 있도록 다양한 기능들을 제공 하는 프로그램이다. 물리효과, 충돌, 사운드 등과 같은 여러가지들을 쉽게 사용 할 수 있다. 하나하나를 직접 구현 하려면 전문가가 해도 오래 걸린다.
유니티의 특징
Unity는 내부적으로 C++로 구성 되어 있다. 이 부분은 성능적인 부분을 더 챙기기 위함이다. 중간에 C# 으로 연결 해주는 것이 있고 우리는 C#으로 게임 코드를 작성해서 보내준다.
유니티는 모바일과 VR에 굉장히 강력한 메리트가 있다. 대부분의 경우에서는 유니티가 충분한 기능을 제공 할 것이다.
그리고 유니티는 최신 버젼이라고 좋은 것은 아니다. 버전을 계속 Update를 하다보면 문제가 생길 확률이 높아진다.
유니티는 버젼마다 파일에 대한 기준정보가 있는데 업데이트 할 경우에 이 메타데이터들이 조금씩 바뀌게 된다. 그래서 계속 무지성 업데이트 할 경우에 메타 파일들이 엄청 꼬이게 되고 그렇게 되면 오류가 정말 많이 발생하게 된다.
뿐만 아니라 에셋이나 패키지 같은 것들도 유니티의 버젼과 종속성이 있는데 업데이트를 할 경우에 호환이 안 되는 버젼이 되어버릴 수도 있다. 이 경우는 상당히 번거롭게 된다고 한다.
개발중에 버젼을 올리는 경우는 절대로 없다. 설치는 꼭 LTS로.
그리고 프로젝트를 생성 할 때는 반드시 프로젝트명을 영어로 하는 게 좋다. 한글이름은 경로 오류를 많이 발생 시킨다)
Connect to Unity Cloud는 체크를 해제
Organization은 본인이 속한 조직에 맞게 설정 하면 된다.
GameObject
여러 Component가 합쳐져 있는 게 GameObject라고 할 수 있다.
여기서 어떠한 오브젝트든 Transform Component는 반드시 갖고 있다. 이게 제일 중요한 기능이다. Transform은 위치와 크기, 회전등을 설정 할 수 있는 기능이고 오브젝트는 오브젝트들끼리 부모자식간의 관계를 가질 수 있다.
여러개를 같이 옮기고자 할 경우에 부모 오브젝트 하나만 움직여서 동시에 다 이동 시키는 거다.
ex) 자동차 오브젝트는 바퀴와 차문과 등등등이 있다. 이거를 하나하나 다 옮기는 건 비효율적이다. 그래서 하나만 움직여주면 동시에 다 같이 이동 시켜주게 하는 편리한 기능이다.
Component
GameObject를 구성 하는 부품이다. Transform SpriteRenderer 등이 있다. Monobehaviour를 상속 받게 되면 이게 바로 컴포넌트라고 한다. 이걸 상속 받으면 컴포넌트들을 쓸 수가 있는 것이다.
SpriteRenderer -> 2D Image, Rigidbody -> 강체물리, 중력효과 뭐 등등등이 있다.
Assets
코드를 포함하여 게임에 필요한 모든 리소스를 의미.
Unity의 interface
Hierarchy : 현재 씬의 게임 오브젝트들을 보여주고 계층 관계들도 표시 함.
Scene : 게임 제작자의 관점을 보여준다. 어떤 오브젝트들이 배치 되었는지 확인 한다.
Game : 게임 플레이어의 관점을 보여준다.(카메라가 찍은 결과물을 보여줌)
Inspector : 어떤 오브젝트를 선택 했는지, 그 오브젝트들의 컴포넌트가 무엇인지 상태를 볼 수 있게 한다. 이런 것들이 상용엔진의 장점이다.
Project : 어떤 파일들을 갖고 있는지 볼 수 있는 곳이고 파일들을 효율적으로 관리 할 수 있게 한다.
Console : 디버그 등과 같은 걸로 메세지를 출력 하게 할 수 있다.
유니티 조작의 개꿀팁
Scene 뷰 움직 일 때 마우스 휠로 눌러서 바로 이동 가능. -> 난 몰라서 우클릭으로만 했었다. 휠로도 가능!
오브젝트 이동 하는 것들 qwerty순으로 선택 가능.
위에서부터 QWERTY로 선택 할 수 있다. 난 이거 몰라서 계쏙 클릭 했다. b
x, y, z의 색이 다른 점. xyz에 RGB 하나씩 붙인거다. 그래서 X는 빨간색, Y는 초록색 Z는 파란색이 된다.
alt + 마우스 왼쪽 드래그 : 씬 뷰 화면 중심 회전
alt + 마우스 오른쪽 드래그 : 줌 인 & 아웃
Unity 연결 프로그램 설정 법
Edit → Preferences → External Tools → Script Editor → visual 2022 선택
====================
공부한 건 더 있지만 나는 얍삽한 방법을 사용 하겠다 .. TIL 쓸 거를 남겨두겠다.
난 이러지 않으려고 했지만,, 생각보다 TIL 써야 할 부분에 대해 시간이 오래 걸리고 ,, TIL 내용이 없어도 신경 안 쓰려고 했는데 신경 쓰여서 뭐 하나 더 적으려고 시간 보내는 것 같다.., 그리고 지금 담당일찐튜터님이 정해준 오늘 할당치 강의까지 다 못 해가지고 빨리 해야 자러 갈 수 있다..., 딱 붙잡혔다. 흐익 빨리 허구 자야지..,
현실과 타협 하다니 하.. 상남자가 아니게 된 기분이다. 자존심이 상하는군.
'공부 기록' 카테고리의 다른 글
24년 5월 15일 TIL (1) 2024.05.15 24년 5월 9일 TIL (0) 2024.05.09 24년 5월 7일 TIL (0) 2024.05.07 24년 5월 6일 TIL (0) 2024.05.06 24년 5월 3일 TIL (2) 2024.05.03