| 텍스쳐(Texture)
스마트폰의 그래픽칩에 따라 텍스쳐 크기를 정하는 것도 중요하고, 항상 정사각형의 텍스쳐 해상도를 가지는 것도 중요하다.
해상도 |
128x128 |
256x256 |
512x512 |
1024x1024 |
2048x2048 |
*x, y가 같은 해상도를 사용하게 되면 유니티가 자동으로 압축 변환을 하여 사용하게 된다.
(UI 처럼 x, y의 크기가 다른 것을 사용하게 되면 압축하지 않는다.)
*지원되는 이미지 포멧 - PDS, TIFF, JPEG, TGA, PNG, GIF, BMP, IFF, PICT
*추천하는 이미지 포멧은 PhotoShop의 PDS 파일이다.
| 매터리얼(Material)
오브젝트(모델)의 질감을 줄 때 사용한다.
임포트된 텍스쳐는 매터리얼의 텍스쳐 파라미터로 들어가게 되어 표현하게 된다.
오브젝트에 매터리얼이 들어가고 Mesh Renderer를 통해 렌더링 되어진다.
| 쉐이더(Shader)
매터리얼의 쉐이더를 통해 다양한 질감을 표현할 수 있다.
*주요쉐이더
종류 | 기능 |
Diffuse | 모델의 표면에 라이트의 빛이 확산되도록 렌더링한다. 기본 쉐이더 |
Specular | 라이트의 빛이 광택을 내도록 렌더링하는데 사용한다. |
VertexLit | 라이트의 빛의 반사를 계산하는 처리를 메쉬의 정점 단위로 계산하서 렌더링한다. Diffuse와 Specular 등의 픽셀 단위로 빛의 반사를 계산하는 것에 비해 처리 속도가 빠르다. |
DumpedDiffuse/ DumpedSpecular |
Diffuse와 Specular에 노멀맵이라는 텍스쳐를 사용해 표면에 요청이 있는 것처럼 렌더링합니다. 노멀맵은 빛의 반사 정보를 가진 텍스처를 말하며, 요철이 있는 모델을 제작하지 않아도 현실감 있는 주름 등을 표현할 수 있다. |
Decal | 베이스 텍스처에 데칼을 붙인 것 같이 렌더링한다. |
Transparent | 투명한 부분을 가진 텍스처를 렌더링한다. |
Unlit/Texture | Unlit 계열의 쉐이더는 빛 계산을 전혀하지 않고 텍스처의 색을 그대로 랜더랑한다. 라이트 처리를 하지 않기 때문에 처리 속도가 매우 빠르다. |
Unlit/Transparent | 유리창 등을 표현할 때는 알파 정보를 가진 반투명한 이미지를 사용하게 된다. 반투명한 텍스처를 렌더링할 때는 Transparent 계열이나 Unlit/Transparent 쉐이더를 사용한다. |
Unlit/Transparent Cutout | 철망이나 펀치 메탈처럼 반대편이 완전히 보이는 표현을 할 때는 Transparent/Cutout 계열이나 Unlit/TransparentCutout 쉐이더를 사용한다. |
| 라이트(Light)
오브젝트에 사실감 있게 표현하는데 중요한 역할을 한다.
*라이트 종류
종류 | 기능 |
Ambient Light | 물체가 균일한 빛을 가질 수 있게 설정할 수 있다. 현실적인 빛이 아닌 수학적 계산을 빠르게 편하게 하기 위해 도입된 라이트이다. |
Point Light | 특정 지점에서 지정한 거리만큼 균일하게 퍼지는 빛을 표현한다. 예) 가로등 |
Directional Light | 태양의 빛으로 특정 방향으로 진행되는 빛을 표현한다. |
Spot Light | 정해진 위치에 원뿔 모양으로 집중적으로 비추는 빛을 표현한다. 예) 자동차 헤드라이트, 무대의 스포트라이트 |
Area Light | 사각형 영역 내에서 특정 방향으로 비추는 빛을 표현한다. 예) 형광등 |
<참고 서적>
유니티 4 게임 개발의 정석(에이콘)
따라하면서 배우는 유니티3D 입문(위키북스)
1. 텍스처(Texture)의 크기는 가로세로가 2ⁿ (... 16*16,...256*256...) 형태일때 압축을 지원하며 속도가 가장 빠름, 특히 모바일 플랫폼(Mobile platform)에서 속도를 향상시키려면 반드시 2ⁿ (POT, power of two) 형태의 텍스처를 사용해야 함.
2. 텍스처(Texture)는 3D 모델에 적용시키기 위한 이미지 파일로 머티리얼 (Meterial)이라는 중간 매개체가 필요함. 머티리얼은 3D 모델에 적용할 텍스처의 다양한 속성을 설정하는 역할을 함.
Mesh(3D 모델) ---- Meterial(머티리얼) ---- Texture(텍스처)
3. 셰이더(Shader)는 머티리얼에 적용할 텍스처를 렌더링할 때 표면의 재질감을 표현하는 방법을 결정함. 가장 흔한 셰이더는 Normal map이 있음. Normal map는 표면의 굴곡을 표한하기 위한 텍스처의 일종. (셰이더의 normal map를 사용하기 위해선 머티리얼의 Inspector의 Shader에서 Bumped Diffuse를 선택하면 Normal map가 보임.)
4. 프리팹(Prefeb)은 복사가 가능한 원본의 개념으로 프리팹을 복제하여 만든 복사본(Clone)의 속성은 원본 속성과 일치함. (원본 프리팹을 수정하면 그 복사본도 일괄 적용됨을 의미). 개발 관리 측면에서도 효율적이지만 패키지로 저장한 후 다른 프로젝트에서도 쉽게 불러와 사용할수 있는 점이 특징임.
Hierarchy 뷰의 object를 Project 뷰로 Drag&Drop하면 Hierarchy 뷰의 object와 같은 이름의 객체가 생성되는데 이 객체가 프리팹임.
'Unity' 카테고리의 다른 글
[Unity] Uncheck Toggle in code (0) | 2019.11.01 |
---|---|
[Unity] Make Button Toggle a GameObject On and Off (0) | 2019.11.01 |
[Unity] 네임스페이스 사용법 (0) | 2019.10.31 |
[Unity] 유용한 단축키 정리하기 :D (0) | 2019.10.31 |
[Unity] transform Component 사용 (0) | 2019.10.30 |