양초의 색 변경이 유니티의 기본 색 (color.red 등) 을 제외하곤 다 저런식으로 배경색을 채워버리는 현상이 발생하였다.
사용자 지정 색상을 이용하기가 힘듬
유니티에서 색을 지정할 땐 (1,0,0,1) 과 같이 0~1까지의 값을 이용하여 나타낸다고한다.
따라서 new Color(255f,0f,0f,255f) / 255f 처럼 아예 RGB 값에 255를 나누어 유니티 형식으로 만들거나
Color32 클래스를 사용하는 것을 권장하는 듯하다.
일단 이 문제는 해결하였음에도 원하는 대로 결과가 나와주지 않고 (색이 너무 약해서 이건 밝기 조절의 문제이려나)
현재 사진처럼 맨 마지막 양초만 주변에 빛을 비추는 현상이 목격되어 왜 그런지 알아봐야할 것 같다.
튜터님께 질문을 통해 답을 찾았다.
일단 먼저 광원으로 사용되는 Point Light 의 옵션중 Rendering 에서
Render Mode가 Auto로 되어 있었는데 Important로 바꿔주었다.
이것은 광원이 랜더링 되는 것들의 우선순위를 부여한다.
Auto로 설정되어 있을 땐 하나만 활성화되어 있는 이유는 이미 같은 종류의 광원이 활성화되어 있기에
나머지는 우선순위가 밀려있는 것으로 판별된다.
하지만 그럼에도 맨 왼쪽의 오브젝트는 광원이 활성화가 되지 않는다. 분명 Important를 전부 해준것을 확인하였다.
이건 URP 자체 세팅 문제였는데
URP 로 세팅되면서 자동으로 생성되어 있는 New Universal Render Pipeline Asset 설정에서 답을 찾을 수 있었다.
Lighting 옵션의 Per Object Limit 이라는 옵션이 4로 되어 있는 데
이것은 오브젝트 하나가 영향을 받을 수 있는 광원의 갯수를 의미한다.
즉 땅이 영향 받을 수 있는 광원의 갯수가 4개라서 맨 처음 활성화되어 있던 광원은 무시되었던 것이다.
사진처럼 땅은 해당 오브젝트의 광원에 영향을 받지 않고 있으나 석상은 영향을 받고 있는 모습이다.
그런데 이 옵션에 설정할 수 있는 광원의 최대 갯수는 8개가 최대이다.
한 오브젝트에 영향을 줄 수 있는 광원은 8개가 최대라는 뜻이다.
이 제한을 없애고 싶다면 이번엔 New Universal Render PipelineAsset_Renderer 의 옵션에 접근해야한다.
New Universal Render PipelineAsset_Renderer 은
New Universal Render Pipeline의 Rendering 항목에 들어가있는 SO로 URP의 랜더링 관련 항목을 맡는 듯하다.
Rendering 에서 Rendering Path를 Forward 가 아닌 Deferred로 하면 한 오브젝트에 랜더링될 수 있는 광원의 영향
제한이 풀린다.
Per object limit 을 1로 맞추어도 5개의 광원 전부 지면에 영향을 주는 모습이다.
하지만 이것을 옵션으로 설정해둔 것을 보면 최적화에선 좋은 영향을 주지 못할 수도 있다.
따라서 이 옵션은 이후 광원의 최대 갯수를 보고나서 염두해두고 현재는 Per object limit 만을 건드리기로 하였다.
뭔가 푸른색 계열로 불 빛이 변하는 것을 표현하려고 하였는 데 어두울 때도 제대로 색변화가 느껴지지 않는다.
붉은 빛이 눈을 피로하게 하여 색 변화에 둔감하게 한다고 검색을 통해 알게되었는데
색을 나타내는 광원의 세기를 줄여서 해결해야하나 싶다.
RGB 컬러 조합을 통해 해결해보려고 했지만 좋은 결과를 주진 못하였다.
기능적으로만 일단 자연스러운 색전환과 가능하다면 불이 피어오르고 사그라드는 것도 표현해보고 싶다.
'TIL' 카테고리의 다른 글
2024 12 26 TIL (0) | 2024.12.26 |
---|---|
2024 12 24 TIL (1) | 2024.12.24 |
2024 12 23 TIL (0) | 2024.12.23 |
2024 12 20 TIL (0) | 2024.12.20 |
2024 12 19 TIL (0) | 2024.12.19 |