모바일에서의 알파 블렌딩과 테스팅 먼저 본 내용에 많은 도움을 주신 유니티 스팟라이트 팀의 고정석 팀장님께 인사박고 시작합니다. 회사에서 썼던 글을 수정해서 외부 공개 가능용으로 만들어 보았습니다. 자아.. 모바일에서의 알파는 죄악으로 치부되고 있습니다. 네 뭐 그렇죠. 알파란 악독한 것 그렇다고 알파를 안쓸 수도 없고… 아니 알파를 안쓰고 게임을 어케 만들죠..? 에.. 알파는 그럼 그래픽에서 어떻게 써야 할까요? 어떻게 쓰는게 효율적일까요? 일단 한 가지 전제를 주자면 ‘그리지 않는게 가장 좋습니다’ 라는 겁니다. 뭐 당연한 소릴 어디서 … 시비거나... 그래서 많은 ‘필요없는걸 그리지 않기 위한’ 여러 기술들이 개발되고 있습니다만, 사실 알고보면 그 ‘그리지 않기 위한 처리’ 도 연산이거든요.. 그래서 사실은 근본적으로는 그래픽 아.. 2021. 8. 1. 아티스트를 위한 URP 셰이더 Shader #5 - URP 셰이더 색상 연산 (코드버전) 이번엔 앞에서 해본걸 코드로 해 봅시다. 여기서 코딩 기본을 설명할 생각은.. 사실 없어요. 그럼 너무 길어짐 만약 굳이 알고 싶다면 ... 이론을 공부하시고 싶으시다면 https://book.naver.com/bookdb/book_detail.nhn?bid=12518820 를 읽고 오는 것을 추천드린다고 했었잖아요? 후후후 유니티 쉐이더 스타트업 『유니티 쉐이더 스타트업』은 프로그래밍으로 완성해야 하는 쉐이더의 구현을 아티스트들의 역량으로도 충분히 발휘할 수 있도록 도움을 주는 책입니다. 저자의 오랜 게임그래픽 실무경험과 book.naver.com 그럼 이제부터는 저 책을 한 번 가볍게 떼신 분을 위해 써 보도록 하겠습니다. URP 셰이더 기본 URP 셰이더는 이전에 말씀드린대로, 레거시의 서피스 셰이.. 2021. 7. 26. (셰이더그래프)아티스트를 위한 URP 셰이더 Shader #5 - 노드 기본 조작 / 연산과 감마2 자 그럼 그 다음 얘기를 또... 칼라 노드의 감마공간 변환 감마에 대해서는 보고 오셨나요? 이게 설명하기가 참 거시기 해서 거시기 하고 거시기 한데다가 코드에서는 잘 모르고 넘어갈 수 있는 개념이라 ( 셰이더에서는, 노드에서는 칼라 노드가 있지만 코드에서는 칼라 변수라는게 따로 없거든요. ) 첨에 이해하기 힘들단 말이죠 그러니 간단히 지난 시간 감마 얘기를 정리해 봅시다. 저번 편의 영상을 보셨다는것을 전제로 하고요. 그리고 또한, 칼라는 숫자와 같다라고 하는 기본 전제를 알고 있다는 데에서 시작해야 해요. 그럼 두 개의 노드를 불러 보겠습니다. 하나는 칼라 노드로 회색, 또 하나는 벡터 3 (float3) 로 0.5, 0.5, 0.5 어떻게 노드를 부르지? 하시는 분은 아래 영상을 따라하시면 됩니다... 2021. 7. 25. (셰이더그래프)아티스트를 위한 URP 셰이더 Shader #5 - 노드 기본 조작 / 연산과 감마 아티스트가 셰이더를 할 때에 제일 중요한 것이 있습니다. 바로 '색을 숫자로 인식하는 것' 왜냐면 어차피 셰이더라고 하는것은 색을 출력하는 것이고, 최종적으로 색을 출력하려면 들어오는 색들을 가지고 '연산' 해서 출력해야 하거든요 그러니 셰이더를 배울 때에는 '색' 을 연산하는 법을 익혀야 합니다. 즉 일단 '색' 을 숫자로 인식해야 뭘 할 수 있다는 말이죠! 수 학 아 그래요 숫자라고 하니까 수학같죠 사실 셰이더의 본질은 수학이라고도 하고. 생각하기도 싫을 거예요. 하지만 직접 해보면 어렵지 않아요. 기초 셰이더는 기껏해야 0~1 정도만 사용하고, 사칙연산 정도면 충분하거든요! 물론 고급 기술이 되면 어려워지지만 그건 알게 뭐야 흠흠.. 자 그럼 셰이더 그래프로 연산을 해 보겠습니다. 셰이더 그래프 준.. 2021. 7. 24. (공통이론)아티스트를 위한 URP 셰이더 Shader #4 - 색과 숫자 우후후 안녕하살법! 이전 시간을 통해 셰이더 그래프와 코드에서 인터페이스 - 프로퍼티스- 를 만드는 방법을 알아보았어얌. 오늘부터 본격적 시작을 할건데, 이론을 먼저 하나 깔고 갈 필요가 있어서 간단히 이론 소개부터 할께염. 이론도 원래는 비트 얘기부터 하고 막 그래야 하지만 .. 길면 지루할테니까 어떻게 하면 쉽고 재미있고 간단하게 얘기할거냐만 고민하고 있는지라 깊은 얘기는 마구 건너뛸 거예염 그래서 어디부터 하냐면... 여기부터 할 거예요. TV 있죠 TV ? 모니터도 좋고. 하여간 뭐든 좋으니 커다란 모니터나 TV를 놓고... 핸드폰 카메라로 좌아악 땡겨서 사진을 찍어보세요 오호라...? 픽셀이 보이는군요? 근데 픽셀이 좀 이상하죠? 픽셀은 포토샵에서 보는 흰색 사각형이고 그런거 아니었어? 자 이게.. 2021. 7. 23. (HLSL)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스2 요 앞에 Float 하나 넣는걸 해봤고, 그걸 Range로 바꾸는 걸 해봤습니다. 대충 풀 코드의 상태는 이런 상태겠지요. 자아, 역시나 오늘도 아래에서 Properties { } 만 신경쓰시면 됩니다. Shader "One/Two/Three/Four/TestShader" { Properties { _TestFloat("테스트 플롯이다뇨", Range(0,1)) = 0 } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelin.. 2021. 7. 22. (HLSL)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스1 후후후 이번에는 코드로 해 봅시다. 프로퍼티가 뭔지는 지난 시간에 말했으니까? 자 일단 코드를 다시 보죠 Shader "One/Two/Three/Four/TestShader" { Properties { } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" struct Attributes { float4 positionOS : POSITION; }; stru.. 2021. 7. 21. 이동후교수님 책 추천사 보호되어 있는 글 입니다. 2021. 7. 20. (셰이더 그래프)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스 2 다른 프로퍼티 만들기 Float 하나 만들었으니까, 다음 진도는 좀 더 빠르게 나갑시다. 이게 프로퍼티가 생각외로 심오하게 되어 있어요. 게다가 아직도 발전해 나가는 느낌입니다. (발전이라고 쓰고 미완성이라고 읽지 말기...!) 제법 깊은 영역까지 다루게 되어 있는데, 그걸 지금 다 배우는건 의미가 없습니다. 그러므로 지금은 초 빠르게 자주 쓰는 것만!!! 이겁니다. 일단 이것만 알면 돼요. Gradient나 Sampler State는 사실 프로퍼티라고 부르기도 그렇고.. Texture2D Array나 Texture3D, Virtual Texture 는 그냥 상쾌하게 바로 쓸 수 있는 것도 아니고... 특별한 프로그램 거쳐야 하고 특별한 상황에서 써야 하는거고 .. Matrix도 프로퍼티라고 부르기 힘들.. 2021. 7. 20. (셰이더그래프)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스 1 이제 프로퍼티스(Properties)입니다. 빈껍데기 인터페이스를 만드는 거예요. 작동은 안하지만 인터페이스 만드는건 재미있잖아요? 일단 이뻐야 재밌으니까 말이죠. 프로퍼티 만들기 그럼 지금부터 프로퍼티들을 만들어 볼 거예요. 사용할 창은 블랙보드랑 그래프 인스펙터. 프로퍼티의 전 기능을 다 설명할 수도 있지만, 그렇게 설명했다가는 초보도 다 도망가고 이 글도 수십페이지가 될거고 언제 쓸지도 모르는 고급 기능까지 설명하게 될테니 일단 많이 쓰는 기능만 설명하는 식으로 할게요. 백과사전으로 나열하는건 차라리 메뉴얼을 보시는게 낫고요, 어차피 전부 다 안써요 (...) 나도 안써본게 많어.. 혹시 저 두 창이 안보이면 셰이더 그래프에서 이걸 눌러 켜주세요 일단 블랙보드에서 + 버튼을 누르면 만들 수 있는 인.. 2021. 7. 16. (HLSL)아티스트를 위한 URP 셰이더 Shader #2 - 셰이더 이름바꾸기 그럼 이번에는 똑같은 걸 코드로 해보죠. 셰이더 이름 바꾸는 거예요. 이전 강의를 안보신 분은 2021.07.04 - [튜터리얼_스터디] - 아티스트를 위한 URP 셰이더 Shader #1 아티스트를 위한 URP 셰이더 Shader #1 셰이더 처음 만들기 (노드버전) 그럼 맨 먼저 시작해 보죠. 이론 같은거야 좋은 책들이 많을테고, 여기 오시 분들은 그래요.. 서론 싫어하는거 다 안다고요... 하긴 저도 유투브에서 5분 설명할거 chulin28ho.tistory.com 여기에 가서 보시면 되고요, 테스트 코드 파일도 다운받을 수 있으니 그걸 쓰시면 돼요 그래봤자 뭐 이름바꾸는거라서... ㅎㅎㅎ 잠깐 정리해 보자면요. 이런 상태예요. NewUnlitShader.shader 파일에 저 코드가 들어 있고, .. 2021. 7. 15. (셰이더 그래프)아티스트를 위한 URP 셰이더 Shader #2 - 셰이더 이름바꾸기 오늘은 프로퍼티쪽을 건드려 보겠습니다. 프로퍼티가 뭐냐면요 .. 별 거 아니예요 인터페이스예요. 프로퍼티 = 인터페이스 왜 그 저 셰이더 만들면 이런거 있잖아요? 이게 프로퍼티예요. 텍스쳐를 넣고 수치를 조절하고 칼라를 넣고 .. 조절할 수 있는 기능들 말이지요. 위에 저건 커스텀 인터페이스로 만든거라 막 생긴것도 거창하고 화려하고 그런데, 처음 시작하는 우리는 저정도까지는 아니고 기본적인 것들로 만들어 보도록 하죠. 미리 말씀드리지만 이건 껍데기라서 동작하진 않습니다. 그리고 프로퍼티들을 만들기 이전에, 셰이더 이름부터 바꿔봅시다. 보통 이런거 대충 슥 하고 넘어가는데... 초보들한테는 이런 부분이 중요해요... 처음부터 막히면 아주 하기 싫거든. 게다가 이름바꾸는건 중요합니다. 셰이더가 많아지면 내가.. 2021. 7. 8. 이전 1 ··· 16 17 18 19 20 21 22 ··· 57 다음 반응형