유니티 URP에서 legacy shader 사용하지않음 권장 1)아래 예에서 프로젝트는 렌더파이프라인으로 URP를 사용하고있다. 2)씬에 legacy shader를 사용하는 오브젝트를 추가하였다. 3)URP 프로젝트에서 일부 legacy shader를 사용하는 오브젝트들은 씬 또는 런타임에서 정상적으로 렌더링된다. 4)하지만 레거시 셰이더는 SRP Batcher와 GPU 인스턴싱(일부 셰이더)을 지원하지않음으로 최적화에 한계가 있어 권장하지않는다. 재질의 select shader를 선택한다. 5)해당 셰이더가 SRP Batcher와 호환되지않음을 확인할수있다(not compatible) SRP Batcher는 씬에서 CPU 렌더링 속도를 높이는 렌더링 루프로 SRP 프로젝트에서 사용가능하다(URP, HD..
유니티 URP에서 오버레이(overlay) 카메라 사용하기 오버레이 카메라(overlay camera)는 다른 카메라의 출력 위에 뷰를 렌더링하는 카메라이다. 오버레이 카메라를 사용하여 2D UI에 존재하는 3D 개체 또는 2D UI 위에 존재하는 3D개체를 렌더링할수있다. 1)씬에 캔버스와 ui를 생성하였다. 2)씬에 새로운 3D 게임오브젝트와 카메라를 생성한다. 3)game view에서 3D 오브젝트 위에 UI가 표시되는것을 확인할수있다. 4)현재 캔버스는 render mode가 screen space - overlay로 설정되어있는것을 확인할수있다. 5)screen space - camera로 변경하고 render camera에 메인 카메라를 설정한다. 6)메인 카메라(main camera)의 re..
유니티 URP 에서 custom render passes를 사용하여 아웃라인 렌더링하기 URP의 custom render passes와 custom shader를 사용하여 캐릭터의 아웃라인을 렌더링하는방법이다. 유니티에서 제공하는 샘플 커스텀 쉐이더(ToonBasicOutline.shader)를 사용하였다. gameobject layer 1)씬에 아웃라인을 렌더링할 캐릭터 및 게임오브젝트를 추가한다. 2)게임 오브젝트의 재질을 설정한다. 예에서 URP의 Lit 쉐이더를 사용하는 재질을 설정하였다. 3)게임 오브젝트의 레이어를 설정한다. 새로운 레이어를 추가하려면 인스펙터에서 layer의 add layer로 이동한다. 4)새로운 레이어를 추가하고 게임오브젝트에 해당 레이어를 설정한다. custom shad..
유니티 URP프로젝트에서 기존의 쉐이더 업그레이드하기 프로젝트에서 URP로 설정한 이후에 재질이 보라색으로 표시되는 경우 쉐이더 전환을 사용하여 문제를 해결할수있다 (사용자가 작성한 쉐이더, custom shader는 전환되지않는다) 1)아래 예에서 URP로 전환한 프로젝트의 재질 및 모델이 보라색으로 표시되는것을 확인할수있다. 이것은 URP에서 빌트인 렌더파이프라인의 쉐이더를 지원하지않기때문이다. 2)기존 프로젝트에서 사용중인 쉐이더를 URP 호환 쉐이더로 전환해야한다. 프로젝트의 모든 재질 또는 선택한 재질을 URP 호환 쉐이더 및 재질로 업그레이드할수있다. 상단의 edit 메뉴에서 render pipeline> URP>upgrade project materials to URP materials 또는..
유니티 프로젝트에서 빌트인 렌더파이프라인을 URP로 업그레이드하기 (built-in render pipeline to universal render pipeline) URP는 자체 통합 후처리 솔루션을 제공한다. 만약 프로젝트가 post processing v2를 사용하고있다면 해당 패키지를 삭제해야한다. 1)일반적으로 유니티에서 새로운 프로젝트를 생성할 경우 템플릿에서 URP를 선택할수있다. 2)만약 기본 3D 템플릿으로 생성한 프로젝트가 존재한다면 해당 프로젝트에 URP를 설치 및 설정할수있다. 3)일반적으로 3D 템플릿으로 생성한 유니티 프로젝트는 기본 빌트인 렌더파이프라인을 사용한다. 프로젝트가 현재 사용중인 렌더파이프라인은 project settings의 graphics에서 확인할수있다. 현재 ..
유니티의 렌더링 파이프라인(built-in, SRP, URP, HDRP) Render Pipelines 렌더 파이프라인은 씬의 내용들을 취하여 컬링(culling), 렌더링(rendering), 포스트프로세싱(post-processing)등의 작업을 수행하고 그것을 스크린에 표시하는 역할을한다. 유니티는 몇가지 서로 다른 렌더 파이프라인을 제공한다(built-in, URP, HDRP) 렌더 파이프라인은 모두 다른 기능과 특성을 가지고있다. 사용자는 개발의 초기 단계에서 프로젝트(게임, 어플리케이션, 플래폼)에 적절한 렌더 파이프라인을 선택하는것이 중요하다(프로젝트 중간에 렌더 파이프라인을 다른것으로 변경하는것을 권장하지않는다) docs.unity3d.com/Manual/render-pipelines.ht..