본문 바로가기
Unity 강의/Unity Course(2) - 절대강좌! 유니티

[Unity Course 2] 03.게임 스테이지 제작 : 셰이더 및 물리 기반 셰이딩, 프리팹

by 첨부엉. 2024. 6. 17.
위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.

 

게임 스테이지 제작

셰이더 및 물리 기반 셰이딩

셰이더 : 렌더링할 때 픽셀의 농담, 색조, 명암을 결정하는 프로그래밍 방식

유니티의 기본셰이더인 Standard는 물리 기반 셰이더

 

렌더링 모드

: Opaque불투명, Cutout그물망 표현, Fade홀로그램 효과, Transparent투명 총 네가지의 설정을 통해 재질감 표현

Rendering Mode 설명
Opaque 기본값으로 불투명한 텍스처를 표현하는 옵션, 투명한 부분이 전혀 없는 Solid객체에 적합
Cutout 불투명한 부분과 투명한 부분을 동시에 표현하는 옵션, 주로 풀, 그물망 등을 표현할 때 적합
Transparent 투명한 플라스틱 또는 유리와 같은 재질을 표현하는 옵션
Fade  투명 속성값을 가진 객체를 페이드 아웃시키는 옵션, 페이드 인/아웃을 애니메이션 처리할 수 있음, 불투명한 객체를 부분적으로 페이드 아웃 시킬 수 있어 홀로그램 효과를 구현

 

알베도

:빛을 반사하는 정도를 말하며 반사율이라고도 한다.

 

메탈릭 속성

:객체 표편에 금속의 재질을 표현하기 위한 텍스처

이 슬라이드 값이 1에 가까워질수록 금속 재질에 가까워지는 특성

 

노멀 맵

:표면의 세밀한 입체감이나 질감을 표현하기 위한 텍스처의 일종으로 3D 모델링으로 많은 폴리곤을 소모하지 않고 같은 효과를 낼 수 있다.

노멀 맵 텍스처 슬롯의 오른쪽에 있는 속성값이 커질 수록 거친 음영효과

 

하이트 맵

:텍스처로 높낮이를 표현하는 것, 노멀 맵과 비슷한 기능을 하지만 좀더 돌출시켜 뒤에있는 사물을 가리는 Occlusion 효과를 낼 수 있다. 

 

오클루전

: 흑백의 텍스처로 간접조명에 의해 생기는 명암을 더욱 뚜렷이 표시해 사물의 입체감과 깊이감을 살리는데 사용

오클루전 맵에 사용할 텍스처는 일반적으로 3D 모델링 툴 또는 서드 파티 툴에서 추출

 

이미션

:스스로 빛을 방출하는 속성, 속성값을 변경하면 객체의 표면에서 방출되는 빛의 강도와 빛의 색상을 설정할 수 있는 항목이 나타남

하단에 전역 조명에 반영하기 위한 옵션이 나타남

 

디테일 마스크

Secondary Maps에 적용할 마스크를 설정하는 텍스처 슬롯, 특정 부분을 좀 더 세부적으로 표현

 

프리팹

: 사전적의미 - 조립식 주택 또는 미리 부품을 만들어 놓고 현장에서는 조립만 하는 건축기법

유니티에서의 의미 - 복사가 가능한 원본의 개념, 즉 원본을 수정하면 복사본은 자동으로 수정된다.

 

네스티드 프리팹

프리팹 하위에 다른 프리팹을 추가할 수 있는 기능

 

장점

1. 프리팹 하위에 프리팹을 추가할 수 있기 때문에 개발 효율성이 좋다

2. OPP 개념의 상속이 가능하다. 다른 프리팹을 상속받아 다양한 기능을 추가할 수 있다.

3. 프리팹 모드 기능으로 프리팹만 수정할 수 있는 별도의 인터페이스 제공

 

Cube 오브젝트를 생성하고 이름은 Wall로 바꾼다.

Transform 속성

Pos : 0,3,0

Rot : 0,0,0

Scale : 50, 6,1

 

Wall 이름의 머티리얼을 생성하고 Bumped Diffuse 속성으로 선택한다

전 글에서 사용했던 텍스처를 드래그하고 타일링은 아래와 같이 설정한다.

 

Wall 오브젝트의 인스펙터창에서 쉐이더를 따로 수정할 수도 있다

 

노멀맵 이미지를 넣어준다.

 

앞에서 적용한 셰이더는 빛을 반사하는 속성인 스페큘러가 표현되지 않아 금속성의 재질을 표현하는데 아쉬움이 있다

Legacy Shaders/Bumped Specular 로변경하여 다양한 속성들이 어떻게 변경되는지 확인해보기

Wall 오브젝트를 프리팹스에 옮기면 프리팹이 생성된다.

프리팹의 복제 및 네이밍

프리팹 복사본의 이름을 변경할 수 있다. 복사 단축키는 Ctrl + D

 

처음에 만든 Wall 오브젝트의 이름을 Wall_1로 변경하고 복사본을 3개 더 만들어준다.

 

스내핑 기능

작업하기 편하도록 바닥과 간격을 적당히 둔다. 

V키를 누른상태에서 맞추고 싶은 꼭지점에 마우스를 가져가서 드래그 앤 드롭해서 사방에 벽을 만든다