본문 바로가기

전체 글15

14주차, 알파를 알아보자. 쉐이더를 알아보자 시리즈는 이 14주차를 기반으로 마지막입니다.물론, 더 많은 쉐이더 공식을 알게 된다면 추가로 올리지만 '알아보자' 시리즈는 여기서 종료입니다 👍 긴 여정 수고 많으셨습니다! 자 그럼!  호적을 파야만 했었던 알파, 도대체 어떤 것일까?  1. 알파의 베이스 알기 지금까지 배운대로 알파를 작동시키려 한다면… Tags { “RenderType” = “Transparent” “Queue” = “Transparent” }…o.Alpha = (특정 값); 이 들어가야만 했다.문제는 이렇게 하게 되면 알파가 들어갔음에도 불구하고 바닥에 그림자가 남았다. 이럴 때 해결 방법이 있는데, 바로 최하단에 있는FallBack “Diffuse”값에FallBack “Transparent”를 넣어주면 된다... 2024. 6. 10.
13주차, 물을 더 만들어보자. 이전 블로그 게시글을 올린지 아슬아슬하게 1주년이 되기 전에...이제서야 13주차를 올립니다.알아보자 시리즈는 14주차가 마지막인데...연달아 올려보겠습니다 ㅎㅎ비루한 블로그에 자주 찾아와주셔서 감사드리고 쉐이더를 배우시는 모든 분들을 응원합니다!  1. 물의 굴절 알기  물은 빛의 굴절이 생긴다! 흐르는 물은 그 굴절이 더 뚜렷하게 보일 것이다. 빛의 굴절을 직접 나타낸다 한다면 무척 어려워지니, 속임수를 알아보도록 하자!1-1. screenPos 알기WorldPos는 배웠는데, ScreenPos라면 혹시…  예상하는 대로, Screen, 즉 바라보는 방면(화면)의 Position이다.이것으로 무엇을 할 수 있을까? 우선 확인해보자! Struct에 screenPos를 불러와 Emission에 불러왔다... 2024. 6. 10.
12주차, 물을 일단 만들어보자. 이제 물도 만들 때가 온 것 같다. 근데 그 전에 리플렉션도 알고...프레넬 반사도 알고... 1. 반사부터 시작하기 실제 반사는 아니지만 반사와 같은 효과를 주기 위해서 우리는 저번 시간에 Cubemap을 사용하여 Texture를 입히듯 했다. Cubemap을 통한 반사를 만들고 노말맵을 넣을 때 유의할 점은 “INTERNAL_DATA” 즉, 탄젠트 값을 가진 노말맵을 월드 포지션으로 변경해줄 필요가 있었다. 왜냐면, Cubemap을 불러올 때 worldrefl라는 World 반사 값을 사용했기 때문이다! 우선 반사를 가진 텍스쳐를 기본으로 만들어보자. 그럼 물이라면 … 물이 흐르는 노말도 있어야 할테니 노말도 추가해주면… 분명히 노말이 들어갔음에도 불구하고 이상하기만 하다… 노말이 들어가긴 한 것 같.. 2023. 6. 28.
11주차, 툰 쉐이더를 더 알아보자. 아직 끝난게 아니에요! 1. 저번 시간에 ... NdotL을 응용해서 if문이나 ceil를 통해 명암을 나눌 수 있었다. 그리고 또 다른 방식이 존재한다! 바로 대인배 분들께서 제공해주신… 1-1. Warped Diffuse 팀 포트리스의 제작자, 밸브의 논문에서 나온 Warped Diffuse이다. 뒤틀린(Warped) 디퓨르라니 … 잘 감이 오지 않는데다가, 상단의 링크로 들어가면 영어와 전문 단어들만이 가득하다. 도대체 뭘 썼길레 상단처럼 명암 단계가 나오는 것일까? 지금까지 UV를 따로 받아오고, 그 UV에 따라 텍스쳐가 그려졌었다. UV는 0~1 사이 내(그 이상을 가질 수 있지만, 기본적인 텍스쳐 값을 따지자면)의 값을 가지고 있고, 각각 U와 V로 나눌 수도 있었다. UV를 나타낼 때에도 f.. 2023. 6. 19.