1월 11일 작업보고

2018.01.11 18:42

PROTECTED ARTICLE. TYPE THE PASSWORD.

포토샵에서 그라디언트를 그려보면




이케 나오는데요. 


요거요거, 그라디언트 툴을 이용해서 정확히 그린 그라디에이션이예요. 무려 수 학 의 힘을 빌려 그린 거지요. 

차암 정확하겠죠?!??!? 



근데 그거 아세요? 이거 사실은 틀 린 거라는거요 

저거 솔직히 보세요. 너무 어둡지 않아요? 뭔가??? 







실제 제대로 된 그라디언트는 저렇게 안생겼어요 제대로 되었다는 말은 검은색 ~ 흰 색 까지 제대로 된 비율로 증가한다는 거고 

그 그라디언트는 저렇게 생기지 않았다고요!!


지금부터 보여드릴께요. 제대로 된 혼신의 그라디언트를!! 




짜잔. 


이게 여러분들의 모니터에서 볼 수 있는 '제대로 된' 그라디언트입니다. 굉장히 이질적이죠? 이런거 본 적 없죠? 

요거 .. 포토샵에서 그린게 아니거든요. 




넹 요건 유니티에서 수학 연산으로 출력한 그라디언트거든요. 

이게 진짜예요. 


근데 왜 포토샵에서는! 어두워 보이느냐!!


사실 포토샵에서도 제대로 그리고 있어요!!! 


근데 모니터 감마를 거치느라 어두워 진거라고요!! 

그래서 포토샵에서 회색은 진정한 회색이 아닌 겁니다!! 





http://chulin28ho.tistory.com/241



포토샵에서의 128 즉 회색은 진정한 회색보다 많이 어두워얌!!! 사실 187이 더 회색에 가까워얌!!

포토샵에서의 색상 수치값은 사실 우리가 알고 있는 정상값과는 거리가 있는거예얌!!




그래서 무슨 문제냐고요? 




아니 뭐 그냥 그림 그릴땐 문제 없어요 



잘못된 그라디에이션이면 뭐 어때. 그대로 포토샵에 나오는대로 나오면 됐지


그래서 포토샵에서 그린 그라디에이션을 유니티로 가져와 봤어얌. 




아래가 포토샵에서 가져온 거예얌!!! 

그래요!! 뭐 포토샵이 틀렸다고? 뭐 어쩌고 하는데 알게 뭐얌!! 포토샵과 똑같이 가져와 지니 걍 되는거 아닌가염!!!!



그래여 뭐 그냥 텍스쳐 그려서 넘길때는 문제 없어얌. 


네 안심하셈. 



그런데....


셰이더 짜는 사람이나 이펙터나 TA 들에게는 좀 문제가 있어얌!!!


이사람들은 '그림' 데이터가 아닌 '정확한 수치' 데이터를 텍스쳐로 처리할 때가 있단 말예얌!!!!


예를 들어 노말맵. 


이거 벡터 각도를 나타낸 맵이예염. 이건 이쁜게 문제가 아니라 정확해야 한다고. 


그리고 또 마스크맵들. 예를들어 러프니스 맵, 메탈릭 맵 이런거. 


이것도 이쁘라고 그린게 아니라 정확하라고 넣은 수치 데이터잖아!!!!!!!


이런 것들은 이렇게 틀린 그라디에이션으로 그냥 넘어오면 안되얌!!!! 수치가 중요하니까!!! 


그래서 정말 제대로 수치로 넘겨야 할 것들은




이걸 꺼줘야 한다는 거예염!!!!!!!!!!! 저거 봐 봐 sRGB 칼라 텍스쳐라고 되어 있잖아...

즉 칼라 텍스쳐가 아닌 '데이터' 는 저걸 꺼줘야 해염!!! 


그러면 어떻게 되냐면.. 




짠 


같아졌죠 


아래것이 미묘하게 어두운 것 같... 닥쳐 


이게 진짜 '수치적으로 리니어한 그라디언트' 를 눈으로 보는 거예얌. 그리고 수치 데이터 텍스쳐들은 이 옵션을 써야 하는 거임. 








제보 감사합니다 ㅠㅠ



P35

사실 세이더를

사실 셰이더를



P45

주석 6번


다이렉터X

다이렉트X



P50


약1/3쯤 어두워졌을 것이라고 

약1/3쯤으로 어두워졌을 것이라고 



p65 / 73


머릿말에 유니티 셰이더 구성이라고 되어 있습니다. 

유니티 쉐이더 구성이라고 정정합니다. 


마찬가지로 기초적인 서피스 셰이더를 제작해 봅시다 라고 되어 있습니다 

기초적인 서피스 쉐이더를 제작해 봅시다 라고 수정합니다. 





P111


gg.r은 0

이 아니라 0.5 이므로 출력된 숫자는 (0,0.5,1) 이 됩니다. 




p210


o.Albedo = lerp ( c.rgb, b.rgb, IN.color.r);

o.Albedo = lerp ( c.rgb, d.rgb, IN.color.r);

로 고쳐야 합니다. 





p341


중간 부분 수식

o.Alpha = rim * sin(_Time.y * 0.5 + 0.5) ; 

가 아니라

o.Alpha = rim * (sin(_Time.y) *0.5+0.5) 

입니다. 


아래 수식 

o.Alpha = rim * sin(_Time.y * 0.5 + 0.5); 

가 아니라

o.Alpha = rim * abs(sin(_Time.y)); 

입니다. 



p342


float4 coor:COLOR

가 아니라 

float4 color:COLOR


입니다. 




p355 


그러므로 이 연산 후에는 normalize( ) 란 함수 명령으로 다시 길이를 1로 조절해줄 필요가 있습니다 


<->


그리고 우리는 또 하나도 배웠던 기억이 납니다. '이렇게 두 벡터를 더한 결과는 길이가 더이상 1이 아니다' 라는 것도 말입니다.  그림으로 봐도 일단 길이가 1이 아닌 것을 알 수 있습니다. 


위 두 문구가 서로 바뀌었습니다. 



p357


Blinn-Phing 


가 아니라 


Blinn - Phong 입니다. 






PROTECTED ARTICLE. TYPE THE PASSWORD.