Unity/오늘 알아낸 것
타임라인으로 로고 씬 만들기
Potatopotatopotato
2023. 8. 3. 15:47
목소리 : 스파르타 내일배움캠프의 박종민 매니저님
타임라인을 배울 겸 간단한 로고씬을 만들어봤다
왼쪽 마우스 클릭을 누르면 스킵도 가능하게 하였다
스킵은 간단하게 마커를 이용하면 구현 할 수 있다
https://www.youtube.com/watch?v=oi4dxY0hIfw
마커 만드는 방법은 해당 동영상을 참고 하였다
using UnityEngine.Timeline;을 한 상태에서
Marker 클래스를 상속 받고 타임라인 GUI에서 오른쪽 마우스 클릭을 하면
상속 받은 해당 클래스의 이름이 뜨고 마커로 사용 할 수 있다
마커를 등록 한 뒤 Signal Track으로 markderIndex를 1씩 더해주기만 하면 스크립트로 제어하여 스킵 기능을 만들 수 있다
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
using System.Linq;
public class LogoManager : MonoBehaviour
{
PlayableDirector PD;
int markerIndex = 0;
private void Start()
{
PD = GetComponent<PlayableDirector>();
}
private void Update()
{
if(Input.GetKeyDown(KeyCode.Mouse0) == true)
{
var timelineAsset = PD.playableAsset as TimelineAsset;
var markers = timelineAsset.markerTrack.GetMarkers().ToArray();
if(markers.Length > markerIndex)
{
PD.Play();
PD.time = markers[markerIndex].time;
}
}
}
public void AddMarkerIndex()
{
markerIndex++;
}
}
해당 코드는 구글링으로 유니티 포럼에서 긁어왔다
타임라인은 강력하지만 아직 100% 활용을 하지 못하는것 같다
UI Toolkit에서도 사용 할 수 있는 예정이라고 하니(현재는 비공식 라이브러리로만 사용 가능) 다음은 UI Toolkit에서도 사용 해봐야겠다
아쉽게도 Dotween은 3년이 지난 지금 Timeline 소식이 없다..