유니티에서 이미지 Image와 UV좌표
3D 오브젝트는 가로 x, 세로 y, 깊이 z라고 하지만 pixel을 가진 2D 텍스처 이미지는 가로 U, 세로 V해서 UV좌표라고 한다.
pixel로 된 이미지를 3D mesh에 덮어 씌우는 것을 UV Wrap이라고 한다. UV Wrapping 할 때 시작점을 어디로 둘 것인지를 정하는게 Offset 값이다.
이미지 텍스처의 Wrap Mode를 보면 다음과 같은 컴포넌트 요소를 확인할 수 있다. Repeat 값으로 두면 텍스처가 특정 방향으로 이동하면서 사라지면 새로 나타나는 부분에 계속 붙어, 이미지가 계속 반복되며 연결되는 것과 같은 효과를 줄 수 있다. 드래곤 플라이트와 같이 2d 콘텐츠를 제작할 때 배경이 무한 스크롤 되게 하는 기능을 구현할 때 사용하면 된다.
Lighting과 그림자 세팅을 통해 게임 환경 설정하기
MeshRenderer에서 Lighting 컴포넌트를 조정하면 그림자 효과를 변경해줄 수 있다. Cast Shadows는 그림자를 주는 방식, Receive Shadows는 그림자를 받는 방식으로 오브젝트에 Receive Shadows의 체크박스를 해제해주면 그림자가 생성되지 않는다.
Directional light를 비활성화하고 Window - Lighting - Enviroment Lighting에 들어가 Source 탭을 Color로 변경해 주면 다음과 같이 diffuse와 specular은 없고 Ambient Color만 남는 것을 확인할 수 있다.. Ambient Color를 1(흰색)로 하면 빛의 차폐가 아예 없기 때문에 밝은 배경이 표현되고 씬 상에 있는 오브젝트의 그림자는 전부 없어진다. 반대로 ambient를 0(검은색)으로 가까이 움직이면 빛의 차폐율을 올려 전체적인 배경이 어두워지는 것을 확인할 수 있다. 이렇게 ambient 값을 활용해 밤, 호러 게임 등 시야가 차단된 상황을 표현할 수 있다.
'게임 프로그래밍 > 유니티 프로젝트' 카테고리의 다른 글
[Unity] 선형보간 Lerp 함수와 유니티에서의 선형보간 활용 사례(Alpha Blending, iTween) (1) | 2022.09.30 |
---|---|
[Unity] 유니티 3D 렌더링 파이프라인과 카메라 뷰 설정 (0) | 2022.09.29 |
[Unity] 유니티 라이팅(Lighting) 컴포넌트, 빛 표현과 노멀맵(Normal map) (0) | 2022.09.28 |
[Unity] 유니티 게임 개발 프로젝트 협업 방식과 MVC 패턴 이해 (0) | 2022.09.28 |
[유니티/C#] 메모리 정적 & 동적 할당과 유니티 내 싱글톤(Singleton) 패턴의 활용 (0) | 2022.09.27 |