본문 바로가기
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #11 - 버텍스 칼라를 마스킹 기능으로 사용해 봅시다 안내 여기 나오는 내용은 유니티 쉐이더 스타트업에 나오는 예제를 최신 URP에 맞추어 예제를 번역한 내용입니다. 때문에 이론적 내용이 상당히 간략하거나 불친절하며, 예제에 대한 설명도 축약되어 있기 때문에 책과 같이 보시는 것을 추천하는 바입니다. 자 오늘부터 드디어 책을 옆에 가져다 놓고 씁니다 ㅋㅋㅋㅋㅋㅋㅋㅋ (그동안 머리속으로만 했다는 얘기) 206페이지의 버텍스 컬러를 마스킹 기능으로 사용해 봅시다! 를 따라할 거예요. 리소스는 .. 책 사신 분은 이미 다 가지고 계실 거구요 이 블로그에서는 ... 어디 있을까요... 숨겨져 있을지도 몰라요... 잘 찾아봐요... 너무 대놓고 드리면 출판사 사장님한테 혼난단 말야... .... 여기 지난 시간에 버텍스 칼라를 보이게 하는 것 정도는 해 봤지만 .... 2021. 10. 22.
(HLSL)아티스트를 위한 URP 셰이더 Shader #10 - 버텍스 칼라 출력 더보기 안내 여기 나오는 내용은 유니티 쉐이더 스타트업에 나오는 예제를 최신 URP에 맞추어 예제를 번역한 내용입니다. 때문에 이론적 내용이 상당히 간략하거나 불친절하며, 예제에 대한 설명도 축약되어 있기 때문에 책과 같이 보시는 것을 추천하는 바입니다. 자 이번엔 버텍스 칼라 출력입니다. 버텍스 칼라 그리는거야.. 맥스나 블렌더같은 3D 툴에서 그리면 되는데... ...귀찮잖아요 뭐 요즘 게임 엔진에는 버텍스 칼라쯤은 자기가 그리는 기능도 가지고 있고 말이니까요 이럴땐 PolyBrush가 제격이죠 빨강으로 카와이하게 그려줄께요 뭐야 안 보이잖아... 후후후 버텍스 칼라는 그렇게 쉬운 녀석이 아니니까요 (사실 쉬움) 일단 버텍스 칼라가 보이도록 만들어 줘야 합니다. (사실 오늘은 이게 다임) 1. 버텍스.. 2021. 10. 17.
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #10 - 버텍스 칼라 출력 안내 여기 나오는 내용은 유니티 쉐이더 스타트업에 나오는 예제를 최신 URP에 맞추어 예제를 번역한 내용입니다. 때문에 이론적 내용이 상당히 간략하거나 불친절하며, 예제에 대한 설명도 축약되어 있기 때문에 책과 같이 보시는 것을 추천하는 바입니다. 자 이번엔 버텍스 칼라 출력입니다. 버텍스 칼라 그리는거야.. 맥스나 블렌더같은 3D 툴에서 그리면 되는데... ...귀찮잖아요 뭐 요즘 게임 엔진에는 버텍스 칼라쯤은 자기가 그리는 기능도 가지고 있고 말이니까요 이럴땐 PolyBrush가 제격이죠 빨강으로 카와이하게 그려줄께요 뭐야 안 보이잖아... 후후후 버텍스 칼라는 그렇게 쉬운 녀석이 아니니까요 (사실 쉬움) 일단 버텍스 칼라가 보이도록 만들어 줘야 합니다. (사실 오늘은 이게 다임) 1. 버텍스 칼라 .. 2021. 10. 17.
Sprite-Lit-Default 셰이더 적용 오브젝트 회전시 조명 방향 문제 해결 Fix lighting direction issue when rotating object with Sprite-Lit-Default shader applied 2D Game을 만들때 가장 많이 사용되는 셰이더인 Sprite-Lit-Default 셰이더를 사용해서 캐릭터 애니를 할 때, 유니티 내장된 2D 애니메이션 에셋으로 캐릭터를 만들면, 가끔 좌우 반전이 필요할 때가 있죠. 그럴때 많이 사용하는 방식이 캐릭터를 180도 Y 축으로 회전해서 사용하는 방식인데, 그렇게 할 때 조명 문제가 생기곤 합니다. 아래 그림을 보시면 왼쪽이 회전하지 않은 원본, 오른쪽이 Y를 180도 회전한 캐릭터. 조명은 시계 방향으로 그런데 보시면 오른쪽의 180도 돌아간 캐릭터의 조명을 보시면, 시계 방향이 아니라 반시계방향으로 조명이 돌고 있지요. 허벅지 부분에 조명 돌아가는걸 보시면 잘 볼 수 있습니다. 이렇게 캐릭터를 Y 로 180도 회전 시켰을때 노말이 틀어지면서 조명 문제.. 2021. 10. 12.
(HLSL)아티스트를 위한 URP 셰이더 Shader #10 - UV 를 이용한 불 만들기 실습 안내 여기 나오는 내용은 유니티 쉐이더 스타트업에 나오는 예제를 최신 URP에 맞추어 예제를 번역한 내용입니다. 때문에 이론적 내용이 상당히 간략하거나 불친절하며, 예제에 대한 설명도 축약되어 있기 때문에 책과 같이 보시는 것을 추천하는 바입니다. 시작하는 기본 코드 - 텍스쳐 한 장만 출력되는 코드 - 의 다운로드는 이것입니다. 일단 아래 두 이미지가 있다고 해 둡시다 .. 이건 책에 나오는 예제인데.. 새로 만들기 귀찮아서 계속 쓰고 있는데... 역시 이 이미지를 다운로드 받으시려면, 이전 강의 문서에서 받으실 수 있습니다. https://chulin28ho.tistory.com/677 자 이걸로 UV 를 이용한 예제를 만들어 보도록 하죠. 불 만들기예요 불. 책 보신 분은 첨에 볼 수 있는 그거. .. 2021. 10. 1.
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #10 - UV 를 이용한 불 만들기 실습 안내 여기 나오는 내용은 유니티 쉐이더 스타트업에 나오는 예제를 최신 URP에 맞추어 예제를 번역한 내용입니다. 때문에 이론적 내용이 상당히 간략하거나 예제에 대한 설명도 축약되어 있기 때문에, 책과 같이 보시는 것을 추천하는 바입니다. 그럼 이쯤해서 이론은 지겨우니, 책에 나온 예제를 이용해서 실습해 봅시다 몇 페이지더라..? 여하간 초반 예제예요 '불 만들기 예제' 의 URP 버전을 실습해 보기로 하죠! 일단 아래 두 이미지가 있다고 해 둡시다 .. 이건 책에 나오는 예제인데.. 새로 만들기 귀찮아서 계속 쓰고 있는데... 에.. 책에 있지만.. 이번에는 특별히 그냥 드리겠습니다. 출판사 사장님한테는 비밀 ... 쉿 비밀로 하기로 해요 후후 앞으로도 반응좋으면 슬쩍슬쩍 드릴께요 하긴 저게 몇 년째 쓰.. 2021. 9. 27.
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #10 - UV제어 UV라... 여기서는 이론 설명이 조금 들어가게 되는데, 역시나 이론 설명 자세한건 책을 참고하시고요 (꾸준글) 책을 보신 분들은 UV 가 사실 이거라는거 다 알고 계시죠? 거럼요 을매나 좋은 책인데 당연히 알겠지 ( ...) 아참참, R,G,B 랑 X,Y,Z 는 사실 같은거다라는거 말씀드렸죠? 여기에 하나 더 U,V,W 도 같은 말이랍니다. 보통 UV만 쓰지만... 같은건데 어디에 쓰냐 따라서 이름이 다르고 막 이래 그리고 유니티에서 사용하는 방식은 왼쪽 아래가 float2(0,0) 오른쪽 위가 float2(1,1) 이라고도 책에서 얘기했었죠. 즉 아래같은 상황일때 버텍스에는 사실 이런 숫자가 들어가 있는 것이란 말이다... 뭐 그런 거였습니다. 책에 있어요 책에. 비엘북스 출판사 사장님 보고 계십니까.. 2021. 9. 11.
(HLSL)아티스트를 위한 URP 셰이더 Shader #9 - LERP 함수의 등장 lerp 함수는 개인적으로 가장 많이 쓰는 함수 중 하나라고 생각합니다. 또한 유용하고 쉬운만큼, 처음에 셰이더 함수를 배우기 좋은 함수라고 생각합니다. 증거 있냐고요? 네 없습니다. 그럼 20000 lerp (리니어 인터폴레이션: Linear Interpolation) 함수는 이런 구조로 되어 있습니다. lerp(A, B, T); 여기서 A 와 B의 단위는 같아야 합니다. 그리고 T의 단위는 float이어야 하고요. T 가 0~ 1 값의 범위를 가지고 있으면 A ~ B 의 값을 출력하지요. Linear Interpolation , 리니어 인터폴레이션 일단 시작코드는 여기서 시작합시다. 텍스쳐 하나가 있는 코드예요. 흠 이정도면 이제 모든 셰이더를 만들때 시작형으로 둬도 무리 없을 코드네요 Shader .. 2021. 9. 10.
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #9 - LERP 함수의 등장 이제 텍스쳐까지 다루게 되었다고 생각하니까.. 텍스쳐를 가지고 뭘 할 수 있을지 생각해 봅시다. 뭐 간단하게 더하고 곱하고 빼고 지지고 볶고 하는건 그런대로 할 수 있으니까요 그렇게 이미지를 연산하는 것에서 한 단계 발전하면, 이번에는 두 장을 전환하는 단계를 바라보게 됩니다. 뭐 그것도 공식은 있습니다만.. 요즘 세상에 누가 공식 외워요 함수쓰면 되지 (위험한 발언) ㅋㅋㅋ 자 그럼 오늘 해볼 함수 , 두 장 텍스쳐 전환용 lerp 함수입니다. 너무 많이 써서 질려버릴 정도로 많이 쓰는 함수지요!! 전 질려서 안씀 Linear Interpolation , 리니어 인터폴레이션 일단 텍스쳐를 두 개 만듭니다. 프로퍼티에도 두 개 받고요. 텍스쳐는 이렇게 두 개를 따로 적용시켜 놓았습니다. 그럼 뭐 첫 번째.. 2021. 9. 5.
(HLSL)아티스트를 위한 URP 셰이더 Shader #8 - 텍스쳐 출력 / 조작하기 자 그럼 각설하고, 이번에는 HLSL로도 텍스쳐를 출력해 보겠습니다. 시작은 역시! 6편에 있던 그거죠 없으신 분은 6편에서 받아오시면 돼요. 다운로드 다 걸어 놨으니까... 이걸 적용하면, 붉은 오브젝트가 나와야 정상입니다. 뭐야 귀찮다고요? 허허 나만큼 게으른 사람들이었잖아? 할 수 없군 이번만이예요. Shader "Example/URPUnlitShaderBasic" { Properties { } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unit.. 2021. 9. 3.
(셰이더그래프)아티스트를 위한 URP 셰이더 Shader #8 - 텍스쳐 출력 / 조작하기 이번엔 텍스쳐 출력을 해보겠습니다. 크으 드디어 텍스쳐 출력이다. 개그치지 않고 바로 들어갈께요 텍스쳐 출력하기 셰이더그래프에서 텍스쳐 출력은 뭐.. 간단합니다. 원하는 텍스쳐를 잡고! 뙇 드래그하면 돼요!!! 개간단하네!!! 아 물론 이런다고 출력되진 않아요 쏘리쏘리 요것까지 이어줘야 출력되지요 뿅 잘되네요. 아니... 그런데... 이렇게 하니까 텍스쳐를 바꿔 줄 수가 없잖아?!??! 프로퍼티가 잠겨 있어서 수정을 할 수가 없네요???\ 심지어 프로퍼티로 컨버팅도 안돼?!??!?! 내가 뭘 할 수가 없네요??? 네네 그렇습니다. 이렇게 하는거 아님. 저렇게 하는건 에.. 뭐.. 언제쓰지.. 살다보면 쓸일이 있겠죠... 하여간 보통은 제대로 하려면 이렇게 해야 합니다. 텍스쳐가 출력될려면 텍스쳐 오브젝트.. 2021. 8. 31.
(HLSL)아티스트를 위한 URP 셰이더 Shader #7 - 출력 실습 이제 그러면 노드에서 했던 것과 같이, float 수치를 입력받아서 색을 출력하는걸 해 보도록 하겠습니다. 재미있는거니 빨리빨리 시작하고 싶군요 하악하악. 아참, 이번엔 노드랑 완전히 똑같은 내용으로 해보는걸 시도해 보려고 해요. 원래 그게 목표이기도 했고. 그래서 같은 식으로 해보려고 하는데 어떨지 모르겠네. 뭐 어떻게 될지는 해보면 알겠지요. 어떻게든 되겠지이이ㅣ이ㅣㅇ이ㅣ이잉 Float 입력을 조합하여 색상 만들어 보기 이전에 스위즐링 시간에 익힌 바에 의하면, float 3개를 보여서 합치면 float3로 만들 수 있다는 것을 알 수 있었습니다. 이를 응용해서 , R G B 를각각 0~ 1로 입력해서 색을 만드는 기능을 만들어 보지요 시작 코드는, 저번 시간의 시작 코드와 같습니다. 다운로드가 필요.. 2021. 8. 29.
반응형