Folder

  • 폴더를 어떻게 관리할 것인가?

  • 폴더를 어떻게 정리하냐에 진행방향이 결정됩니다.
  • 규모가 클수록 폴더를 세밀하게 정리해야 합니다. 그렇지 않으면 관리가 안됩니다.
폴더구조 예시

RoomComponentPrefabExample

Prefabs/Rooms/RoomComponent/Room…의 폴더구조에서 Rooms의 Prefab은 RoomComponent의 Prefab들을 이용해서 만들어져 있습니다.

Prefab

Prefab

프리팹

Unity의 프리팹 시스템을 이용하면 게임 오브젝트를 생성, 설정 및 저장할 수 있으며, 해당 게임 오브젝트의 모든 컴포넌트, 프로퍼티 값, 자식 게임 오브젝트를 재사용 가능한 에셋으로 만들 수 있습니다. 프리팹 에셋은 씬에 새로운 프리팹 인스턴스를 만들기 위한 템플릿 역할을 합니다.

  • 여러 씬에서 재사용하고 싶은 경우 해당 게임 오브젝트를 프리팹으로 변환해야 합니다. 이렇게 하면 프리팹 시스템을 통해 모든 복사본을 자동으로 동기화할 수 있기 때문에 게임 오브젝트를 단순히 복사해서 붙여넣는 것보다 더 효율적입니다.
  • 프리팹 에셋에 대한 모든 편집 사항은 해당 프리팹의 인스턴스에 자동으로 반영되므로 모든 에셋 복사본에 같은 편집 작업을 반복하지 않고도 전체 프로젝트에서 일괄적으로 변경할 수 있습니다.
  • 처음부터 씬에 존재하지 않던 게임 오브젝트를 런타임 시점에 인스턴스화하려는 경우에도 프리팹을 사용해야 합니다. 예를 들면 파워업, 특수 효과, 발사체, NPC를 적절한 게임플레이 순간에 표시할 수 있습니다.

런타임 시점에 프리팹 인스턴스화

프리팹은 복잡한 게임 오브젝트나 게임 오브젝트 컬렉션을 런타임 시점에 인스턴스화하려는 경우에 매우 유용합니다. 코드를 사용하여 처음부터 게임 오브젝트를 만드는 것보다는 코드를 사용하여 프리팹을 인스턴스화하는 것이 다음과 같은 많은 이점이 있습니다.

  • 한 줄의 코드를 사용하여 프리팹을 인스턴스화합니다. 이에 상응하는 게임 오브젝트를 처음부터 만드는 데는 훨씬 많은 코드 줄이 필요합니다.
  • 씬 뷰, 계층 구조 및 인스펙터를 사용하여 프리팹을 빠르고 쉽게 설정하고 테스트하고 수정합니다.
  • 코드를 변경하지 않고도 인스턴스화할 프리팹을 변경합니다. 즉, 코드 변경 없이도 단순한 로켓을 초강력 로켓으로 바꿀 수 있습니다.
  • Enum은 정수로 저장됩니다. Enum의 수를 늘리거나 줄일 경우, 예를 들어 { A, B … }에서 { B … }로 변경할 경우, 기존에 있던 A값이 B로 변경됩니다.

Nested Prefab

네스티드 프리팹

다른 프리팹 내에 프리팹 인스턴스를 포함할 수 있습니다. 이를 네스티드 프리팹이라고 부릅니다. 네스티드 프리팹은 고유한 프리팹 에셋 링크를 보유하며 다른 프리팹 에셋의 일부를 형성합니다.

  • 프리팹 모드를 시작하지 않고도 다른 게임 오브젝트를 추가하는 방식과 동일하게 프리팹 인스턴스를 씬의 다른 프리팹 인스턴스에 자식으로 추가할 수도 있습니다.
  • 다른 프리팹 내에 프리팹을 중첩하여 여러 레벨에서 쉽게 편집할 수 있는 복잡한 계층의 오브젝트를 생성할 수도 있습니다.

Prefab Variants

프리팹 배리언트

프리팹 배리언트는 다른 프리팹(기본 프리팹이라고 불림)의 프로퍼티를 상속합니다. 프리팹 배리언트에 적용된 오버라이드는 기본 프리팹의 값보다 더 우선시됩니다. 프리팹 배리언트는 다른 프리팹(모델 프리팹, 기타 프리팹 배리언트 등)을 기본 프리팹으로 가질 수 있습니다.

Package

  • 패키지
    • 패키지를 내보낼 수 있으며, 당연하게 패키지를 불러올 수 있다.
  • Asset을 구매하면 Unity의 PackageManager에서 Asset을 볼 수 있습니다.
    • Reference Explorer

Unity Package and Feature Sets

패키지 에는 프로젝트의 다양한 요구 사항에 맞는 기능이 포함되어 있습니다 . 여기에는 에디터 설치 중에 포함된 핵심 Unity 기능이나 필요에 따라 설치할 수 있는 기타 패키지가 포함될 수 있습니다.

  • 패키지를 이용할때는 특히 버전을 신경써야합니다.
    • 이를 위해서 마지막 업데이트를 언제했는지 확인해야합니다.
    • 유니티의 프로젝트, 패키지등의 버전을 함부로 올리면 안됩니다. API가 달라져 오류에 고통받습니다.
  • Asset을 구매할 때, 시트란 개념이 있습니다. 이는 몇명이 애셋을 공유할 수 있는지를 나타냅니다.
XR Setting

VR Project Setup

XR Rig Simulator Keyboard Shortcuts

Device Simulator로 장면을 테스트할 수 있습니다 . 이 시뮬레이터를 사용하면 장치에 연결하고 착용할 필요 없이 마우스와 키보드를 사용하여 편집기 내에서 앱을 테스트할 수 있습니다. 이는 빠른 테스트에 도움이 될 수 있습니다.

Steam VR
  1. Steam VR을 설치합니다.
  2. 플레이할 씬에 [CameraRig]를 추가합니다.
Addressable asset

Addressables

Addressable 시스템은 런타임에 자산을 로드하고 릴리스하기 위한 API와 애플리케이션용 콘텐츠를 구성하고 패키징하는 도구와 스크립트를 제공합니다.

자산을 “주소 지정 가능”으로 만들면 해당 자산의 주소를 사용하여 어디에서나 로드할 수 있습니다. 해당 자산이 로컬 애플리케이션에 있든 콘텐츠 전송 네트워크에 있단 Addressable 시스템은 이를 찾아 반환합니다.