본문 바로가기

전체 글55

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.
유니티 폴리 브러쉬 URP ShaderGraph 03, 셰이더 작성, 버택스 칼라, 버택스 칼라 기반 택스쳐 페이팅, 하나의 채널로 여러 택스쳐 그리기 유니티 폴리 브러쉬 URP ShaderGraph 03, 셰이더 작성, 버택스 칼라, 버택스 칼라 기반 텍스처 페이팅, 하나의 채널로 여러 텍스처 그리기 유니티에서 제공하는 폴리브러쉬의 기본적인 기능들은 다 본듯합니다. 약간 어려울수 있는 내용을 해봅시다. ShaderGraph를 직접 만들어 보고, 개선해보도록 합시다. 먼저 칼라를 버택스 칼라를 그대로 출력하는 쉐이더 Lit shader Graph를 하나 생성합니다. Graph inspector는 처음 생성 설정 그대로 사용합니다. 건드린 거 없음 vertex color 노드를 바로 Base color에 넣어주는 구성 노드구성 vertex color 노드를 바로 Base color에 넣어주는 구성 그럼 우리가 칠한 칼라와 텍스처가 대응되도록 구성해 봅시다.. 2021. 4. 22.
유니티 폴리 브러쉬 URP ShaderGraph 02, 오브젝트 배치, 텍스쳐 페인팅 유니티 폴리 브러쉬 URP ShaderGraph 02, 오브젝트 배치, 텍스쳐 페인팅 저번 글에서 폴리 브러쉬를 설치하고, 높이 조절과 버택스 칼라를 칠하는 기능을 테스트해보았다. 이번에는 4번째 기능인 오브젝트 배치를 해보자. 4번째 메뉴 선택 깔렸으면 하는 prefab을 아래 체크 빨간 박스에 등록하고, (요기까지 한건 그냥 등록만 한 것, 실제 그리고 싶으면, v 표시 체크하면 Brush loadout에 올라온다. 여러 개가 동시에 올라올 수도 있다. 해당 기능의 옵션이 많다. 이것저것 조절해보면서 느껴보자. 세밀하게 배치하기 힘든, 풀 같은 것을 쓸 때 사용하면 좋은 기능이라 보인다. 다음 기능은 텍스처 페인트 기능 택스쳐 페인트 기능을 보도록 하자 주로 지형 작업등에서 많이 볼 수 있는 행위이다.. 2021. 4. 22.
유니티 폴리 브러쉬 URP ShaderGraph 01, 세팅, 프리뷰, 높이 조절, 버택스 칼라 적용 유니티 폴리 브러쉬 URP ShaderGraph 01, 세팅, 프리뷰, 높이 조절, 버택스 칼라 적용 요즘 셰이더 그래프 활용을 좀 찾아보다, 폴리 브러쉬란 놈의 보고 이걸 사용하면 뭔가 해볼 수 있는 게 많겠구나란 생각이 들어서 사용법을 알아보다. 정리하기로 했다. 폴리 브러쉬의 기능을 말로 설명하면, 유니티 상에서 3d 모델의 정점을 조절할 수 있고 -해당 기능의 경우 다른 정보(노말)와 상의해질 수 있어 걱정이 되는데 3d 모델의 버택스 칼라를 직접 칠해볼수 있다. -요 기능은 정말 많이 쓰는 기능인거 같다. -터레인 듯 여러 장이 깔리는 곳에도 활용 가능 -고급적으로 해당 버퍼의 칼라를 앞축 해서 사용하는 기술도 있음 오브젝트를 쫙 깔아야 하는 경우에도 많이 쓰는듯하다. -예를 들어서 풀이나, 나.. 2021. 4. 21.
유니티 셰이더 그래프 예제 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.