Shader9 [Shader] Bubble Shader 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 비눗방울 표현 원리 비눗방울의 특징을 생각해보면 전체적으로 투명하고 주변 물체들이 비치는(reflect) 것이다. 대신, 비치는 현상 때문에 가운데 부분은 약간 불투명한 모습을 보여주며, 전체적으로 불규칙하고 무지개를 연상시키는 색상으로 이루어져있다.요약하자면 반사(주변부를 비춤) + 무지개 색(가장자리로 갈수록 강해짐) 핵심이다. 그 밖에도 비눗방울 자체의 성질상 고정되지 않고 일렁이는 특징도 표현하고자 하려면 쉐이더 파트에서 묘사 할 수 있다. 제작 방법 생각해보기 완벽한 물리 계산을 하기 어렵다면 Texture를 사용해서 제작하는 방법도 있다.계산식이 복잡하다는 이유도 있고, 색상 계산이 따로 필요.. 2025. 6. 18. [Shader] 카툰 렌더링 #3 - 빛의 반사 영역과 정반사 이론편 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 정반사의 원리 정반사(Specular)는 빛이 표면에서 반사되는 현상을 의미한다. 정반사 또한 빛과 반응하는 재질이 가진 속성이라고 보면 된다.난반사(Diffuse)가 물체의 빛을 흡수한 뒤 고르게 반사시키는 현상이라면, 정반사는 빛을 흡수하지 않고 반사시킨다. 즉, 난반사는 빛을 흡수하고 고르게 반사시켜 물체의 색상을 정해주(는 것 처럼 보임)지만 정반사는 빛을 반사시키기에 '하이라이트'를 만들어낸다.\ 하이라이트는 들어온 빛이 특정 영역에 집중되면서 발생하는 현상이다. 정반사는 반사된 빛의 방향과 관찰자나 카메라의 시선 방향에 따라 다른 결과가 나오는 게 특징이다.따라서 Specular BRDF를 구현할 .. 2025. 6. 12. [Shader] 카툰 렌더링 #2 명암 조절하기 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 이번 강의에서는 쉐이더를 공부하다보면 자주 접하게되는 함수 Lerp(), Step() , smoothstep()가 메인이다. 색과 그라데이션디지털 기기에서는 색을 관리하기 위해 RGB 색상 모델을 사용한다.RGB 색상 모델은 색을 합칠수록 밝아져 최종적으로는 흰 색이 된다는 특성을 가지고 있다. RGB 모델 또한 세 원색을 혼합하는 처리, 즉 연산으로 결과값이 도출되기 때문에 무채색을 곱하면 명도와 채도가 낮아지는걸 확인할 수 있다.그라데이션이라는 말은 한 번쯤은 들어봤을텐데, 검 -> 흰색으로 점진적으로 밝아지는 명암을 일컫는 말이다.따라서 준비된 색에 흑백 그라데이션(H Gradient)을 곱한다면 그 .. 2025. 6. 11. [Shader] Post Processing : Tint Effect 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 원래 Post Processing 관련 글을 작성하고 있었는데 생각해보니 간단한걸 먼저 만들어보고 진행하는게 좋을 거 같아서 먼저 작성하게되었다. 미리보기 : 최종 결과물 생각했던 것 보다 만들기 너무 힘들었다. 엄밀히 따지자면 Tint shader 자체는 복잡하지 않은데 렌더피쳐랑 너무 오래 싸웠다... Custom Post Processing : Tint 처음 만들어보는 효과인 만큼 가장 기본적인 효과라고 할 수 있는 Tint 효과를 만들어보려고 한다. 유니티 내장 Post Processing을 살펴보면 Tint는 따로 존재하는 효과가 아니라 Bloom의 Value에 해당한다.내가 만들 Tint 효과는.. 2025. 6. 11. [자료] Shader Graph, VFX Graph 샘플 예제 大분석 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Unite Seoul 영상을 천천히 보면서 한 번 다시 정리해보고 싶은것들 중심으로 내용을 정리해본다 Vfx Graph 관련은 따로 작성하지 않았따 Shader Graph1. Default ShadersLit Shader(= PBR) Unlit Shader : 조명이 필요없는 시각 효과나 고유 오브젝트에 사용 (= 저사양 하드웨어 적합)2. Vertex Shader정점 단위 계산 : 객체의 공간적 변형, mesh 왜곡, 애니메이션 효과 등 처리 (=position) 법선(Normal) 벡터 변환텍스쳐 좌표 조작output은 Interpolator에 저장되어 Fragment Shader로 전달됨 3. Frag.. 2025. 6. 4. [Shader] Depth Map 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Depth Map이란?viewpoint(일반적으로 카메라)로부터 물체 표면과의 거리와 관련된 정보가 담긴 채널을 의미한다.모션 트래킹할 때 사용하는 센서들도 보통 Depth Map 옵션을 가지고 있다.일본어로는 深度マップ 이라고 하는등 결국 초첨은 '깊이' 이다. Depth Map 뜯어보기 Depth Map의 경우 유니티 자체에 예제로 있기 때문에 오늘은 작성보다는 어떻게 구성되고 작동되는지를 공부하는데 초첨을 맞췄다.우선 예제에서 복잡한 부분(체크 알고리즘)은 제외하고 Depth와 관련된 부분만 남겨서 정리하였다. Properties { } SubShader { Tags { .. 2025. 6. 3. [Shader] Dithering Shader 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 원래 디더링이 어떤 역할을 하는지, 어떤 개념인지도 같이 작성했었는데 글이 한 번 날아갔다...개념까지 다시 정리할 힘이 없으므로 개념은 생략하고 코드 작업만 작성했다. (개념 자체는 참고자료에 잘 적혀있다)간단히 말하자면 알파 블렌딩을 쓰지 않는다는 뜻! 코드 원문(Git Hub)코드 원문은 참고자료에 GitHub주소를 달아두었다. PropertiesProperties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Main Texture", 2D) = "white" {} _DitherScale("Dither Scale", F.. 2025. 5. 9. [Shader] Fog with SkyBox f공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 해당 예제는 유니티의 Built-in 코드를 기반으로 작업하였다. 이것은 수정하기전의 모습이다. World 전체에 Fog Lighting이 적용되지 않는 것이 확인된다. 기존의 코드에서 수정한 부분들 위에서 언급한 Fog 관련 처리 및 include할 HLSL 파일들 수정이 주로 이루어졌다. 기존 코드는 CG기반이기에 HLSL로 수정 작성하면서 필요해진 작업이다. 즉, 본래 사용되었던 내장함수들을 사용할 수 없기 때문에 추가하거나 대체해줄 필요가 있었다. 1. Unity_PI PI는 우리가 알고있는 파이(x) 즉 3.14이다. URP에서 내장되어있지 않으므로 직접 추가해주었다. 2. UnityObj.. 2025. 5. 8. [Shader] OPaque Error with Unlit Shader (불투명 쉐이더 문제) 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 스터디 피드백을 해주던 도중 생긴 문제를 해결했던 것을 기록한다. 결론부터 말하자면 '오브젝트를 페이드 아웃 시키는 fade-out shader, 즉 Transparent가 Unlit Shader에서 적용되지 않는 문제가 발생했었고 이를 해결했었다. 이 이야기를 하면서 ZBuffer 및 알파 블렌드(Alpha Blend)에 대해서도 같이 작성하며 알파를 다루기 전 알아야할 이론을 공부했다. 교재나 웹사이트를 참고하며 정리한거기에 다소 난잡할것이다. Z Buffer?Z Buffer는 깊이 Buffer라고도 부르며, 이름 그대로 화면 기준에서 '깊이값'이 얼마인지 저장하고 있는 Buffer이다.X축과 Y축만이 .. 2025. 4. 25. 이전 1 다음