본문 바로가기

ShaderGraph27

유니티 셰이더 그래프 예제 19, 축 사라짐 효과 구현, Unity ShaderGraph Phase In And Out 유니티 셰이더 그래프 예제 19, 축 사라짐 효과 구현, Unity ShaderGraph Phase In And Out 유니티 셰이더 그래프를 이용하여 축 시준으로 사라지는 효과를 구현해 봅시다. Lit Shader Graph를 하나 생성하시고요. Graph Inspector Alpha Clip와 Two Sided 둘 다 체크 Phase In And Out 기본 노드 구성 Y축 기준 작업을 합니다. StepIn 값을 외부에서 받도록 해두었습니다. 일단 0입니다. step에서 in 값을 기준으로 크기 비교를 하여 1,0으로 값을 만듭니다. 그리고 반전시켜서 Alpha Clip Threshold에 넣습니다. 추가로 Alpha 값도 설정 0.5 해줍니다. 출력 결과 StepIn 값을 조절해가며 캡처했습니다. .. 2021. 4. 27.
유니티 셰이더 그래프 예제 17, 홀로그램 구현, Unity ShaderGraph Hologram 유니티 셰이더 그래프 예제 17, 홀로그램 구현, Unity ShaderGraph Hologram 유니티 셰이더 그래프로 홀로그램을 만들어 봅시다. Unlit Shader Graph를 하나 생성하도록 하자. Graph Settings surface Transparent로 변경 홀로그램 기본 노드 구성 텍스처의 UV를 ScreenPosition 기반 UV로 하여서 화면 기준 해당 텍스처가 그려지도록 한다. 거기에 시간 변화량과 Tiling and offset을 이용 적당히 흐르게 만든다. 그리고 이걸 Alpha에 넣고 결과를 보도록한다. 결과 보기 칼라 값을 적용해보자. 노드 구성 외부에서 칼라 값을 하나 가져오고, 텍스처 결과와 곱해서 Base Color로 연결 그럴싸해 보이지만 간격이 너무 커 보이는 .. 2021. 4. 26.
유니티 셰이더 그래프 예제 16, 슬라이스 효과 구현, Unity ShaderGraph Sliced 유니티 셰이더 그래프 예제 16, 슬라이스 효과 구현, Unity ShaderGraph Sliced 슬라이스 효과를 구현해 봅니다. Lit Shader Graph 하나 제작합니다. Graph Inspecgtor 설정 Alpha Clip 설정 참조 기본 아이디어 기본 구성 노드 구성 포지선 정보주에 높이 정보만 빼옵니다. 그걸 Fraction에 넣습니다. Hlsl의 frac에 대응합니다. 소수점 부분만 가져옵니다. y축이 올라감에 따라 0~1이 반복됩니다. 요걸 step 하여 단편화시켜주고 이 값을 AlphaClip Threshold에 놓습니다. Alpha 또한 0.5 정도로 조절해 줍시다. 실행결과 텍스처를 적당히 챙겨 넣어줘 봅니다. 고쳐봅니다. 슬라이스의 간격이 좀 촘촘했으면 좋겠잖아요. 노드 구성 .. 2021. 4. 26.
유니티 셰이더 그래프 예제 14, 오브젝트 위에서 흐르는 텍스처 구현, Unity ShaderGraph Scrolling Texture Overlay 유니티 셰이더 그래프 예제 14, 오브젝트 위에서 흐르는 텍스처 구현, Unity ShaderGraph Scrolling Texture Overlay 오브젝트 위에 흐르는 택스쳐를 구현해해 보독 합시다. Lit Shader Graph를 하나 만듭니다. 다음과 같이 노드를 구성합니다. 시간을 이용해서 uv offset을 만들어 흐름을 만들어 냅니다. 시간에 곱해지는 수치 등을 이용하면, 속력 조절이 되겠죠. base 가 되는 uv를 object position을 이용합니다. 그리고 흐르면 좋아보이는 텍스처에 연결해서 Emission에 출력합니다. 실행결과 최고 상단 경계면이 약간 이상해 보이지만 그럭저럭 봐줄 만한 수준 같습니다. 좀 더 잘 만드고 싶다면 triplanar 등을 연구해보면 될듯합니다. 저는.. 2021. 4. 25.
유니티 셰이더 그래프 예제 13, 림라이트(역광) 구현, Unity ShaderGraph Rim Light 유니티 셰이더 그래프 예제 13, 림라이트(역광) 구현, Unity ShaderGraph Rim Light 유니티 셰이더 그래프로 림라이트를 구현해보자. 셰이더 그래프를 이용하면 기존 게임에서 나오는 만큼은 아주 간단하게 구현되다. 역광을 구하는 공식이 노드화 되어 있어서, 그래서 그냥 패스할까도 했지만 해보고 가자. 먼저 림 라이트란 먼가 림 라이트는 Back Light라고도 불린다. 한글로는 역광 오브젝트 뒷면의 조명이 와서 오브젝트의 외곽이 빛나는 듯이 보이는 현상이라고 보면 좋을 거 같다. 엣지 라이팅이라고도 불린다. 박스 친 부분이 라이드가 먹혀 있는 느낌이 있다. 요런 느낌을 구현하고자 하는 것이다. 일단 Lit Shader Graph를 하나 만들도록 하자. Blackborad에서 float .. 2021. 4. 24.
유니티 셰이더 그래프 예제 12 메인라이트 가져와서 조명모델 & 카툰셰이딩 만들기, Unity 2021 ShaderGraph Get MainLight make new LightModel and CartoonShader 유니티 셰이더 그래프 예제 12 메인라이트 가져와서 조명모델 & 카툰셰이딩 만들기, Unity 2021 ShaderGraph Get MainLight make new LightModel and CartoonShader 이번에는 라이트 정보를 가져와서, 간단한 NdL 모델을 하나 만들어 보고,또 그 라이트를 이용해서 간단하게 카튠 셰이딩도 하나 해보도록 하자. 조명 모델을 만들어 넣을 거니까, 기존 조명을 참조하는 시스템을 쓰지 않는다. 그러니까 Unlit Shader Graph를 하나 생성한다. 이름은 정당히 원하는 것으로 하고, MainLight 정보를 참조하기 위한 ShaderGraph 노드는 없다. 그래서 우리는 Custom Function Node라는 우리가 직접 코딩을 해야 하는 노드를 써야 한.. 2021. 4. 23.
유니티 셰이더 그래프 예제 11, 굴절 효과 구현, Unity ShaderGraph refaction 유니티 셰이더 그래프 예제 11, 굴절 효과 구현, Unity ShaderGraph refaction 유니티 셰이더 그래프를 통해 간단하게 굴절 효과를 만들어 봅시다. 이전에 외곡 효과를 만 듯 것과 거의 유사합니다. 오히려 노드 구성자체는 외곡 효과를 만 듯 것보다 간단합니다. 외곡 효과를 만들 때와 마찬가지로 화면 텍스처를 참조할 수 있어야 해당 기능이 돌아갑니다. 아래 내용을 체크해주세요 사전 체크 사항 몇 가지 사전 처리가 되어 있어야 합니다. 먼저 mainCamarar가 Opaque Texture 허용이 되어 있나 확인해주세요. 다음으로 URP 설정 파일들의 Opaque Texture의 확인이 돼야 합니다. 요게 돼야 우리는 사전에 그려놓은 화면을 참조할 수 있는 조건이 됩니다. 잘 되었다면 L.. 2021. 4. 22.
유니티 폴리 브러쉬 URP ShaderGraph 02, 오브젝트 배치, 텍스쳐 페인팅 유니티 폴리 브러쉬 URP ShaderGraph 02, 오브젝트 배치, 텍스쳐 페인팅 저번 글에서 폴리 브러쉬를 설치하고, 높이 조절과 버택스 칼라를 칠하는 기능을 테스트해보았다. 이번에는 4번째 기능인 오브젝트 배치를 해보자. 4번째 메뉴 선택 깔렸으면 하는 prefab을 아래 체크 빨간 박스에 등록하고, (요기까지 한건 그냥 등록만 한 것, 실제 그리고 싶으면, v 표시 체크하면 Brush loadout에 올라온다. 여러 개가 동시에 올라올 수도 있다. 해당 기능의 옵션이 많다. 이것저것 조절해보면서 느껴보자. 세밀하게 배치하기 힘든, 풀 같은 것을 쓸 때 사용하면 좋은 기능이라 보인다. 다음 기능은 텍스처 페인트 기능 택스쳐 페인트 기능을 보도록 하자 주로 지형 작업등에서 많이 볼 수 있는 행위이다.. 2021. 4. 22.
유니티 셰이더 그래프 예제 10, 물 효과 구현, Unity ShaderGraph water 유니티 셰이더 그래프 예제 10, 물 효과 구현, Unity ShaderGraph water 유니티 셰이더 그래프를 통해 간단한 물 효과를 구현해 보겠습니다. Lit Shader Graph를 하나 생성합니다. Graph Inspector 설정 surface 를 transparent로 변경합니다. 물이라면 아래가 비치는 게 좋겠죠. 먼저 물이 너울거리는 것을 표현해 봅시다. 실제 vertex의 위치를 변경시켜 물을 너울거림을 표현할 예정입니다. 시간 값을 가져와서 적당히 변화량을 만들어 줍니다. 이걸 tiling and offset에 연결하고 Gradient noise에 연결하여 움직임을 만듭니다. 그 결과와 normal vector를 곱해서 Position에 더하여, 다시 Vertex의 position의.. 2021. 4. 21.
유니티 셰이더 그래프 예제 09, 토네이도 효과 구현, Unity ShaderGraph tornado 유니티 셰이더 그래프 예제 09, 토네이도 효과 구현, Unity ShaderGraph tornado 이번에는 유니티 셰이더 그래프를 통한 토네이도 효과를 구현해 보겠습니다. Lit Shader Graph를 하나 생성합니다. Graph Inspector 설정 붉은 체크의 내요을 바고 맞춰주세요 alpha blend와 clip를 사용할 계획입니다. 토네이도 Color 만들기 시간을 적당히 조절해서(곱) Radial Shear에 offest으로 넣어줍니다. Radial shear는 uv로 입력하면 아래와 같이 볼록한 효과를 낼 수 있습니다. 시간이 offset으로 입력되어 있어 먼가 변화량이 있습니다. Radial shear의 결괏값을 Simple Noise에 넣어주고, 적당한 칼라 값을 곱해준데 BaseC.. 2021. 4. 21.
유니티 셰이더 그래프 예제 08, 트라이플래너 구현, Unity ShaderGraph Triplanar 유니티 셰이더 그래프 예제 08, 트라이플래너 구현, Unity ShaderGraph Triplanar 유니티의 셰이더그래프로 트라이플레너 효과를 구현해 봅시다. 트라이 플레너라고 하면 역시 길건너친구들 이다. 카메라가 회전하지 않고, 캐릭터가 제한된 회전을 사용할 경우 트라이플레너 도입을 생각해 볼만 하다. 직전 구현했던, 눈 효과의 연장선이라고도 볼 수 있다. 이번에는 조명까지 빼고 구현해 보기로 한다. Unlit Shader Graph로 하나를 만들어 주세요. 이름은 원하시는 걸로 저장해주세요 일단 윗면부터 노드 구성 노말 백터와 0,1,0의 내적 시켜 윗면만 값을 만든 후 색을 곱해서 출력해본다. 앞전 예제인 눈 효과를 만드는 방식과 같다. 그럼 다른 면을 노드 구성을 해보자. 바꾼 것은 내적을 .. 2021. 4. 21.
유니티 셰이더 그래프 예제 07, 눈 효과 구현, Unity ShaderGraph Snow 유니티 셰이더 그래프 예제 07, 눈 효과 구현, Unity ShaderGraph Snow 유니티 셰이더 그래프를 이용해서 눈 효과를 구현해 보겠습니다. Lit Shader Graph를 하나 생성합니다. 이름은 적당히 해주시고요! 노드 구성을 보겠습니다. 노말 백터를 가져와서, 0,1,0과 dotProduct 내적 시킵니다. 화면에서 DotProduct 결과물과 같이 노말이 위쪽 방향인 녀석들만 값을 가지게 됩니다. 값을 Clamp를 통해 0,1로 잘라줍니다. SampleNoise를 한 장 생성하는데, 눈 모양과 비슷하게 Scale를 적당히 조절해줍니다. 그리고 Remap을 통해서 0~1 -> 0.5~1료 수정하여 비교적 흰색만 나오게 만듭니다. 해당 두 값을 곱해서 BaseColor로 출력합니다. 결과.. 2021. 4. 20.