2023-04-28 언리얼 수업 내용(atcor생성, 머터리얼 적용, Mesh 적용)
★ 계층구조
- Object : 블루프린트에 최상 위 계층
ㄴ Actor : 씬(레벨)에 배치될 수 있는 최상위 클래스
ㄴ Pawn : 조작할 수 있는 엑터
ㄴ Character : 물리적인 이동이 가능
※Component : 구성요소, 부품
- Actor Component : 엑터(atcor)가 가지는 구성요소, 단순 수치(데이터)를 가진다. 보통 actor의 데이터들을 효율적으로 관리와 분할하기 위해서 사용한다.
ㄴ Scene Component : Actor Component을 상속받아 기능을 전수할 수 있으며 랜더링 즉, 보여지는 기능이 포함된 Component이다. 보여야 하기 때문에 Transform(위치)를 가진다.
- Controller : 다양한 컨트롤러 (키보드, 조이콘)을 범용 하기 위해 기본적인 구조를 가지고 있는 컨트롤러들 중 최상위 기반 컨트롤러 클래스이다.
ㄴ Player Controller : 게임을 하는 플레이어라고 볼 수 있음, Controller는 기본적으로 하나만 존재, Player가 조작할 Pawn을 선택하는 느낌.
※ Posses : 소유, 점유하다, 언리얼엔진에서는 빙의한다는 말로 번역되어 있다. 플레이어가 조작할 대상(Pwan)에 빙의하여 조작한다라고 생각하면 된다.
★ 블루프린트 통해 액터(Actor) 생성해 보기
아무것도 없는 기본적인 화면 상태이다
1. 콘텐츠 브라우저에 마우스 오른쪽을 클릭
2. 블루프린트 클래스를 클릭
3. Actor 클릭
그러면 콘텐츠 브라우저에 actor에 관한 블루프린터가 추가될 것이다.
파일이름을 구분 가능하도록 'BP_Cube'로 바꿔준다.
★ 블루프린트 기능 설명(스크립트 변수가 없는 액터를 클릭했을 경우)
일단 actor로 생성한 블루프린터를 클릭해 열어보자.
스크립트나 변수가 없는 액터는 이렇게 블루프린트 전용 데이터로 기본값만 표시가 될것이다.
하지만 우리는 세부사항을 보기 위해 파란색 글자로 적혀있는 '풀 블루프린트 에디터 열기'를 클릭해 준다.
★ 풀 블루프린트 화면 알아보기
- 컴포넌트 : 컴포너트를 추가 및 제거
- 내 블루프린트 : 블루프린트로 만든 클래스의 변수, 함수 등등 을 확인하고 편집할 수 있다.
- 뷰포트 : 시각적으로 어떤 형태를 나태내고 있는지 보고 조정할 수 있다. 기본적으로 흰 구체가 보이는데, 이 흰 구체는 현제 아무것도 없다는 일종의 표시이다. 흰 구체는 중심을 나타내고 있다고 보면 된다.
컴포넌트 추가해 보기
이 기본적인 화면 상태에서
컴포넌트 추가 -> 검색창에 'Static Mesh' 작성 및 클릭 -> Static Mesh 생성 -> 생성된 파일 이름을 "Cube"로 변경 -> cube파일을 Root위로 끌어올리기
뷰포트에 아무것도 보이지 않는 이유는 아직 Static Mesh Component를 만들어두고 static Mesh를 연결을 안 했기 때문이다.
※ Static Mesh Component
- Mesh는 특정물체에 대한 형상, 형태이다. Static Mesh는 Mesh 중 변하지 않는 형상, 형태를 뜻한다.
즉, Static Mesh Component는 Actor에게 변하지 않는 형태를 전달하는 Component이다.
※ Root
- Actor는 여러 Scene Component를 가질 수 있기 때문에 이에 대한 기준 축이 있어야 한다.
Root는 Actor 트랜스폼의 기반이 된다. 고로 모든 Actor는 Root를 가지고 있다.
★ 머터리얼 넣어보기
우선 사전에 추가해야 할 것들이 있다.
1. 콘텐츠 브라우저 창에서
2. 오른쪽 아래의 뷰 옵션 클릭
3. 엔진 콘텐츠 표시 클릭
4. 왼쪽 엔진 콘텐츠 파일에 들어가 BasicShapes 폴더 들어가기
5. static Mesh인 Cube를 콘텐츠 폴더에 복사하기
☆ 주의 ☆
엔진 콘텐츠의 폴더 안에 있는 내용 들은 엔진 공용이라서 복사가 아닌 파일 자체를 이동해 버리면 찾기도 힘들고, 이후 프로젝트에서 사용이 불가능 해질 수도 있다. 그러니 옳기지 말고 복사를 해서 받아오자.
이후 엑터 파일로 다시 들어가 Static Mesh에 복사해 온 Cube파일을 집어넣기
※ 만약에 Mesh파일을 찾기 힘들 경우 찾기 쉬운 방법
1. atcor 파일 들어가기
2. 컴포넌트에 만들어뒀던 Static Mesh Component파일을 클릭
3. 콘텐츠 브라우저에 Mesh로 넣고 싶은 파일을 클릭
4. actor로 들어가 디테일에 있는 Static Mesh에 있는 '<-' 클릭
5. 그러면 콘텐츠 브라우저에 클릭해 둔 Mesh파일이 적용된다.
★ 머터리얼을 직접 만들어 보기
1. 콘텐츠 브라우저에 마우스 오른쪽 클릭 -> 머터리얼 클릭 후 파일 생성
2. 만든 머터리얼 파일 들어가서
3. 바탕화면에 오른쪽 마우스 클릭후 vectorParameter 검색해 베이스 컬러에 연결해 주기
4. 위와 같이 바탕화면에 오른쪽 클릭 후 scalarParameter들을 추가해 Metallic과 러프니스에도 연결해 주기.
5. Metallic에 디테일도 건들어본다.
6. 그러면 위와 같은 결과물이 나온다.
7. 그리고 atcor에 머터리얼 적용 방식처럼 똑같이 적용해 본다.
8. 툴바에 만들어본 atcor를 올려놓으면 위와 같은 결과물이 나올 것이다.
- 머티리얼(==물질) (ex) 껍데기)
- 표면의 물질정보를 표현하는 기능.
- 머티리얼은 쉐이더를 사용합니다. (float4)
- PBR (Phyics Based Rendering) 언리얼에서 사용하는 물리기반 랜더링
- 물체의 속성을 기반으로 수치를 통하여 물체의 표면정도를 표현하는 기능.
- Metallic : 디테일, 금속성수치
- Roughness : 거칠기, 표면의 거칠기를 조절합니다. (반들반들) 0 ~ 1 (사포급)
- Scalar Parameter : 하나의 원소
- Vector Parameter : Scalar가 모인 집합