(8-5) 유니티
새로운 강사님
편하게 구현하려고 엔진이 있음.
씬은 편집을 위한 공간
게임탭으로 해상도 선택 가능.
해당 씬만 저장이 됨.
Assets: 게임 자체적인 내용, 내가 만지는 내용, 씬이 저장된다. 고유의 값이 있음.
Library: 엔진이 미리 만든 기능을 저장해놓는 곳.
Log: 게임 실행하는.. 로그
Package: 외부 플러그인을 다운받아왔을 때 저장되는 폴더
Project setting: 고유의 값이 있음. PC냐 모바일이냐, 그런 기본정보.
뭐 이상이 있을때, 파일 일부가 깨진 것 같을 때 Assets랑 Project setting만 가지고 파일 열면 나머지는 자동으로 생김
* 에셋 스토어
리본메뉴 → Window → Assets store
무료 에셋도 많으니 참고.
Polygon 3D 어쩌구라는 무료 에셋을 다운받음.
보통 다운받은 후 위에 뜨는 '유니티 에디터로 열기' 하면 바로 보이는데
이 창이 안뜨면,
Window → Package manager → 유니티에 추가한 파일 Download → 다운받은 파일 누르고 Import → 뜨는 창에 전체 체크(모든 파일을 다운받겠다는 소리)되어 있는데 그 상태로 Import
폴더명이랑 똑같은 이름으로 .meta 파일이 생성됨. 정보들을 자동으로 저장하고 있는 파일인데, 삭제해도 유니티 실행하면 자동으로 생긴다.
.fbx : 오브젝트가 가진 위치값?? 안이냐 겉이냐 이런 정보값?을 가짐. 모델 파일. 삭제하면 모델이 삭제됨. 씬에 올라가있는 모델들도 삭제됨.
* 오브젝트Object
씬 위에 놓여진 객체 단위.
3D 오브젝트는 꼭짓점(Vertex)을 가지고 있고, 점과 점을 잇는 모서리(Edge)가 있다. 그리고 세 개의 꼭짓점을 잇는 면을 메쉬(Mesh)(기본 단위), 네 개의 꼭짓점을 가진 면을 폴리곤(Polygon)이라고 한다.
매트리얼Material: 실제로 어떤 재질로 우리에게 보일 것인지?? 빛을 반사하는지 안 하는지, 정보를 갖고 있는 것. 빛을 반사한다는 것은 색을 바꾼다는 것과 같음.
→ Mesh 설정 안해놓으면 Material이 제대로 보이지 않을 수 있음
→ Material 설정이 없으면 Mesh 해도 물체 자체가 안 보일 수 있음.
텍스쳐Texture: 겉 표면이 어떤 식으로 보일지 그래픽 이미지.
기본으로 생성되는 '빛 오브젝트'는 태양광 같은 것. 각도로 낮과 밤 구현 가능하지만 위치값(Position)은 영향을 주지 않음.
아무것도 없는 게임 오브젝트를 만들고 싶으면 Creative Object → Empty. (이것도 트랜스폼은 갖고 있다.)
* 속성Inspector
처음 오브젝트를 만들면 속성이 몇 개 없다. 이럴 때 속성창 아래에 컴포넌트component로 오브젝트에 필요한 기능 추가.
메쉬 필터Mesh Filter: .fbx 확장자로 되어있는 파일 연결해서 형태를 가지게 할 수 있는 블럭. 모델링을 가진 정보.
Mesh Filter를 설정해줘도 재질(Mesh renderer → Material)이 없으면(빛을 받았을 때 어떤 식으로 반사할지의 정보) 보이지 않음.
메쉬 렌더러Mesh Renderer: 메쉬를 그려주는 것들. 메트리얼 설정 가능. 혹시 이상하게(핫핑크) 보이면 에디터가 '얘 문제 있는거 같은데 뭐 좀 해봐라'란 의미에서 보여주는 것.
* 프리팹Prefab
임의로 구성된 게임 오브젝트를 저장하여 재사용할 수 있게 만든 것.
기획이 바뀌어서 매트리얼을 바꿔야 할 때, 모두를 일일이 클릭해서 바꾸기 보단 '원형'을 만들고 그걸 계속 복사해 쓸 수 있는 기능이 있음. 이게 프리팹prefab.
설정: Hierarchy에서 해당 오브젝트를 에셋 폴더로 드래그한다(프리팹의 원형은 씬에 설치된 오브젝트가 아니라 에셋에 넣은 프리팹 파일이다.)
그러면 오브젝트의 이름이 파랗게 보이는데 이게 프리팹이 된 것.
그걸 복사 붙여넣기 하면 원형을 바꾸면 나머지도 같이 바뀌게 된다.
>>프리팹의 설정을 바꾸는 방법은
1. Hierarchy에 뜬 원형 오브젝트 이름 옆의 화살표를 눌러 바꾸거나
2. 에셋 폴더에 넣은 프리팹을 더블클릭해서/클릭해서 설정을 바꾸면 된다.
보통 파랗게 된 이름 옆의 화살표를 눌러 속성을 바꾸면 다 같이 바뀌는데
혹시 그걸 잊고 속성창에서 그냥 바꿨을 경우, 모두 다 적용해주고 싶다면 속성창 위쪽에 있는 overrides를 눌러 Apply All 하면 된다.
+만약 복사한 프리팹이더라도 속성이나 설정 하나 바꾸면 원형 따라 바뀌지 않을 수 있다! 그럴 땐 변하지 않는 해당 오브젝트의 overrides -> Revert All 하면 복사 후 바뀐 설정들이 초기화되므로 다시 원형을 따라간다.
+딱 몇개만 원본이랑 다르게 하고 싶다면, 하이라키에서 해당 오브젝트 우클릭 → Prefab → Unpack Completely
다만 다시 프리팹으로 포함은 못시키므로...
F: 오브젝트 클릭된 상태에서 누르면 선택 물체 확대, 카메라 고정
P: 프리팹 수정창. 복사된 사본을 누른 채 P 눌러도 무조건 원본 프리팹 수정창으로 들어감.
컴포넌트는 Remove 가능. 컴포넌트가 있다는 것은 해당 속성/기능을 오브젝트가 갖고있다는 것이고, 컴포넌트를 삭제한다는 것은 해당 속성/기능을 없애버린다는 뜻.