본문 바로가기

셰이더그래프35

유니티 셰이더 그래프 예제 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.
유니티 셰이더 그래프 예제 06 외곡효과 구현, Unity shader graph distortion 유니티 셰이더 그래프 예제 06 외곡효과 구현, Unity shader graph distortion 외곡 효과를 만들어 보겠습니다. 특정한 면 뒤로 보이는 이미지 외곡되는 효과입니다. 이를 위해서는 선제적으로 기존 화면이 한번 랜더링이 되어야 하고, 이것을 가져다 써야 합니다. 요것이 되기위해서넌 URP 기준으로(다른 것도 비슷할듯) 몇가지 사전 처리가 되어 있어야 합니다. 먼저 mainCamarar가 Opaque Texture 허용이 되어 있나 확인해주세요. 다음으로 URP 설정파일들의 Opaque Texture의 확인이 되야 합니다. 요게 되야 우리는 사전에 그려놓은 화면을 참조할 수 있는 조건이 됩니다. 준비가 되었으니, Lit Shader Graph를 하나 생성, 이름은 적당히 해주세요 Grap.. 2021. 4. 20.
유니티 셰이더 그래프 예제 05 전기효과 구현, Unity shader graph Electricity 유니티 셰이더 그래프 예제 05 전기효과 구현, Unity shader graph Electricity 전기 효과를 유니티의 셰이더 그래프로 구현해봅시다. Lit Shader Graph 하나 생성하고, 이름은 원하는 대로 하시면 됩니다. Graph inspector에서 Surface를 Transparent로 변경 일단 전기 효과를 만드는 노드 길어서 아래에서 분리 설명할게요 앞부분부터 시간을 이용해서 UV에 흐름을 만듭니다. 위는 Y축으로 -0.5씩, 아래는 Y축으로 0.5씩 두 장을 노이즈가 서로 반대 방향, 위아래로 흐르게 만든 뒤 그것을 더합니다. 합쳐진 정보로 추가 작업 합쳐진 정보를 Power을 통해 제곱시켜줍니다. 작은 값을 더욱 작게, 큰 값을 더욱 크게 됩니다. Remap으로 현재 0~1 .. 2021. 4. 20.
유니티 셰이더 그래프 예제 04 포탈 구현, Unity shader graph Portal 유니티 셰이더 그래프 예제 04 포탈 구현, Unity shader graph Portal 유니티 셰이더 그래프를 이용 포탈 느낌을 구현해 봅니다. Lit Sahder Graph 생성, 이름은 원하는 대로 하세요 Graph inspector 에서 Surface 를 Transparent로 변경 먼저 회전하는 이미지 느낌을 제작 time과 multiply 를 사용해 수치적 이동량을 만들어서 Twirl 을 호출 UV좌표를 회전할 수 있는 기능을 노드의 offset에 연결합니다. -center 0.5,0.5로써 중심을 기준으로 회전합니다. 수치를 바꿔보면 느낌이 옵니다. 그것의 voronoi를 하나 생성시켜 UV로 끼워줍니다. 그 결과를 emission, Alpha 각각 넣어줘 봅니다. 현재까지의 결과 동그랗게.. 2021. 4. 19.
유니티 셰이더 그래프 예제 03 불꽃 구현, Unity shader graph Flame 유니티 셰이더 그래프 예제 03 불꽃 구현, Unity shader graph Flame 불꽃효과, Flame 효과를 구현해 봅시다. Lit Shader Graph로 하나 생성합니다. 이름은 적당히! surface Transparent Blend Addtive -해보고 맘에드는걸로 수정하시오 옵션관련 내용 인터넷에서 대충 캡쳐해왔습니다. 구성시작 택스쳐를 넣고, 칼라값과 택스쳐를 곱한다. Base Color, Alpha에 연결시켜줍니다. 칼라값 정보도 참조 하시고요. 불꽃에 일렁임을 만들어 봅시다. time과 vector2 x,y(0,-0.3)을 곱해서, tiling and offset에 offest으로 사용 택스쳐에 흐름을 만들어 줍니다. Grand Noide를 하나를 생성하고 Scale를 적당히 만져.. 2021. 4. 18.
유니티 셰이더 그래프 예제 02 디졸브 구현, Unity shader graph Dissolve 유니티 셰이더 그래프 예제 02 디졸브 구현, Unity shader graph Dissolve 이번에는 디졸브 효과 구현해봅니다. 이름은 적당히 만듬 surface Transparent Alpha Clip 체크 SimpleNoise 가져온다. 아래 X를 조절해서 모양을 조절한다. 요놈은 Alpha로 넣어줘본다. Time에서 SineTime을 가져오고 Remap으루 0~1범위화 시킨다. 요건 Alpha clip Threshold에 연결 add 노드 추가 디졸브 효과는 기존 알파 빠지는 부분 줍변에 먼가가 있어 보이는데, 이를 위해서 add시켜줌 step 노드 추가 step(x,y) : x≤y 이면 1을 리턴하고, 그렇지 않으면 0을 리턴한다. 디졸브 효과를 나타낼 부분을 단편화 시킨다. 해당 아웃을 Em.. 2021. 4. 18.