Reflection Light 세팅하기
게임이나 애니메이션에서 라이트는 매우 중요한 요소이다. 때에 따라 다양한 분위기를 연출할 수 있으며 캐릭터 움직임에 따라 실시간으로 변화하는 라이트는 콘텐츠의 퀄리티를 향상시키는 중요한 요소이기도 하다. 유니티에서는 오브젝트와 머터리얼을 이용하여 리얼타임 렌더링 라이트 세팅이 가능하도록 기능들을 지원하고 있다.
오브젝트를 생성한 후 광원 오브젝트 및 빛이 반사되는 벽 오브젝트 모두 하이라키 창에서 Static을 반드시 체크해줘야한다.
오브젝트에 매핑할 머터리얼은 다음과 같이 세팅해주어야 한다. Albedo 값은 자유롭게 조정하되 광원의 느낌을 내기 위해 HDR Color - Intesity값을 높여준다. 또한 Metalic과 Smoothness 값을 조정해주고 Emission에 체크해주어야 한다. 그리고 Global Illumination을 Realtime으로 세팅해준다.
Window - Rendering - Lighting에 들어가 New Lighting Settings을 클릭한 후 Generate Lighting을 실행해주면 컴퓨터가 계산하여 라이트맵 렌더링을 시작하게 된다. Light를 렌더링 하는 과정은 컴퓨터의 엄청난 연산량이 필요로 하기 때문에 시간이 다소 걸리는 한계점이 있다.
Generate가 끝나면 다음과 같이 Baked Ligtmaps 탭에 다음과 같이 구워진 라이트맵들이 생성된다. 여기서 라이트맵을 굽다라는 뜻은 광원 주변의 벽면을 아예 텍스처로 만들어버린다는 개념으로 이해하면 된다. 실제로 빛이 반사되어 보이는 것이 아니라 반사된 후의 모습을 텍스처로 만들어버렸기 때문에 Bake 후 광원을 움직여도 반사광이 비친 기존의 벽 텍스처는 그대로인 모습을 보여준다. 실시간 움직임에 따라 달라지는 모습을 확인하기 위해서는 Auto Generate를 추가해주면 된다.
|
'게임 프로그래밍 > 유니티 프로젝트' 카테고리의 다른 글
[Unity]벡터를 이용한 플레이어 이동 구현하기 (0) | 2021.12.28 |
---|---|
[Unity]삼각함수를 활용한 미사일 슈팅 구현하기 (0) | 2021.12.28 |
유니티 RagDoll 설정하기 (0) | 2021.11.15 |
유니티 Render Texture를 사용하여 Scope 만들기 (1) | 2021.10.29 |
유니티 progress 바 설정하기 (0) | 2021.10.28 |