하고자 하는 것 : 거리에 따라 라이팅이 균일하게 (반사량이 균일하게) 들어가면 좋겠습니다.
상황: 해피 도어는 리썰 라이크 게임으로 플레이어가 라이트를 들고 다닙니다.
라이트로 공간을 비추는데 적절한 밝기를 찾았습니다.
문제는 이 라이트의 광량 감쇠를 컨트롤 할 수 있는 옵션이 없습니다.
가까이 있을 경우 너무 밝고
라이트 밝기를 낮출경우 거리가 떨어져 있을 때 너무 어둡습니다.
빨간 원에 해당하는 광원 반사량이 거리를 무시하고 일정하려면 어떤 작업을 해야할까요?
최종적으로 눈뽕을 피할 수 있는 다른 꼼수가 있을까요?
라이트 색상을 바꿔보는 건 어때? 공포 게임인데 너무 밝은 빛은 몰입을 해칠 수도 있을 것 같아.
레이케스트 쏴서 벽에 가까워지면 광량 줄여보세요
베스트는 자동노출(Auto Exposure) 를 사용하는건데, HDRP나 레거시는 있는데 URP는 없어서 직접 만들거나 애셋스토어에서 사다가 써야됨... 차선책은 위에 나온것처럼 거리계산해서 광량 감소...
자동노출 세팅 잘맞춰서 쓰면 괴물같은거 가까워졌을때 후레쉬 비추는 부분만 보이고 주변이랑 그림자는 시꺼매지는.... 호러나 공포에서 후레쉬로 비추는 괴물만 딱 보이는 그 연출과 비슷한 식의 느낌을 낼수 있어서 이쪽을 추천함... 뭐 우리나라에선 암순응/명순응 이라고도하는 그거 맞음...밝은곳에 있다가 어두운곳에 들어가면 잠깐 아무것도 안보이거나 그 반대의 그거...
lit 쉐이더 생성해서 빛을 받으면 일정 값으로 Flat 처리하거나, 텍스처맵 기반으로 처리하거나 해라.
저라면.. 근접 라이트는 적절한 밝기로 두고.. 방 천장 쯤에 약한 필라이트 배치해서 후레시 킬 때 같이 켜지는 형식으로 할듯?
본인쟝이 뭘 알고 이야기하는건 아닌대, 걍 쉐이더에서 일정 값이상은 컷하면 되는거 아님?
유니티 기본셰이더 코드에 보면 additional light attenumatio
additional light attenuation 정의하는 코드
https://github.com/Unity-Technologies/Graphics/blob/master/Packages/com.unity.render-pipelines.universal/ShaderLibrary/RealtimeLights.hlsl
참고.
와 다른일좀 본다고 글을 못봤는데 댓글 정말 감사합니다!