본문 바로가기

전체 글55

유니티 셰이더 그래프 예제 22, 간단한 축 기반 에니매이션, Unity ShaderGraph Simple Animation base axis 유니티 셰이더 그래프 예제 22, 간단한 축 기반 에니매이션, Unity ShaderGraph Simple Animation base axis 이번에는 셰이더 그래프를 통해서 간단하게 에니매이션이라고 할까요? 그런 효과를 구현해 보도록 하겠습니다. List 모델로 셰이더를 하나 만들어 주세요 특정 축(여기서는 Z) 기반으로 Sine을 생성하는 노드 시간 정보와, Z값으로 Sine을 생성합니다. 기존 Position Y 값에 더한 뒤 다시 Position으로 활용 멈춰있는 모델들 해당 ShaderGraph 적용 실행결과 Y축으로 더해지는 값의 강도가 너무 강한 거 같으니 sine출력에 적당한 수를 곱한다. 움직이는 강도를 조절하고 싶다면 Position을 기반으로 Sine파를 만들 때 수치를 만져주면 된다.. 2021. 4. 27.
유니티 셰이더 그래프 예제 21, Triplanar 사용을 통해 메시에 텍스처 입혀보기 + snow 효과, Unity shaderGraph Triplanar + snow 유니티 셰이더 그래프 예제 21, Triplanar 사용을 통해 메시에 텍스처 입혀보기 + snow 효과, Unity shaderGraph Triplanar + snow 이번에는 유니티 셰이더 그래프의 Triplanar 노드를 사용해 봅시다. Lit 셰이더를 하나 준비합니다. 화면에 태스트할 메쉬를 가져다 둡니다. 돌 같은 형태의 메쉬에 잘 어울립니다. Blackboard에 사용할 텍스처를 등록합니다. 노드 구성 다음과 같이 노드를 구성합니다. 실행결과 절대좌표 기준으로 적당히 잘 들어갔습니다. 딱히 텍스처가 찟어져 보이는 그런 느낌도 없죠. 택스쳐가 타일링 된 티는(반복) 솔직히 좀 나 보이지만, 나쁘지 않은 수준인듯합니다. Triplanar의 Tile 수치를 수정해보시면 타일링 정도를 더 보실 수 있.. 2021. 4. 27.
유니티 셰이더 그래프 예제 20, 파티클 모양 만들어보기, 둥근 모양, 알파 둥근, 표창 모양, 체크, rings, shatter, spiral 만들어보기 유니티 셰이더 그래프 예제 20, 파티클 모양 만들어보기, 둥근 모양, 알파 둥근, 표창 모양, 체크, rings, shatter, spiral 만들어보기 유니티의 셰이더 그래프를 통해 파티클 모양을 몇 가지 만들어 봅시다. 먼저 화면에 적당히 셰이더가 빠진 파티클을 하나 만들어 봅니다. 파티클의 모양세는 별로 중요하지 않습니다. 입자의 모양을 셰이더로 결정하는 테스트 용도일 뿐입니다. Unlit으로 셰이더를 하나 만듭니다. Graph Inspector Surface Transparent로 설정해줍니다. 먼저 하시기 전에 그냥 텍스처 만들어 넣으면 되지 뭐하러 이런 거 하냐 라고 말씀하실 수 있습니다. 하지만 이렇게도 되는구나라는 생각으로 한번 쓱 봐 두시면 언젠가 써먹을 날이 있을 겁니다. 참고로 파티.. 2021. 4. 27.
유니티 셰이더 그래프 예제 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.
유니티 셰이더 그래프 예제 18, 액체 잡음 구현, Unity ShaderGraph LiquidNoise 유니티 셰이더 그래프 예제 18, 액체 잡음 구현, Unity ShaderGraph LiquidNoise LiquidNoise를 셰이더 그래프로 구현해 봅시다. 머라 해석해야 몰라 그냥 직역 적당히 해두었습니다. Lit Shader Graph 하나를 생성합시다. 액체잡음 용 기본 노드 구성 UV 를 World Position 기준으로 생성하는 걸 봅시다. 시간 변화량으로 이동시키고요, Noise를 하나 생성해 바로 칼라 값에 넣어주고 있습니다. 현재 상태 출력 외부에서 칼라값을 둘을 가져와 믹스해서 출력시켜줍니다. 노드 구성 칼라 값을 외부에서 2개를 가져오게 만들고 Lerp 합니다. Lerp의 T값을 Noise출력밧으로 하고, Lerp 결과를 BaseColor에 넣습니다. 적당히 외부에서 칼라 값들을 .. 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.
Unity Shader Graph Example Library 04, 유니티 2021에서 사용 ExampleScene-Scenarios 복구하기 Unity Shader Graph Example Library 04, 유니티 2021에서 사용 ExampleScene-Scenarios 복구하기 이전 글에서 파티클, 기타 예제, 스프라이트 예제 등을 처리하였습니다. 이번에는 ExampleScene-Scenarios 를 처리해 봅시다. 여러 상황에 따라 구성되어 있는 녀석이라 가장 복잡합니다.. FloorPrototype64x01x64 아랫 판의 BaseMap은 -SwatchNavyAlbedo SlidingDoorFrame polySurface749, polySurface750 SlidingDoor_D SlidingDoor_NRM SlidingDoor_M Overlay Texture -HologramLines Overlay Reveal Texture -M.. 2021. 4. 24.
Unity Shader Graph Example Library 03, 유니티 2021에서 사용 ExampleScene-Particles, Procedural, Sprites 복구하기 Unity Shader Graph Example Library 03, 유니티 2021에서 사용 ExampleScene-Particles, Procedural, Sprites 복구하기 이번에는 다른 씬들을 수정해 봅시다. ExampleScene-Particles.unity 텍스처가 깨져있다면, 각 파티클의 셰이더를 열고 저장을 한 번씩 해주고, Scene로 돌아옵니다. 실행화면 다음으로 넘어갑니다. ExampleScene-Procedural.unity 노드들의 사용법을 보여주고 있는데, 역시 셰이더를 열어서 저장을 한 번씩 쭉 시켜줍니다. 평면이므로 보이지 않는다면 카메라를 회전 시켜봅니다. 팁, 하나하나 찾아서 열기 귀찮다. 싶으면 다음과 같은 방법도 있습니다. 여러분의 막일 시간을 줄여줄 것입니다. 드.. 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.