Version: 2023.1
언어: 한국어
API 업데이터
Unity 2022 LTS로 업그레이드

2023.1로 업그레이드

이 페이지에는 2022 LTS 버전에서 2023.1로 업그레이드할 때 기존 프로젝트에 영향을 줄 수 있는 Unity 2023.1 변경 사항이 나열됩니다.

페이지 개요

렌더 파이프라인

This upgrade guide describes how to upgrade to version 2023.1 of Unity’s built-in render pipeline. To upgrade other render pipelines to version 2023.1, refer to:

다른 패키지를 업그레이드하려면 사용하는 패키지의 문서를 참조하십시오.

LightingSettings의 Gaussian Filter Radius 프로퍼티가 부동 소수점으로 변경됨

프로그레시브 라이트매퍼의 경우 Advanced 필터링 옵션 중에 Gaussian 옵션이 있습니다(Lighting Window > Lightmapping Settings > Filtering > Direct Filter > Gaussian). Gaussian 필터링에 대한 Radius 컨트롤은 이제 0.5와 같은 소수 증분을 지원합니다. 이전에는 이 컨트롤이 정수 단계(1–5)만 지원했습니다.

이러한 변경의 결과로 다음 프로퍼티는 C# API에서 지원이 중단되었습니다.

  • int LightingSettings.filteringGaussRadiusAO
  • int LightingSettings.filteringGaussRadiusDirect
  • int LightingSettings.filteringGaussRadiusIndirect

지원이 중단된 프로퍼티에 대한 부동 소수점 대체 항목은 다음과 같습니다.

  • float LightingSettings.filteringGaussianRadiusAO
  • float LightingSettings.filteringGaussianRadiusDirect
  • float LightingSettings.filteringGaussianRadiusIndirect

지원이 중단된 멤버 함수 중 하나를 호출하여 가우시안 필터 반경을 가장 가까운 정수로 반올림할 수 있습니다.

라이트 프로브 에너지 보존에 대한 개선 사항

라이트 프로브는 이제 라이트맵만큼 밝습니다. 이전에 Unity의 라이트 프로브 밝기는 이상적인 밝기의 94%에 불과했습니다. 따라서 라이트 프로브로 빛을 받는 오브젝트는 라이트맵으로 빛을 받는 오브젝트보다 약간 더 어둡게 보였습니다. 이 변화는 아주 미묘한 수준이기 때문에 많은 사용자가 눈에 띄는 차이를 느끼지 못할 수 있습니다.

이전 밝기를 선호하는 경우 다음과 같은 방법으로 변경할 수 있습니다.

  1. 라이트 프로브를 베이크합니다.
  2. C#을 사용하여 배열 LightmapSettings.lightProbes.bakedProbes의 사본을 생성합니다.
  3. 각 SphericalHarmonicsL2 인스턴스에 대해 계수 0에 16/17을 곱합니다.
  4. 배열 사본을 다시 LightmapSettings.lightProbes.bakedProbes에 작성합니다.

인라이튼 베이크된 전역 조명 지원 중단

인라이튼 베이크된 전역 조명 라이트매핑 백엔드를 더 이상 사용할 수 없습니다.

프로젝트를 이 버전으로 업그레이드하면 Unity는 라이트매퍼 선택 드롭다운에서 인라이튼 베이킹 백엔드를 제거하고 인라이튼 베이킹 백엔드를 선택한 모든 씬에서 프로그레시브 라이트매퍼로 대체합니다.

Apple Silicon 기기에서 Unity는 프로그레시브 GPU 라이트매퍼를 인라이튼 베이킹 백엔드로 대체합니다.기타 모든 기기에서 Unity는 CPU 프로그레시브 라이트매퍼를 선택합니다.

인라이튼 사전에 계산된 실시간 전역 조명은 여전히 사용할 수 있으며 Unity 2024 LTS까지 지원됩니다.

Android: Java 클래스 UnityPlayer의 이름을 UnityPlayerForActivityOrService로 변경해야 함

UnityPlayer Java 클래스가 두 개의 새로운 브리지 클래스인 UnityPlayerForActivityOrServiceUnityPlayerForGameActivity로 대체되었습니다. 이러한 새 클래스는 모두 UnityPlayer에서 파생되지만, displayChangedwindowFocusChanged와 같은 공용 메서드가 UnityPlayer에서 UnityPlayerForActivityOrService로 옮겨졌습니다.

기본 Unity 활동을 확장하고 UnityPlayer 클래스를 사용하는 경우 컴파일 오류가 발생할 수 있습니다. 이러한 경우 UnityPlayer 이름을 UnityPlayerForActivityOrService로 변경합니다.

Android: UnityPlayer java 클래스가 더 이상 FrameLayout을 확장하지 않음

UnityPlayer Java 클래스가 더 이상 FrameLayout을 확장하지 않습니다. FrameLayout에 액세스해야 하는 경우 UnityPlayer 인스턴스에서 getFrameLayout 함수를 호출합니다.

FetchFirstCompatibleTypeUsingScriptableRenderPipelineExtension이 GetDerivedTypesSupportedOnCurrentPipeline으로 대체됨

RenderPipelineEditorUtility.FetchFirstCompatibleTypeUsingScriptableRenderPipelineExtension이 지원 중단되었습니다. 대신 GetDerivedTypesSupportedOnCurrentPipeline을 사용하십시오. 메서드의 서명도 달라져, 이제 처음 발생하는 타입뿐만 아니라 파생된 모든 타입을 반환합니다. 이렇게 하면 Unity가 타입 순서를 보장하지 않기 때문에 비일관성을 방지할 수 있습니다.

CustomEditorForRenderPipelineAttribute 및 VolumeComponentMenuForRenderPipelineAttribute 지원 중단 예정

CustomEditorForRenderPipelineAttribute 및 VolumeComponentMenuForRenderPipelineAttribute의 지원이 중단됩니다. 대신 CustomEditorVolumeComponentMenu를 사용하십시오. 이러한 속성이 활성 상태일 때 파이프라인 선택을 제한하려면 SupportedOnRenderPipelineAttribute와 결합하고 RenderPipelineAsset 타입을 지정합니다. 빌트인 렌더 파이프라인과 함께 작동하는 SRP 속성을 활성화하려는 경우 파라미터 없이 SupportedOnRenderPipelineAttribute를 사용합니다. 이렇게 하면 특정 파이프라인에서 두 속성을 활성화해야 할 때 두 속성에 대해 통합된 워크플로를 사용할 수 있습니다.

Android Gradle 템플릿 사용 변경

Android Gradle 프로젝트를 수정할 수 있는 새로운 API가 도입되었습니다. 이 API를 사용하면 기존의 Android Gradle 템플릿 워크플로를 대체할 수 있습니다. 새로운 API를 사용하지 않는 경우 템플릿이 이전과 동일하게 작동합니다.

새로운 API를 사용하려면 Templates Upgrader를 다음과 같이 사용합니다.

  1. Android Player Settings를 엽니다.
  2. Publishing Settings > Build로 이동합니다.
  3. Upgrade templates to C#을 선택합니다.
API 업데이터
Unity 2022 LTS로 업그레이드