본문 바로가기

유니티/shaderGraph27

유니티 셰이더 그래프 예제 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.
Unity Shader Graph Example Library 02, 유니티 2021에서 사용 ExampleScene-Player 정상화, 셰이더 나오게 하기 Unity Shader Graph Example Library 02, 유니티 2021에서 사용 ExampleScene-Player 정상화, 셰이더 나오게 하기 이전 내용에 이어서 작성합니다. 2018에서 2021에 올라오면서 손봐야 될 부분은 크게 몇 개 있었죠.. 이전 과정에서는 2018로 제작되어 LightweightRP를 사용하던걸 일단 2021용 UniversalRP로 교체하여 다양한 애러를 수정하였습니다. 하지만 아직도 특정 모델들의 Shader가 잘 올라오지 않음을 보고 마무리를 했었죠 Assets-> Scenes의 ExampleScene-Player.unity 부터 봅니다. 첫 녀석으 적당히 나오는 것 같아 보이지만 첫 녀석도 사실 정상이 아닙니다. 왼쪽 Hierarchy창에 순서대로 화면의.. 2021. 4. 23.
Unity Shader Graph Example Library 01, 유니티 2021에서 사용(업그레이드) LightweightRenderPipeline를 UniversalRP로 변경, 애러처리 Unity Shader Graph Example Library 01, 유니티 2021에서 사용(업그레이드) LightweightRenderPipeline를 UniversalRP로 변경, 애러처리 유니티 셰이더 그래프 적용이 2018 버전부터 본격화가 되었고, 그 당시에도 괜찮은 예제들이 나왔습니다. 그중 다음 예제 Shader Graph Example Library 을 보려 하는데, Software Requirement Version: Unity 2018.3.0f2 Package: com.unity.render-pipelines.lightweight: 4.6.0-preview 소프트웨어 지원 정보를 보면 Unity 2018에서 작성되었습니다. 해당 버전을 구해서 열어보시면 잘됩니다. 하지만 최신 버전으로.. 2021. 4. 23.
유니티 셰이더 그래프 예제 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.
유니티 셰이더 그래프 예제 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.