일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 벡터
- Virtual Byte
- URP로 변경
- Specular
- 게임 수학
- Cell Look
- 메모리 누수
- Three(Two) Tone Shading
- 3d
- AppSW
- Toon Shader
- 가상 바이트
- Rim Light
- ASW(Application SpaceWarp)
- Windows Build
- OculusMotionVectorPass
- Private Bytes
- 프로그래밍 기초
- Cell Shader
- VR
- URP
- working set
- 작업 집합
- Cartoon Rendering
- C언어
- ColorGradingLutPass
- 개인 바이트
- Today
- Total
목록Unity (90)
WinCNT
서론 이번에는 Toon Shading의 Specular 요소에 대해서 정리해보려고 한다 실제 구현에 대해서 정리하기 전에, Three Tone Shading과 마찬가지로 우선 Toon Shading에서의 Specular에 대해 정리하고자 한다 Toon Shading에서의 Specular에 대해서 Toon Shading에 있어서 Specular은 세세한 컨트롤이 필요하다 이해하기 쉽게 UTS의 이미지를 가져와 봤다 위는 캐릭터의 얼굴에 불필요한 스펙큘러를 마스크로 없애고 있는 이미지이다 이쪽은 스펙큘러 마스크를 이용해서 금속 부분의 스펙큘러를 남기고 다른 부분은 억제하고 있는 이미지이다 망토 부분을 보면 특히 그 효과가 잘 느껴진다 그렇다고 Toon Shading에서는 스펙큘러를 무조건 억제해야 하냐하면 ..
저번 글에 이어서 Power와 Feather로 컨트롤하는 Three Tone Shading의 구현에 대해서 정리하고자 한다 Power와 Feather로 컨트롤하는 Three Tone Shading의 구현 특별한 것 마냥 따로 빼긴 했지만 개념 자체는 다른 방법과 똑같다 즉, 왼쪽(Diffuse)의 값을 오른쪽으로 바꾸는 것! 다만 일반적인 Lambert가 아니라 Half Lambert를 사용하며, Power와 Feather란 프로퍼티로 음영의 경계선을 컨트롤한다는 점이 다를 뿐 일단 하나씩 살펴보자 Half Lambert Half Lambert에 대해서는 다른 좋은 글이 너무 많으므로 자세한 설명은 생략한다 (참고 사이트를 참고해주세요) 위키피디아에 따르면 Half Lambert는 서브서피스 스캐터링(S..
이번에는 카툰 렌더링의 필수 요소라고 할 수 있는 Three Tone Shading(혹은 Two Tone Shading)에 대해서 정리해보고자 한다 Three(Two) Tone Shading에 대해서 Three(Two) Tone Shading이란 위의 그림에서 보이듯이 음영을 2~3단계로 나누는 것을 뜻한다 (개인적으로 2D 셀 애니메이션 풍을 쉐이딩에서 가장 필수적인 요소라고 생각함) 레거시 라이팅 모델과 비교하자면 Diffuse에 해당하지만, 음영이 단계적으로 나뉜다는 게 차이점이다 음영을 몇 단계로 나눌지는 정하기 나름이지만 여기서는 3단계를 기준으로 하고자 한다 Three(Two) Tone Shading의 개념 사실 Three(Two) Tone Shading을 구현하기 위한 개념은 단순하다 왼쪽(..
서론 회사에서 내려온 첫번째 과제는 URP로 툰 쉐이더를 만들어 보라는 것이었다! 그런데 필자는 URP는 커녕 유니티로 쉐이더를 만들어 본 적도 없었고 툰 쉐이더도 우마무스메를 리버스 엔지니어링(을 한 어떤 사람의 블로그를 대부분 참조)하면서 만든 거라 툰 쉐이더에 대해서 사실 깊은 이해가 없는 상태…… URP는 개인적으로 사온 교재로 어떻게든 쓸 수 있게는 되었지만, 툰 쉐이더는 딱히 교재가 없었기 때문에 유니티짱 툰 쉐이더(UnityChanToonShader, UTS)를 참고 삼아 만들어 봤다 그 때 알게 된 내용을 정리해 가려고 한다 따라서 사실 URP와 직접적인 상관은 크게 없습니다… 카툰 렌더링에 대해서 간략히 카툰 렌더링이란 3D 그래픽을 이용하여 만화와 같은 느낌을 주는 화면을 만드는 것. ..
URP의 디폴트 ShadowCaster와 SRP Batcher 발생한 이슈 UsePass로 Universal Render Pipeline에서 제공하는 Shadow Cater를 사용하려고 하니 SRP Batcher가 not compatible이 되었다 UsePass "Universal Render Pipeline/Lit/ShadowCaster" 이슈 상세 처음 확인한 것은 툰 렌더러용 쉐이더를 쓰고 있을 때였다 그림자도 있으면 좋겠네~라는 가벼운 마음으로 Use Pass를 써서 ShadowCaster를 추가하니 SRP Batcher가 무효가 되었다 그 때 발생한 알림은 다음과 같다 UnityPerMaterial CBuffer inconsistent size inside a SubShader(ShadowCa..
발생한 이슈 URP에서 텍스처를 추가하려고 하던 중에 다음과 같은 에러가 발생했다 이슈 상세 정확히는 shader파일에서 에러가 발생하고 있었다 작성한 쉐이더 코드는 다음과 같다 Shader "Text/Example" { Properties { _BaseMap ("BaseMap", 2D) = "white" {} _BaseColor ("BaseColor", Color) = (1,1,1,1) } SubShader { // SubShader Tags define when and under which conditions a SubShader block or a pass is executed. Tags { "RenderPipeline" = "UniversalPipeline" "RenderType"="Opaque"..
URP 쉐이더 파일 작성 URP에 대해서 공부하면서 알게 된 것을 정리하는 페이지입니다 갑자기 과제(의 기한)가 정해져서 기초적인 Toon Shader를 URP로 작성하게 되었다 (개인적으로는 책 한 권 읽어야 잘 성장하는 타입이긴 한데 그건 그거) 그래서 URP의 쉐이더 파일을 작성해볼까~라고 가볍게 Create를 살펴보고 있었는데 ……없네? 레거시 렌더 파이프라인에 호환되는 쉐이더밖에 만들 수 없다 레거시로 만들게 되면 CGPROGRAM 와 같은, 유니티에서 현재 사용하지 않는 쉐이더 언어인 CG 관련 키워드가 나오게 된다(호환성을 위해 남아있음) Shader "Unlit/NewUnlitShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } S..
URP에 대해서 공부하면서 알게 된 것을 정리하는 페이지입니다 저번 글에서는 URP가 어떠한 것인지 정리해보았다… 갈!!!!! 뭐하긴 당연히 URP를 사용해봐야지! 우선 URP에서 공식적으로 지원하게 되었다는 쉐이더 그래프를 사용해보자 쉐이더 그래프 생성 우선 쉐이더 그래프로 URP에 도전해보자 (사실 필자는 쉐이더 그래프도 처음이다) 사실 만드는 것 자체는 어렵지 않다 생성 ⇒ 셰이더 그래프 ⇒ URP에서 원하는 쉐이더 그래프를 선택하면 된다 (유니티의 버전에 따라서 경로가 바뀔 수도 있음) Lit Shader Graph를 선택하면 파일이 하나 만들어지고 그 파일을 열면 아래와 같은 창이 열린다 쉐이더 그래프는 사실 내부적으로는 코드로 변환된다 변환되는 코드는 인스펙터에서 View Generated S..
발생한 이슈 URP로 생성한 프로젝트인 경우 Project Settings의 Quality Settings의 항목에 차이가 있었다 이슈 상세 Unity Performance Tuning Bible이란 책을 읽던 도중, Shadow Distance에 대한 설명이 나왔다 그래서 UPR로 만든 프로젝트에서 해당 설정을 직접 보려고 했지만 Shadow Mask Mode 외의 항목이 존재하지 않는다는 것을 깨달았다 발생 원인 BRP에서 URP로 바뀌면서 품질에 대한 세팅 방식도 바뀌게 된 것 같다 해결법 다행히도 유니티 매뉴얼에 적혀 있었다(당연하다면 당연하지만) URP에서의 품질 제어는 렌더 파이프라인 에셋에 설정된 URP에서 가능하다 렌더 파이프라인의 에셋의 URP를 더블 클릭하면 인스펙터 창에서 제어할 수 ..
※URP에 대해서 공부하면서 알게 된 것을 정리하는 페이지입니다 입사 첫 날 URP에 관한 일을 하게 됐지만 여러 사정으로 인해 가르쳐 줄 사람이 없는 상황에 처하게 됐다…;; 다행히 이럴 상황을 대비해서 입문서를 사오기도 했고, 필요한 자료도 받았으니 이를 토대로 URP에 대해서 공부하면서 알게 된 내용을 정리해보려고 한다. (참고 문헌, 참고 사이트는 밑에 따로 정리함) URP(Universal Render Pipeline)를 위한 사전 지식 URP를 직역하면 범용 렌더 파이프라인이다 그러니 다음에 대한 사전 지식이 있으면 URP를 이해하는데 도움이 될…지도? 렌더 파이프라인(렌더링 파이프라인)에 대한 지식 범용이란 단어가 붙은 배경 렌더 파이프라인(렌더링 파이프라인)에 대해 일단 복습 겸 개념을 다..