반응형

Unity/URP 10

URP 셰이더 그래프 _ 자국 남기는 효과

연산 그래프를 사용하여 Fade와 날카로운 정도를 표현해주는 이펙터를 만들어 볼 것이다. 빼기와 Saturate 노드를 사용할 것 먼저 이런 알파가 빠져있는 이미지를 준비해주었다. Subtract 연산을 해주면 fade 값 만큼 빼기가 된 것 Subtract 값이 0일때는 기본적인 알파가 빠진 모습 fade가 0.5 일 때는 0.5 만큼 전체적으로 내려가서 알파가 깍인 모습이다. 하지만 그래프를 통째로 내리기 때문에 - 값 까지 표현되서 이상한 검정색이 보이게 된다. Saturate 노드를 이용하여 0이하의 값인 - 값을 0으로 바꿔주고 1이상의 값은 1값으로 플랫하게 바꿔준다. 적용하게 되면 이상하게 나온 음수의 값이 사라진다. 이제 날카로운 정도를 줄 것이다. 날카롭게 하기 위해서는 그래프 선을 올려..

Unity/URP 2022.10.02

URP 셰이더 그래프 _ 컬러 값 연산노드

☝개요 셰이더 사용하는 연산 노드들을 찾아 볼 것이다. 셰이더 또한 크게 보면 숫자로 이용하여 컬러를 만지는 것이기 때문에 연산을 해주는 기본적인 노드는 매우 중요한 것이다. Add / Subtract - 값을 더 해주고 빼주는 노드 Multiply - 값을 곱해주는 노드 Divide - 값을 나누어 주는 노드 - 나누기 연산은 곱하기 연산보다 느리다. 그래서 1/2로 나누기를 한다면 0.5를 곱하는 것이 효과적이다. Pow 연산 pow(x, 2.0) 은 x에 2 제곱하는 결과이다. 만약 x가 2 이면 2의 2제곱인 4의 값이 나온다. 만약 x 가 0~1.0 사이 값이면 x 보다 작아진다. pow(0.5, 2.0) 이라면 0.5 * 0.5 이기 때문에 더 작은 0.25가 된다. 이러한 pow 함수의 특성..

Unity/URP 2022.10.02

Color 값 표현에 유용한 수식들

half4 result = 1 - color; -> Invert 효과를 줌 half4 result = pow(color, 0.5); -> 제곱근를 줘서, 이미지의 흰색과 검정색에는 변화 없이 중간 밝기 영역만 조절 할 수 있음 V 그래프를 만들어주는 수식 절댓값을 표현하는 Abs 함수를 사용함 y = Abs((x - 0.5) * 2) 로 표현 할 수 있다. 이런 형태로 V 곡선이 만들어짐 A 곡선은 y = 1 - (V곡선) 으로 만들어주면 된다.

Unity/URP 2022.07.17

ShaderGraph, Swizzling 이란?

Swizzling 이란? Swizzling은 모든 원본 레지스터 구성 요소를 임시 레지스터 구성 요소에 복사하는 기능을 나타냅니다 (https://docs.microsoft.com/ko-kr/windows/win32/direct3dhlsl/dx9-graphics-reference-asm-ps-registers-modifiers-source-register-swizzling) 원문에서는 복잡하게 느껴질수있지만, 그래프에서 사용되는 예시를 보면 보다 쉽게 이해 할 수 있음 현재 BaseColor는 (3)으로 Vector3를 받아서 Color값을 표현함 하지만 Input으로 받는 값은 Float 값 (1)임, 상식적으로는 1개의 값으로 3개의 값을 표현하려면 오류를 떠야하는게 당연함 하지만 스위즐링으로 사용해..

Unity/URP 2022.07.17

Unity Shader Graph _ 유니티 셰이더 그래프

유니티 셰이더 그래프는 SRP(Scriptable Rendering PipeLine)에서 사용할 수 있는 노드 방식의 셰이더 에디터임 나의 목표는 HLSL 코드로 적성하는 게 목표이나, 셰이더 그래프도 최근에는 많이 쓰이고, 목적에 따라서 두 가지를 모두 사용하는 경우가 있으니, 기본적인 사용 방법은 정리할 필요가 있다. ---- - 셰이더 그래프 생성 기본적으로는 Project -> Create -> Shader -> Universal Render Pipeline -> 원하는 세이더 선택 생성 후 더블클릭을 하면 셰이더 윈도우창이 만들어진다. 유니티로 돌아와서 인스펙터를 보면 이러한 모습이 보인다. 셰이더 그래프도 사실 쉐이더 코드를 변환 한 것이기 때문에 ViewGenerated Shader 로 현재..

Unity/URP 2022.07.17

210713_ URP 쉐이더 2

버텍스 쉐이더는 VertexInput v // 버텍스 버퍼에서 받은 값이 들어오고 어떻게 보간기를 통해서 넘길지 정하는 부분 vert 버텍스의 값으로 v 로 들어오고 보간기를 통하고 o 으로 내 보내지는 구조임 ---- 공간변환 3D 메시의 각 버텍스를 사용하는 툴의 3D 공간을 변환하는 과정을 거치게 된다. 월드 변환 (Model View Perspective) // MVP 라고 부르기도한다 - 로컬 위치에 있는 모델링을 월드 위치로 변환하는 것 - object to world 이걸 다시 카메라 뷰로 바꾸는 걸 한다. 즉. 이 변환 과정은 간략하게 [오브젝트 공간] >> [월드 공간] >> [카메라 공간] >> [클립 공간] 으로 거치게 된다 스크린샷 설명 1. vertex 에 : 현재 오브젝트의 포지..

Unity/URP 2021.07.13

210712_URP 쉐이더 1

기존에 했던 쉐이더에서 URP 쉐이더의 스크립터는 조금 다르다. 이렇게 날라간다. https://www.youtube.com/watch?v=mlNWoROvavY&t=1111s 튜토리얼 참고. 일단 기본 쉐이더를 만들어서 매터리얼에 적용하고 모델링에 적용한다. https://docs.google.com/document/d/1UX0319CXa29fCFAgg0qa5vnH-U6875jt0KLKUk5mke8/edit# URP Shader Basic URP Shader Basic term 2 Shader란? 2 Basic simple basic code 2 Shader “shader folder name / shader name” 3 Properties에서 변수 설정하고 매터리얼에서 확인 3 SubShader 4 ..

Unity/URP 2021.07.13

프로젝트를 URP 세팅으로 바꾸기

1. 패키지 매니저에서 URP 를 다운 받아준다. 2. 렌더링 - URP - Pipeline Asset 를 만들어준다. 3. 에딧 - 프로젝트 세팅 - 그래픽스 - 렌더 파이프 에섯을 바꿔준다. 4. 기존에 있는 매터리얼이 기존은 빌트인으로 되어있어서 이런색이 나온다 이걸 URP 세이더로 바꿔줘야한다. 5. 에딧 - 렌더 파이프 - 유알피 / 프로젝트 해주면 자동을 모든 매터리얼이 바꿘다. 근데 이건 빌트인 세이더만 변환됌

Unity/URP 2021.06.04
반응형