1 분 소요

📜2D URP


URP(Universal Render Pipeline)는 유니티에서 제작한 사전 빌드된 스크립터블 렌더 파이프라인 이다. 기존 프로젝트는 Built-in Render Pipeline으로 진행하고 있었다. 하지만 다음에 설명하는 많은 이유들로 기존 RP가 아닌 URP로 프로젝트를 재시작하기로 했다.


Render Pipeline이란?


  • 오브젝트들을 화면에 렌더링하는 일련의 과정들을 말한다.

  • 줄여서 RP라고 함.

  • 유니티의 기본 RP를 Built-in RP(Legacy)라고 함.


왜 URP를 쓰는가?


RP의 한계

  • Built-in Render Pipeline의 한계

    • 렌더 파이프라인 영역을 입맛대로 수정이 불가.
      • 커맨드 버퍼와 콜백으로 제한적, 간접적으로는 수정 가능.
    • 각 분야에 맞게 최적화가 불가능한 문제 발생.
  • URP의 장점

    • 특정 상황에서 비약적인 성능향상 가능. (ex, 다수의 실시간 광원)
    • 셰이더 그래프 기능 추가.
    • 지속적인 업데이트. (Built-in은 지원 끝)
    • 최신기능 탑재
    • 유니티 공식 튜토리얼이 많음.


렌더링 파이프라인 관련한 내용은 추후에 따로 게시글을 올릴 예정.


📜InputSystem


InputSystem 또한 기존의 InputManager를 보완해 나온 유니티의 최신(?) 인풋 시스템이다.


InputManager의 한계


InputManager는 테이블 방식의 작업을 해야했다. 따라서 새로운 컨트롤러가 나올 때마다 각각의 키를 입력해서 어떤 키는 어떤값으로 매핑이 되는지 체크를 해야했다. 또한 Update()에서 계속해서 플레이어의 키를 체크했어야 했고 이 과정에서 if-then과 같은 조건문이 복잡하게 꼬이는 일이 생겼다.


InputSystem


InputManager의 단점을 보완해서 나온 것이 새로운 InputSystem이다. InputSystem에서는 특정 액션에 따라 키를 매핑하고 그 액션에 대한 다양한 컨트롤러 입력키를 매핑시킬 수 있다. 그리고 입력에 따른 이벤트 함수를 호출한다. 그래서 복잡했던 로직을 좀 더 간결하게 나타낼 수 있게 되었다.


InputSystem에 대해서도 추후에 따로 게시글을 올릴 예정이다.


📜프로젝트 초기 설정


기존 레포지토리는 임시로 남겨두고 새로운 마음으로 시작하고자 새롭게 프로젝트를 만들었다. 프로젝트를 생성하고 기존의 추출했었던 스프라이트들을 가져왔다.

프로젝트 초기 설정 1

2D URP에서는 Global Light로 간단히 빛의 세기를 조절할 수 있었다.

프로젝트 초기 설정 2


📜참고자료


댓글남기기