유니티 타임라인 오류 - yuniti taimlain olyu

모바일에서 에셋번들로 게임 레벨 씬을 호출했을 때

지정된 Timeline의 Playable 에셋이 호출이 안되는 경우가 있는데

그 해결법을 공유합니다

<linker> <assembly fullname="UnityEngine.Timeline" preserve="all"/> <assembly fullname="UnityEngine"> <namespace fullname="UnityEngine.Playables" preserve="all"/> </assembly> </linker>

프로젝트 에셋 폴더 내에 link.xml이 있다면 해당 파일에 위의 코드를 추가해주면 됩니다

없다면 새로 생성해서 넣어줘도 되요

위 방법이 안된다면

맨 처음 로드되는 씬에 Dummy Object를 생성하고 SetActive(false) 상태로 만든 후

Playable Director를 Add Component를 붙여주시면 됩니다.

맨 처음 로드되는 씬에 붙이는 이유는

에셋번들을 사용할 때는 사용하지 않는 기능을 놓쳤을 때 

에셋번들을 호출하기 전의 씬에서 미리 호출하여 사용할 것임을 예측하게 하여

누락되지 않게하기 위함입니다.

타임라인 재생 컨트롤

타임라인 재생 컨트롤(Timeline Playback Controls)의 버튼과 필드를 사용하여 타임라인 인스턴스를 재생하고 타임라인 재생 헤드의 위치를 제어할 수 있습니다.

타임라인 재생 컨트롤

타임라인 시작 버튼

타임라인 시작 버튼을 클릭하거나 Shift 키를 누른 채로 쉼표(,) 키를 눌러 타임라인 재생 헤드를 타임라인 인스턴스의 시작 지점으로 이동합니다.

이전 프레임 버튼

이전 프레임 버튼을 클릭하거나 쉼표(,) 키를 눌러 타임라인 재생 헤드를 이전 프레임으로 이동합니다.

타임라인 재생 버튼

타임라인 재생 버튼을 클릭하거나 스페이스바를 눌러 타임라인 인스턴스를 타임라인 재생 모드에서 미리 볼 수 있습니다. 타임라인 재생 모드에서 다음 작업이 수행됩니다.

  • 타임라인 재생 헤드의 현재 위치에서 재생이 시작되어 타임라인 인스턴스 끝까지 재생됩니다. 재생 범위 버튼이 활성화되어 있다면 지정된 시간 범위까지만 재생됩니다.

  • 타임라인 재생 헤드의 위치가 타임라인 인스턴스를 따라 이동합니다. 타임라인 설정에 따라 재생 헤드 위치 필드에 타임라인 재생 헤드의 위치가 프레임이나 초로 표시됩니다.

  • 재생을 일시 중지하려면 타임라인 재생 버튼을 다시 클릭하거나 스페이스바를 누릅니다.

  • 타임라인 인스턴스 끝까지 재생되면 랩 모드 설정에 따라 재생을 대기하거나 재생을 반복하거나 아무 것도 하지 않습니다. 랩 모드 설정은 Playable Director 컴포넌트의 프로퍼티입니다.

타임라인 재생 모드에서는 타임라인 에디터 창에 있는 동안 타임라인 인스턴스를 미리 볼 수 있습니다. 타임라인 재생 모드는 오디오 재생을 지원하지 않는 게임 모드의 시뮬에이션입니다. 오디오를 들으면서 타임라인 인스턴스를 미리 보려면 Playback Director 컴포넌트의 Play on Awake 옵션을 활성화하고 재생 모드를 사용하여 게임 플레이의 미리보기를 실행해야 합니다.

다음 프레임 버튼

다음 프레임 버튼을 클릭하거나 마침표(.) 키를 눌러 타임라인 재생 헤드를 다음 프레임으로 이동합니다.

타임라인 종료 버튼

타임라인 종료 버튼을 클릭하거나 Shift 키를 누른 채로 마침표(.) 키를 눌러 타임라인 재생 헤드를 타임라인 끝으로 이동합니다.

재생 범위 버튼

재생 범위 버튼을 활성화하여 특정 초 또는 프레임으로 범위를 제한하여 재생할 수 있습니다. 타임라인에 재생 범위가 강조 표시되고 흰색 마커로 시작과 끝이 표시됩니다. 재생 범위를 수정하려면 두 마커 중 하나를 끌어서 움직입니다.

재생 범위 기능이 활성화되고 흰색 마커로 범위가 정의됩니다.

Playable Director 컴포넌트의 Wrap Mode 프로퍼티에 따라 종료 마커까지 재생된 후에 수행되는 작업이 결정됩니다.

타임라인 에디터 창에서 타임라인 인스턴스를 미리 볼 때에만 재생 범위를 설정할 수 있습니다. 재생 모드(Play mode)에서는 재생 범위가 무시됩니다.

재생 헤드 위치 필드와 타임라인 재생 헤드

타임라인 재생 헤드는 타임라인 에디터 창에서 미리보기로 표시되는 정확한 시점을 나타냅니다. 재생 헤드 위치 필드에는 타임라인 재생 헤드의 위치가 프레임 또는 초로 표시됩니다.

재생 헤드 위치 필드와 타임라인 재생 헤드

타임라인 재생 헤드를 특정 시간으로 바로 이동하려면 타임라인을 클릭합니다. 재생 헤드 위치 필드에 시간 값을 입력하고 Enter 키를 눌러도 됩니다. 값을 입력할 때 타임라인 설정에 따라 프레임이 초로 변환되거나 초가 프레임으로 변환됩니다. 예를 들어 타임라인이 초로 표시되고 프레임 속도가 초당 30프레임인 경우 재생 헤드 위치 필드에 180을 입력하면 180프레임이 초로 변환되고 타임라인 재생 헤드가 6:00으로 이동합니다.

타임라인 에디터 창에 사용되는 시간 포맷은 타임라인 설정에서 변경할 수 있습니다.

  • 2017–08–10 일부 편집 리뷰를 거쳐 페이지 게시됨

타임라인 에셋 및 타임라인 인스턴스 생성

타임라인 에셋을 씬에서 사용하려면 Playable Director 컴포넌트를 사용하여 타임라인 에셋을 게임 오브젝트에 연결해야 합니다. 타임라인 에셋을 Playable Director 컴포넌트와 연결하면 타임라인 인스턴스가 생성되고, 씬에서 타임라인 에셋을 통해 애니메이션화되는 오브젝트를 지정할 수 있습니다. 게임 오브젝트에는 Animator 컴포넌트도 있어야 합니다.

타임라인 에디터 창에서 새 타임라인 에셋을 생성하면 타임라인 인스턴스가 자동으로 생성됩니다. 모든 필요한 컴포넌트도 타임라인 에디터 창에서 생성됩니다.

새 타임라인 에셋과 타임라인 인스턴스를 생성하려면 다음 절차를 따르십시오.

  1. 씬에서 시네마틱 영상이나 기타 게임플레이 기반 시퀀스의 주요 부분으로 사용할 게임 오브젝트를 선택합니다.

  2. Timeline 에디터 창(메뉴: Window > Sequencing > Timeline)을 엽니다. 타임라인 에셋에 연결된 Playable Director 컴포넌트가 아직 게임 오브젝트에 없으면 Timeline 에디터 창에 Create 버튼을 클릭하라는 메시지가 표시됩니다.

타임라인 에셋이 아직 연결되지 않은 게임 오브젝트를 선택할 때 나타나는 타임라인 에디터 창
  1. Create 를 클릭합니다. 생성할 타임라인 에셋의 이름과 위치를 입력하라는 다이얼로그가 나타납니다. 타임라인 에셋을 식별하기 위해 태그를 지정할 수도 있습니다.

  2. Save 를 클릭합니다.

Unity에서 다음 작업이 수행됩니다.

  • 새 타임라인 에셋이 프로젝트에 저장됩니다. 생성할 타임라인 에셋의 이름과 위치를 변경하지 않았다면 선택된 게임 오브젝트의 이름 뒤에 “Timeline”를 추가한 이름이 타임라인 에셋의 이름으로 지정됩니다. 예를 들어 이름이 “Enemy”인 게임 오브젝트를 선택하면 에셋 이름은 기본적으로 “EnemyTimeline”으로 지정되고 에셋 파일은 프로젝트의 Assets 디렉터리에 저장됩니다.

  • 빈 애니메이션 트랙이 타임라인 에셋에 추가됩니다.

  • 선택된 게임 오브젝트에 Playable Director 컴포넌트가 추가되고 Playable 프로퍼티가 타임라인 에셋에 설정됩니다. 이렇게 해서 타임라인 인스턴스가 생성됩니다.

  • 애니메이션 트랙의 바인딩 정보가 선택된 게임 오브젝트의 Playable Director 컴포넌트에 설정됩니다. 애니메이션 트랙에 클립이 없으므로 선택된 게임 오브젝트는 애니메이션화되지 않습니다.

  • 선택된 게임 오브젝트에 Animator 컴포넌트가 추가됩니다. Animator 컴포넌트는 타임라인 인스턴스를 통해 게임 오브젝트를 애니메이션화합니다. Animator 컴포넌트 없이는 게임 오브젝트를 애니메이션화할 수 없습니다.

  • 2017–08–10 일부 편집 리뷰를 거쳐 페이지 게시됨

Toplist

최신 우편물

태그