라이팅맵은 오브젝트에 텍스쳐에 그림자,반사면,거칠기같은것을 저장해주는 다른 텍스쳐임,
쉽게말하면 우리가 텍스쳐위에다가 질감표현을 한번 더 하기위해서 입히는 덧칠같은 느낌인데, 이게 필요한 이유가 요즘은 덜하지만, 옛날에는 진짜 중요했음.
사양이 후달리기때문에, 광원처리까지 하게되면 게임이 렉이 걸려서 예전에는 광원처리를 거의 안하고, 미리 건물같은거에다가 그림자를 입혀서 처리를 했음.
그래서 그 그림자를 입혀주는 친구가 라이트맵임.
요즘은 실시간 레이트레이싱이나 못해도 부분적 광원처리를 해도 사양이 받쳐주지만, 굳이 아니더라도 동화풍이나 자신이 원하는 게임의 배경을 만들기 위해서는 색깔을 잘 입혀주는게 중요함.
라이트맵 단계에서 그림자의 색깔이나 화풍을 조절해서 덧입힐수있고, 거칠기나 반사면같은것도 입힐수있다.
그래서 입히는 방법은 다음과 같음. 블렌더를 기준으로 설명하면, 렌더방식을 Cycles로 바꾸고, gpu있으면 gpu사용하는게 많이 빠름, 그 다음에 설정창에 따로 들어가서 cuda를체크하고 자기 그래픽카드를 골라주면, 사용준비는 완료.
그 다음에 자기가 굽고싶은 오브젝트를 고르고 sun오브젝트 하나 만들어서 렌더링화면에서 자기가 원하는 광원각도를 만들어준다. 빛의 세기는 나중에 조절하니까 괜찮음, 그림자의 각도만 맞춰주고, 밑에 bake칸에서 사진처럼 설정을해준다.
오브젝트를 고르고 bake를 누르면 기존 텍스쳐에 까만색이 덮여질텐데, 그 부분이 그림자가 들어간 부분임, 얼마나 빛의 정도를 받냐에따라 까만색의 정도가 다르고, 일단은 많이 까말거임.
그래서 기존 텍스쳐와 그렇게 베이크된 텍스쳐를 들고 포토샵에 가서 두개를 혼합시키거나, 아니면 블렌더에서 노드를 써서 혼합시키는 방법이 있는데, 게임사이즈나 최적화 방법에 따라 취사선택하면됨.
☆주의점은, 보통 UV는 저렇게 텍스쳐 사이즈 절약을 위해서 같은 그림이나 색을가진 면을 합치는 경향이 있는데, 그렇게 합쳐버리면 구웠을때 그림자가 빛을 받고있는 부위에도 겹쳐져서 같이 까매짐.
그러니까 uv맵을 2개를 만들어서 사용하거나, 나처럼 uv를 펴버리고 그 위에다가 자기가 펼치기전의 텍스쳐의 이미지를 겹쳐서 텍스쳐를 이동시키는 방법을 선택해도됨.
지금 내 8번9번 사진은 uv를 그냥 대충펴서 픽셀 간격이 너무 좁기때문에 검은색 줄이 나타나지만, 통상적으로는 저렇게 검은줄이 나타날 일은 없고, 결과물을 보면 햇빛이 없어도 그림자가 텍스쳐에 잘 새겨진걸 볼 수 있음.
어쨋든 라이팅맵 굽는방법이랑 그림자 조절은 자기게임이 분위기 있게 만들고, 광원처리에 아예 의존하지 않아도 되기때문에 보고 선택하면 좋은방법임.
<사진순서>
1번 기본 텍스쳐/노 라이팅
2번 cycles렌더링 키고 광원으로 그림자가 만들어진모습
3번 설정방법
4번 기본텍스쳐
5번 겹친부분을 강제로 펴고 uv에 텍스쳐를 옮겨줌
6번 텍스쳐에 라이팅맵 구움
7번 5번이랑 6번 적당히 섞어서 텍스쳐만듬/이 부분에서 uv가 너무 작게 펴져있어서 8번과 9번에 검은줄 발생
8,9 광원 렌더링 없이 모델링에 그림자가 들어간모습
쉽게말하면 우리가 텍스쳐위에다가 질감표현을 한번 더 하기위해서 입히는 덧칠같은 느낌인데, 이게 필요한 이유가 요즘은 덜하지만, 옛날에는 진짜 중요했음.
사양이 후달리기때문에, 광원처리까지 하게되면 게임이 렉이 걸려서 예전에는 광원처리를 거의 안하고, 미리 건물같은거에다가 그림자를 입혀서 처리를 했음.
그래서 그 그림자를 입혀주는 친구가 라이트맵임.
요즘은 실시간 레이트레이싱이나 못해도 부분적 광원처리를 해도 사양이 받쳐주지만, 굳이 아니더라도 동화풍이나 자신이 원하는 게임의 배경을 만들기 위해서는 색깔을 잘 입혀주는게 중요함.
라이트맵 단계에서 그림자의 색깔이나 화풍을 조절해서 덧입힐수있고, 거칠기나 반사면같은것도 입힐수있다.
그래서 입히는 방법은 다음과 같음. 블렌더를 기준으로 설명하면, 렌더방식을 Cycles로 바꾸고, gpu있으면 gpu사용하는게 많이 빠름, 그 다음에 설정창에 따로 들어가서 cuda를체크하고 자기 그래픽카드를 골라주면, 사용준비는 완료.
그 다음에 자기가 굽고싶은 오브젝트를 고르고 sun오브젝트 하나 만들어서 렌더링화면에서 자기가 원하는 광원각도를 만들어준다. 빛의 세기는 나중에 조절하니까 괜찮음, 그림자의 각도만 맞춰주고, 밑에 bake칸에서 사진처럼 설정을해준다.
오브젝트를 고르고 bake를 누르면 기존 텍스쳐에 까만색이 덮여질텐데, 그 부분이 그림자가 들어간 부분임, 얼마나 빛의 정도를 받냐에따라 까만색의 정도가 다르고, 일단은 많이 까말거임.
그래서 기존 텍스쳐와 그렇게 베이크된 텍스쳐를 들고 포토샵에 가서 두개를 혼합시키거나, 아니면 블렌더에서 노드를 써서 혼합시키는 방법이 있는데, 게임사이즈나 최적화 방법에 따라 취사선택하면됨.
☆주의점은, 보통 UV는 저렇게 텍스쳐 사이즈 절약을 위해서 같은 그림이나 색을가진 면을 합치는 경향이 있는데, 그렇게 합쳐버리면 구웠을때 그림자가 빛을 받고있는 부위에도 겹쳐져서 같이 까매짐.
그러니까 uv맵을 2개를 만들어서 사용하거나, 나처럼 uv를 펴버리고 그 위에다가 자기가 펼치기전의 텍스쳐의 이미지를 겹쳐서 텍스쳐를 이동시키는 방법을 선택해도됨.
지금 내 8번9번 사진은 uv를 그냥 대충펴서 픽셀 간격이 너무 좁기때문에 검은색 줄이 나타나지만, 통상적으로는 저렇게 검은줄이 나타날 일은 없고, 결과물을 보면 햇빛이 없어도 그림자가 텍스쳐에 잘 새겨진걸 볼 수 있음.
어쨋든 라이팅맵 굽는방법이랑 그림자 조절은 자기게임이 분위기 있게 만들고, 광원처리에 아예 의존하지 않아도 되기때문에 보고 선택하면 좋은방법임.
<사진순서>
1번 기본 텍스쳐/노 라이팅
2번 cycles렌더링 키고 광원으로 그림자가 만들어진모습
3번 설정방법
4번 기본텍스쳐
5번 겹친부분을 강제로 펴고 uv에 텍스쳐를 옮겨줌
6번 텍스쳐에 라이팅맵 구움
7번 5번이랑 6번 적당히 섞어서 텍스쳐만듬/이 부분에서 uv가 너무 작게 펴져있어서 8번과 9번에 검은줄 발생
8,9 광원 렌더링 없이 모델링에 그림자가 들어간모습
사이클 노이즈때문에 써먹기가 그런데 방법없음...?
하고 실시간으로 광원 위치가 변해도 저거 써도 괜찮음? 아님 오클루전 맵만 구워야됨? 한번 본인 프로젝트에도 써먹어보고싶은디...
디노이즈걸면 렌더링 이미지에는 안걸리고, 그냥 사이클을 사용하는 이유가 저렇게 실시간 광원 정보를 텍스쳐에 베이크하기 위해서 사용하는거임, 베이크하고 나면 그 이후에는 정보가 텍스쳐에 저장되니까 더이상 쓸일없음. 라이트맵의 단점중에 하나는 싸이클기반으로 그림자를 굽기때문에 시간이 좀 걸린다는 맹점이 있긴함.. 그래도 여전히 매력적인 기능중에 하나라고 생각함
ㄴㄴ 저거는 광원위치를 기준으로 그림자맵을 입히는거라서, 한쪽으로만 오는 광원만 사용하는 게임이아니라 실시간으로 광원이 변하는거면, 원신이나 붕괴의 음영처리처럼 좀 복잡한 텍스쳐 방식을 요구함.
그래도 낮과 밤, 저녁정도의 게임이면 변함에따라서 라이트맵의 정도를 다르게해서 섞어서 사용가능할것같음, 대신 라이트맵의 강도가 계속 변해야하겠지만..
3디 배경은 잘 몰라서 하는말인데 배경은 uv 겹치는게 매우 중요한데 라이팅을 위해서 다 풀어해치는거 너무 비효율적 아님? 예시 모델은 집 하나여서 가능은 하겠지만 마을을 만든다고하면 겹치는 uv엄청 많아지는데 문제가 될듯? 바닥도 겹치기 안 될테고
라이팅 베이크는 유니티에서 하는거 아니었나....?
잘 몰라서 하는말임 틀린거 있으면 ㅈㅅ
원래 저렇게 나도 안폄 ㅋㅋㅋ; 질문글 있길래 올라와서 보여준다고 풀었는데 우연히 집었던 옵젝이 uv 겹쳐있게 만들어놔서 그냥 스마트uv기능으로 풀고 찍어버림 ㅋㅋ; 엄청 비효율적인 방법이지 저건 저렇게 펴버리면 그만큼 텍스쳐도 더 크게 만들어야하고, 제일좋은건 다 사각형으로 만드는거임, 길티기어텍스쳐처럼, 그렇게 하면 라이트 맵을 만들어줘도 안크니까
이쁘게피든 안이쁘게 피든 결국에는 겹치지 못한다는거 아님?
길티기어는 툰쉐이터여서 늘리거나 해도 문제없어서 그런거 아닌가?
아마 저 정도 텍스쳐를 검은줄 안나오게 온전하게 한다고하면, 4096*4096 까지 만들어줘야 검은줄이 안생길거임, 라이트맵사용할때는 uv 깔끔하게 안겹치게 잘 펴야지
겹치지못함, 근데 길티기어텍스쳐는, 한번 보면 알겠지만 오밀조밀 잘 배치해서 uv가 되게 가지런하게 정렬되있지, 그래서 라이팅맵같은걸 구워버린다고해도 텍스쳐용량이 2024*2024에서 안넘어갈정도로 생산성있게 펴져있음.
결론은 라이팅맵사용할때는, UV를 야무지고 과하지않은 적당한크기로 잘 펴주는게 핵심임.
저격뎃글이여서 미안한데 역시 게임엔진에서 라이팅 베이크가 정석인듯해
https://www.youtube.com/watch?v=J4iVXAYaJfQ
내가 아는 배경작업자도 실무에서 이렇게 작업했던걸로 기억함
영상보면 알수있는데 길티기어 라이트맵은 유니티에서 라이팅베이크하면 자동으로 만들어주는 맵을 착각한듯
딱히 저격은 아닌게 작동원리는 똑같고 똑같이 라이트맵 이미지로 튀어나옴
ㄴㄴ 영상 다 보면 알수 있는데 엔진베이크가 정석임
유니티에 저런 방법있으면 쓰면 좋지 ㅇㅇ.. 난 유니티 아예 안써서 존재를 몰랐음 ㅋㅋㅋ; 난 혼자서 야매로 이것저것 다 주워가면서 배워서 새로운거 알면 좋긴함
ㅇㅇ 라이팅 베이크해서 텍스처 그리는건 빠른 작업을 위해 필수 기술이긴하지
정보감사요! 라이트맵 이쁘게 구울려면 꾸준히 구우면서 연습해야겠군요
서로 모르는 부분 알아도가고 복습도하고 좋습니다
정보글 감사합니다 블랜더에서 말고 기존에 있는 소스를 베이크하는데 문제가 있네요 uv를 따로 생성 해주는 기능을 어제 발견해서 구워 볼려니 18시간 걸린다고 떠서 못해보고(gpu 사용 하는데도) 다른 방법 찾는중
굽는데 시간 엄청 오래걸리는 경우는 보통/ 텍스쳐의 크기랑(보통 1024*1024~2048*2048) 모델이 많이 복잡해서 광원관련 처리가 오래걸리는 경우/ 모델링의 폴리곤이 너무 많은경우/ 한번에 여러 오브젝트를 베이크하는 경우/ 정도가 있는데 제 기준에도 예전에 4k텍스쳐 구울때도 그정도는 안걸렸던것 같아요. 그때 기준 3080 16GB였습니당
블렌더 왼쪽끝에 Edit(편집)>>Preferences(설정)>>System에서 Cuda눌러주시고 Gpu선택해주시면 됩니다 간혹 체크안하고 사용하면 gpu사용안하고 cpu써서 오래걸리는 경우도 있어요
uv 겹치는 문제는 그냥 uv 채널을 두개 쓰면 됨...하나는 기본 맵핑용 하나는 라이트맵용 - dc App
팩트) 실제 현업에서 UV 이렇게 펴면 싸대기맞는다