Version: 2020.3
API 업데이터 사용
Unity 2019 LTS로 업그레이드

Unity 2020 LTS로 업그레이드

참고: 이 섹션의 지침을 릴리스 순서대로 따르십시오. 예를 들어 프로젝트를 2018에서 2020으로 업그레이드해야 하는 경우 2019 업그레이드 가이드를 읽고 변경해야 할 사항이 있는지 확인한 후 2020 업그레이드 가이드를 읽으십시오.

이 페이지에는 2019에서 2020 LTS 버전으로 업그레이드할 경우 기존 프로젝트에 영향을 미칠 수 있는 Unity 2020 LTS 버전의 변경 사항이 나와 있습니다.

2020LTS2020.3로도 알려져 있습니다.

페이지 개요


모든 메시 버텍스가 향상된 UV 언래핑을 위해 변환됨

Unity는 프로젝트에 임포트하는 3D 오브젝트의 메시 UV를 변경할 수 있습니다.

Unity transforms the positions of all imported Mesh vertices to scale in Unity units automatically.

Unity 2020.1부터 Unity는 Generate Lightmap UVs가 활성화된 경우 변환된 메시 버텍스를 사용하여 라이트맵 UV를 생성합니다. Unity 2020.1 이전 버전에서 Unity는 자동 포지션 변환 전에 원래 임포트된 메시 버텍스 포지션을 사용하여 라이트맵 UV를 생성했습니다.

버텍스 변환 후에 생성된 UV는 임포트된 오브젝트의 원본 모양 및 스케일을 더 정확하게 반영합니다.

Back to top

모든 에셋 번들 해시가 다르므로 모든 번들이 빌드됨

Unity 2020.1부터 Unity는 프로젝트의 모든 에셋 번들에 대해 다른 해시를 생성합니다. 이렇게 하면 콘텐츠는 같지만 로드 가능 경로가 다른 번들을 포함하여 모든 번들이 빌드됩니다.

Back to top

프로젝트 업그레이드 시 멀티플레이어 HLAPI 패키지가 자동으로 설치되지 않음

Unity 2020.1부터는 업그레이드하려는 프로젝트에 멀티플레이어 HLAPI를 사용하는 스크립트가 있는 경우 패키지 관리자에서 멀티플레이어 HLAPI 패키지를 설치합니다.

Unity 2019.1부터 2019.4까지 Unity는 Unity 2018.4 이하 버전에서 생성된 프로젝트를 업그레이드할 때 멀티플레이어 HLAPI 패키지를 자동으로 설치했습니다.

Back to top

프로그레시브 라이트매퍼를 통해 LOD 베이크 향상

Unity의 프로그레시브 라이트매퍼는 CPU 및 GPU 라이트매퍼로 구성됩니다.

Unity 2020.1부터 GPU 라이트매퍼는 디테일 수준(LOD) 베이크를 지원합니다.

CPU 라이트매퍼는 동일한 베이크 알고리즘을 사용하므로 Unity는 LOD 값이 0보다 큰 씬에서 베이크 시간을 단축하기 위해 이용 가능한 모든 CPU 코어를 사용할 수 있습니다.

씬에서 LOD를 업그레이드하려면 베이크된 라이트 맵을 지우고 다시 생성해야 합니다. 이렇게 하려면 다음 단계를 따르십시오.

  1. Unity 에디터에서 Window > Rendering > Lighting Settings를 엽니다.
  2. Debug Settings에서 Generate Lighting 버튼의 드롭다운 메뉴를 클릭한 후 Clear Baked Data를 클릭합니다.
  3. Generate Lighting을 클릭합니다.

맨 위로 이동

어댑티브 퍼포먼스의 중대한 변경 사항

어댑티브 퍼포먼스를 1.0에서 2.0으로 업데이트하려면 어댑티브 퍼포먼스 업그레이드 가이드를 참조하십시오.

Back to top

Xcode 프로젝트 생성

MacOS Standalone Xcode 프로젝트 빌드 경로 선택이 변경되었습니다. 이제 원하는 디렉토리의 경로를 제공해야 하며, .xcodeproj 및 관련 파일이 타겟 디렉토리 내에 생성됩니다. MacOS 빌드 폴더는 프로젝트 디렉토리 내에 존재할 수 없습니다. Xcode 프로젝트 구조에 대한 매뉴얼 페이지를 참조하십시오.

Back to top

Particle System Force Field changes

To ensure consistent behavior of the Force Field properties, Unity now uses a reference frame rate of 30fps as the basis for simulation. If your app uses a different frame rate, this change might affect the following Force Field properties:

  • Gravity
  • Rotation
  • Vector Fields

If these settings behave differently to earlier Unity versions, adjust their values.

Back to top

Changes to UGUI Graphic Class

UnityEngine.UI.Graphic no longer includes the RequireComponent attribute for the CanvasRenderer component. To update your user-written classes that inherit from Graphic and render in the UGUI canvas, add the following RequireComponent attribute:

using UnityEngine;

[RequireComponent(typeof (CanvasRenderer))]
public class exampleClass: Graphic
{
  ...
}

Back to top

Set up Code Optimization in order to continue using Code Coverage

The introduction of Code Optimization changes how the Code Coverage package works. To continue using the Code Coverage package with your project in 2020LTS, set up Code Optimization to compile scripts in Debug mode. Debug mode enables C# debugging and it is required in order to obtain accurate code coverage results.
To ensure Code Optimization is set to Debug mode, you can do one of the following:

  • Switch to Debug mode in the Editor (bottom right corner, select the Bug icon > Switch to debug mode).
  • Using the CompilationPipeline API, set CompilationPipeline.codeOptimization = CodeOptimization.Debug.
  • Pass -debugCodeOptimization to the command line.

Back to top

AR/VR 플랫폼 지원

이 문서에서는 Unity 2020 릴리스 이전의 Unity 버전을 사용하는 기존 AR/VR 프로젝트를 업그레이드하기 위한 가이드를 제공합니다.

프로젝트 설정에서 AR/VR 활성화

기존 프로젝트를 Unity 2020 릴리스 이상으로 업그레이드하는 경우 지원이 중단된 XR 통합(이전에 플레이어/XR 설정에 위치함)이 비활성화되었다는 알림을 수신해야 합니다.

에셋 임포트 중, Unity 에디터 실행 전
에셋 임포트 중, Unity 에디터 실행 전

AR/VR을 활성화하려면 프로젝트 설정에서 XR 플러그인 관리를 사용하여 타겟 플랫폼을 선택하십시오.

참고: XR 플러그인 관리를 설치하기 전에 업그레이드 관련 스크립트 오류를 수정하는 것이 좋습니다.
참고: XR 플러그인 관리를 설치하기 전에 업그레이드 관련 스크립트 오류를 수정하는 것이 좋습니다.

가상 현실

플랫폼 빌드 타겟 플러그인 공급자
Oculus Quest Android Oculus
Oculus Rift & Rift S 데스크톱 Oculus
Windows Mixed Reality VR UWP Windows Mixed Reality

증강 현실

플랫폼 빌드 타겟 플러그인 공급자
ARCore 기기 Android ARCore
ARKit 기기 iOS ARKit
HoloLens UWP Windows Mixed Reality
Magic Leap One Lumin Magic Leap

최적의 플레이어 설정 사용

프로젝트의 렌더링 및 품질 설정이 최적인지 확인하십시오. 아래 표에는 타겟 플랫폼별 권장 설정이 자세히 나와 있습니다.

가상 현실

플랫폼 그래픽스 API 스테레오 렌더링 모드
Oculus Quest OpenGL ES 3.0 멀티뷰
Oculus Rift & Rift S DX11 싱글 패스 인스턴스화
Windows Mixed Reality VR DX11 싱글 패스 인스턴스화

증강 현실

플랫폼 그래픽스 API 스테레오 렌더링 모드
ARCore 기기 OpenGL ES 3.0 해당 없음
ARKit 기기 Metal 해당 없음
HoloLens DX11 싱글 패스 인스턴스화
Magic Leap One OpenGL ES 3.2 싱글 패스 인스턴스화

참고: “싱글 패스 인스턴스화”가 성능이 더 뛰어나므로 “싱글 패스”는 더 이상 렌더링 모드 옵션이 아닙니다. “싱글 패스”에서 “싱글 패스 인스턴스화”로 업그레이드하려면 프로젝트에서 커스텀 셰이더를 업데이트해야 합니다.

렌더 파이프라인

빌트인 렌더 파이프라인, 유니버설 렌더 파이프라인, 고해상도 렌더 파이프라인 모두 2020.1에서 지원됩니다. 최신 스크립터블 렌더 파이프라인을 사용하면 여러 이점을 누릴 수 있지만, 이 업그레이드 프로세스의 요구 사항은 아닙니다.

참고: 타사 에셋 또는 커스텀 셰이더를 사용하는 경우 “싱글 패스 인스턴스화”와 호환되는 셰이더로 에셋을 업데이트해야 할 수 있습니다.

씬의 카메라

XR 인터랙션 툴킷을 사용하는 경우 카메라 추적을 위해 변경할 사항이 없습니다.

카메라 추적을 위해 타사 툴킷(OVRCameraRig 등)을 사용하는 경우 최신 버전으로 업데이트했는지 확인하십시오. 최신 버전의 타사 툴로 업그레이드하면 스크립트 오류가 발생할 수 있습니다. 이 경우 타사 설명서를 참조하시기 바랍니다.

카메라 추적을 위해 추적 포즈 드라이버를 사용하는 경우 마이그레이션 가이드를 참조하십시오.

타사 툴킷 업그레이드

Unity가 지원하는 플랫폼(Oculus 통합 패키지, MRTK, MLTK)에서 개발한 툴킷을 사용 중인 경우 최신 버전을 사용하고 있는지 확인하십시오. 최신 버전의 타사 툴로 업그레이드하면 업그레이드 관련 스크립트 오류가 발생할 수 있습니다. 이 경우 해당 툴킷의 설명서를 참조하시기 바랍니다.

FAQ

프로젝트 설정에서 XR 플러그인 관리를 설치할 수 없는 이유는 무엇인가요?

XR 플러그인 관리를 설치하기 전에 수정해야 할 업그레이드 관련 스크립트 오류가 있을 수 있습니다.

OpenVR 및 Google Cardboard가 XR 플러그인 관리에서 누락된 이유는 무엇인가요?

OpenVR 및 Google Cardboard XR 플러그인은 Valve와 Google에서 각각 개발하고 유지 관리합니다. 두 플랫폼의 설치 지침 링크는 Unity의 문서에서 찾을 수 있습니다.

Unity 입력 시스템이 지원되나요?

예, Unity에서 지원되는 플랫폼 통합은 Unity 입력 시스템과 호환됩니다.

유니버설 렌더 파이프라인과 고해상도 렌더 파이프라인이 지원되나요?

예, Unity에서 지원되는 플랫폼 통합은 유니버설 렌더 파이프라인과 고해상도 렌더 파이프라인 모두와 호환됩니다.

패키지 관리자에서 XR 인터랙션 툴킷을 볼 수 없는 이유는 무엇인가요?

XR 인터랙션 툴킷은 여전히 프리뷰 단계입니다. 2020.1에서 프리뷰 패키지를 보려면 프로젝트 설정의 Package Manager 탭을 사용하여 활성화해야 합니다. 활성화하면 패키지 관리자의 Unity 레지스트리에 프리뷰 패키지가 표시됩니다.

제 공급자에서 에디터가 작동하지 않는 이유는 무엇인가요?

에디터에서 플레이 지원은 해당 공급자에 대한 스탠드얼론 지원이 있는 공급자에 대해서만 작동합니다. 공급자가 XR 플러그인 관리 공급자 선택 UI의 스탠드얼론 섹션에 나와 있지 않으면 에디터에서 플레이가 작동하지 않습니다. 에디터에서 플레이 지원을 통합하기 위한 다른 수단을 제공할 수도 있으므로 공급자 설명서를 확인하십시오.

“싱글 패스” 렌더링 모드를 사용할 수 없는 이유는 무엇인가요?

“싱글 패스 인스턴스화”가 성능이 더 뛰어나므로 “싱글 패스”는 2020.1에서 더 이상 지원되지 않습니다. 프로젝트가 “싱글 패스”를 사용했다면 프로젝트의 셰이더를 업데이트해야 할 수 있습니다. “싱글 패스”에 커스텀 셰이더를 사용하는 타사 라이브러리도 업데이트해야 할 수 있습니다. 셰이더가 작동하도록 “싱글 패스”에서 “멀티 패스”로 업그레이드할 수 있지만, 최대 성능을 위해 “싱글 패스 인스턴스화”를 대상으로 지정하는 것이 좋습니다.

그래픽스 API를 설정하는 방법은 무엇인가요?

그래픽스 API는 플레이어 설정(“Edit” → “Project Settings” → “Player”)에서 지정합니다.

스테레오 렌더링 모드를 설정하는 방법은 무엇인가요?

렌더링 모드는 프로젝트 설정의 XR 플러그인 관리에 있는 공급자별 설정에서 지정합니다.

XR 설정 API를 사용하는 renderScale에서 오류가 발생하는 이유는 무엇인가요?

renderScale은 제거되고 eyeTextureResolutionScale로 대체되었지만, 이는 2019.3 이후 스크립트 업데이터 작업이었습니다. 2019.3 이전의 Unity 버전에서 업그레이드하는 경우에는 renderScale을 eyeTextureResolutionScale로 수동으로 대체해야 합니다.

제 컨트롤러의 입력(예: 버튼 누름)이 XR 인터랙션 툴킷에서 인식되지 않는 이유는 무엇인가요?

기기 입력을 감지하려면 먼저 헤드셋을 감지해야 합니다. 일반적인 테스트 문제 중 하나는 많은 사람들이 상호작용을 디버깅하는 동안 헤드셋을 테이블 위에 올려둔다는 것입니다. 컨트롤러는 헤드셋을 착용하거나 헤드셋 내부의 근접 센서가 활성화될 때까지 인식되지 않습니다. 기기에서 입력을 받지 못하는 경우 앱을 시작한 후 헤드셋을 착용하거나 근접 센서를 가리십시오.

AR 파운데이션 앱에서 iPhone의 광각 카메라를 사용할 수 있나요?

ARKit은 카메라의 FOV를 변경하는 옵션을 제공하지 않습니다.

맨 위로 이동

API 업데이터 사용
Unity 2019 LTS로 업그레이드
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961