본문 바로가기
유니티 엔진

Unity 5.0의 라이팅 시스템 허접연구

by 대마왕J 2014. 8. 26.

연구라고 거창한 이름 붙이기도 뭐한...

일하다가 짬날때 그냥 잠깐 가지고 놀아보는 정도입니다.

꾸준히 파는 것도 아니고, 메뉴얼이 있는 것도 아니고 말이죠.

 

PBS도 컴파일 되어 있는 놈이라, 뒤져보는 것도 꽤 귀찮은 일이어서, 시간이 많아야 할 수 있어뇨... 메뉴얼 줘 메뉴얼...

 

일단 저놈의 하늘의 태양 높이를 수정할 수 있어 보이는데... 쉐이더가 컴파일 되어 있어서 아이 귀찮어 상태였다는 거죠.

 

그러다가 , 처음부터 생성되어 있는 Directional light 를 우연히 회전시키다가 보니...

배경의 Procedual 태양과 연동이 되네요!

 

화면에 존재하는 Directional Light의 방향과 자동으로 연동이 되고, 라이트가 없으면 태양도 사라지며,

Directional Light가 두 개 이상이면 먼저 만들어진 녀석을 따라가고

밝기가 차이가 나면 더 밝은 녀석을 태양으로 인식하는 구조입니다.

 

뿐만 아니라 

 

 

 

 

이케이케 막 각도가 변하다가

 

 

 

 

지평선이랑 닿으면 이케이케 가로로 늘어납니다. 어라 이 부분 코드 궁금한데?

 

 

더 내리면 땅밑으로 해가 들어가 버리는데, 급격히 약해집니다.

아예 안보이게 하는게 낫지 않았을까요..? 그라운드 포그 효과를 주고 싶어서 이렇게 했을까요?

 

 

 

 

없어졌습니다.

 

애석하게도, 각도에 따라 노을이 지거나 하는 효과가 내장되어 있지는 않은듯 합니다. 그치만 어차피 프로시져로 작성된 하늘이기 때문에, 구름이 흘러가거나 태양 각도에 따라 노을 색으로 변하거나 하는 식으로 개조하는건 무척 쉬울 것 같습니다. 조금만 기다리면 어셋 스토어에 올라올듯...

 

 

 

또 하나, 아무래도 스페큘러는    Blinn-Phong이 아닌 Cook-Torrance로 만들어진 것 같습니다.

 

 

왼쪽이 Legacy Specular Shader,   오른쪽이 새로 들어간 Physically Based Shader

 

 

일단 스페큘러가 전형적인 Cook-Torrance 방식의 모습을 보여주고 있습니다.

 

물론 이건 Forward Rendering 방식일때고, Deferred 방식으로 바꾸면 Legacy Specular Shader 도 Cook-Torrance 방식의 모습을 보여주고는 있습니다만, 모양이 좀 다릅니다. 그리고 Deferred 방식도 두 개를 선택할 수 있도록 바뀌었네요.

예전 방식은 2pass Deferred 라고 불리고, 새로 들어간건 그냥 Deferred 라고 불리는 군요.

역시 이 두 경우도 미묘하게 스페큘러의 느낌이 다릅니다. (구형 Deferred는 그냥 Blinn Phong이었던걸로 기억합니다)

 

전형적인 Blinn-Phong 느낌을 내주는건 그냥 Forward 뿐이네요.

 

 

 

 

반응형

댓글